Package omero.api
Interface _IQueryOperations
-
- All Superinterfaces:
_ServiceInterfaceOperations
- All Known Subinterfaces:
IQuery
- All Known Implementing Classes:
_IQueryDisp
,_IQueryTie
,QueryI
public interface _IQueryOperations extends _ServiceInterfaceOperations
Provides methods for directly querying object graphs. As far as is possible, IQuery should be considered the lowest level DB-access (SELECT) interface. Unlike theIUpdate
interface, using other methods will most likely not leave the database in an inconsistent state, but may provide stale data in some situations. By convention, all methods that begin withget
will never return a null or emptyCollection
, but instead will throw aValidationException
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
find_async(AMD_IQuery_find __cb, java.lang.String klass, long id, Ice.Current __current)
Looks up an entity by class and id.void
findAll_async(AMD_IQuery_findAll __cb, java.lang.String klass, Filter filter, Ice.Current __current)
Looks up all entities that belong to this class and match filter.void
findAllByExample_async(AMD_IQuery_findAllByExample __cb, IObject example, Filter filter, Ice.Current __current)
Searches based on provided example entity.void
findAllByFullText_async(AMD_IQuery_findAllByFullText __cb, java.lang.String klass, java.lang.String query, Parameters params, Ice.Current __current)
Executes a full text search based on Lucene.void
findAllByQuery_async(AMD_IQuery_findAllByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current)
Executes the stored query with the given name.void
findAllByString_async(AMD_IQuery_findAllByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, boolean caseSensitive, Filter filter, Ice.Current __current)
Searches a given field matching against a String.void
findByExample_async(AMD_IQuery_findByExample __cb, IObject example, Ice.Current __current)
Searches based on provided example entity.void
findByQuery_async(AMD_IQuery_findByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current)
Executes the stored query with the given name.void
findByString_async(AMD_IQuery_findByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, Ice.Current __current)
Searches a given field matching against a String.void
get_async(AMD_IQuery_get __cb, java.lang.String klass, long id, Ice.Current __current)
Looks up an entity by class and id.void
projection_async(AMD_IQuery_projection __cb, java.lang.String query, Parameters params, Ice.Current __current)
Return a sequence ofRType
sequences.void
refresh_async(AMD_IQuery_refresh __cb, IObject iObject, Ice.Current __current)
Refreshes an entireIObject
graph, recursive loading all data for the managed instances in the graph from the database.
-
-
-
Method Detail
-
get_async
void get_async(AMD_IQuery_get __cb, java.lang.String klass, long id, Ice.Current __current) throws ServerError
Looks up an entity by class and id. If no such object exists, an exception will be thrown.- Parameters:
__cb
- The callback object for the operation.klass
- the type of the entity. Not null.__current
- The Current object for the invocation.- Throws:
ValidationException
- if the id doesn't exist.ServerError
-
find_async
void find_async(AMD_IQuery_find __cb, java.lang.String klass, long id, Ice.Current __current) throws ServerError
Looks up an entity by class and id. If no such objects exists, return anull
.- Parameters:
__cb
- The callback object for the operation.klass
- klass the type of the entity. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findAll_async
void findAll_async(AMD_IQuery_findAll __cb, java.lang.String klass, Filter filter, Ice.Current __current) throws ServerError
Looks up all entities that belong to this class and match filter.- Parameters:
__cb
- The callback object for the operation.klass
- entity type to be searched. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findByExample_async
void findByExample_async(AMD_IQuery_findByExample __cb, IObject example, Ice.Current __current) throws ServerError
Searches based on provided example entity. The example entity should uniquely specify the entity or an exception will be thrown. Note: findByExample does not operate on theid
field. For that, usefind
,get
,findByQuery
, orfindAllByQuery
.- Parameters:
__cb
- The callback object for the operation.example
- Non-null example object.__current
- The Current object for the invocation.- Throws:
ApiUsageException
- if more than one result is return.ServerError
-
findAllByExample_async
void findAllByExample_async(AMD_IQuery_findAllByExample __cb, IObject example, Filter filter, Ice.Current __current) throws ServerError
Searches based on provided example entity. The returned entities will be limited by theFilter
object. Note: findAllbyExample does not operate on theid
field. For that, usefind
,get
,findByQuery
, orfindAllByQuery
.- Parameters:
__cb
- The callback object for the operation.example
- Non-null example object.__current
- The Current object for the invocation.- Throws:
ServerError
-
findByString_async
void findByString_async(AMD_IQuery_findByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, Ice.Current __current) throws ServerError
Searches a given field matching against a String. Method does not allow for case sensitive or insensitive searching since this is essentially a lookup. The existence of more than one result will result in an exception.- Parameters:
__cb
- The callback object for the operation.klass
- type of entity to be searchedvalue
- String used for search.__current
- The Current object for the invocation.- Throws:
ome.conditions.ApiUsageException
- if more than one result.ServerError
-
findAllByString_async
void findAllByString_async(AMD_IQuery_findAllByString __cb, java.lang.String klass, java.lang.String field, java.lang.String value, boolean caseSensitive, Filter filter, Ice.Current __current) throws ServerError
Searches a given field matching against a String. Method allows for case sensitive or insensitive searching using the (I)LIKE comparators. Result set will be reduced by theFilter
instance.- Parameters:
__cb
- The callback object for the operation.klass
- type of entity to be searched. Not null.value
- String used for search. Not null.filter
- filters the result set. Can be null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findByQuery_async
void findByQuery_async(AMD_IQuery_findByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown. The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions.- Parameters:
__cb
- The callback object for the operation.query
- Query to execute__current
- The Current object for the invocation.- Throws:
ValidationException
ServerError
-
findAllByQuery_async
void findAllByQuery_async(AMD_IQuery_findAllByQuery __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Executes the stored query with the given name. If a query with the name cannot be found, an exception will be thrown. The queryName parameter can be an actual query String if the StringQuerySource is configured on the server and the user running the query has proper permissions. Queries can only return lists ofIObject
instances. This means all must be of the form:select this from SomeModelClass this ...
though the alias this is unimportant. Do not try to return multiple classes in one call like:select this, that from SomeClass this, SomeOtherClass that ...
nor to project values out of an object:select this.name from SomeClass this ...
If a page is desired, add it to the query parameters.- Parameters:
__cb
- The callback object for the operation.query
- Query to execute. Not null.__current
- The Current object for the invocation.- Throws:
ServerError
-
findAllByFullText_async
void findAllByFullText_async(AMD_IQuery_findAllByFullText __cb, java.lang.String klass, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Executes a full text search based on Lucene. Each term in the query can also be prefixed by the name of the field to which is should be restricted. Examples:- owner:root AND annotation:someTag
- file:xml AND name:*hoechst*
- Parameters:
__cb
- The callback object for the operation.klass
- A non-null class specification of which type should be searched.query
- A non-null query string. An empty string will return no results.params
- Currently the parameters themselves are unused. But theParameters.theFilter
can be used to limit the number of results returned (Filter.limit
) or the user for who the results will be found (Filter.ownerId
).__current
- The Current object for the invocation.- Throws:
ServerError
-
projection_async
void projection_async(AMD_IQuery_projection __cb, java.lang.String query, Parameters params, Ice.Current __current) throws ServerError
Return a sequence ofRType
sequences.Each element of the outer sequence is one row in the return value. Each element of the inner sequence is one column specified in the HQL.
IObject
instances are returned wrapped in anRObject
instance. Primitives are mapped to the expectedRType
subclass. Types without anRType
mapper if returned will throw an exception if present in the select except where a manual conversion is present on the server. This includes:-
Permissions
instances are serialized to anRMap
containing the keys: perms, canAnnotate, canEdit, canLink, canDelete, canChgrp, canChown -
The quantity types like
Length
are serialized to anRMap
containing the keys: value, unit, symbol
As with SQL, if an aggregation statement is used, a group by clause must be added.
Examples:
select i.name, i.description from Image i where i.name like '%.dv' select tag.textValue, tagset.textValue from TagAnnotation tag join tag.annotationLinks l join l.child tagset select p.pixelsType.value, count(p.id) from Pixel p group by p.pixelsType.value
- Parameters:
__cb
- The callback object for the operation.__current
- The Current object for the invocation.- Throws:
ServerError
-
-
refresh_async
void refresh_async(AMD_IQuery_refresh __cb, IObject iObject, Ice.Current __current) throws ServerError
Refreshes an entireIObject
graph, recursive loading all data for the managed instances in the graph from the database. If any non-managed entities are detected (e.g. without ids), anApiUsageException
will be thrown.- Parameters:
__cb
- The callback object for the operation.iObject
- Non-null managedIObject
graph which should have all values re-assigned from the database__current
- The Current object for the invocation.- Throws:
ApiUsageException
- if any non-managed entities are found.ServerError
-
-