public abstract class _IContainerDisp extends Ice.ObjectImpl implements IContainer
The names of the methods correlate to how the function operates:
The options are used to add some constraints to the generic method e.g. load hierarchy trees images for a given user. This mechanism should give us enough flexibility to extend the API if necessary, e.g. in some cases we might want to retrieve the images with or without annotations
 Most methods take such an options map which is built
 on the client-side using the Parameters class. The
 currently supported options are:
 
As outlined in TODO, the semantics of the Omero write API are based on three rules:
isLoaded() returns
 false are assumed filteredgetDetails().isFiltered(String collectionName) returns
 true are assumed filtered. TODO: should we accept isFiltered for
 all fields?
 For all write calls, the options map (see below) must contain the userId and the userGroupId for the newly created objects. TODO umask.
| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String[] | 
__ids  | 
static long | 
serialVersionUID  | 
ice_staticId| Constructor and Description | 
|---|
_IContainerDisp()  | 
| Modifier and Type | Method and Description | 
|---|---|
static Ice.DispatchStatus | 
___createDataObject(IContainer __obj,
                   IceInternal.Incoming __inS,
                   Ice.Current __current)  | 
static Ice.DispatchStatus | 
___createDataObjects(IContainer __obj,
                    IceInternal.Incoming __inS,
                    Ice.Current __current)  | 
static Ice.DispatchStatus | 
___findContainerHierarchies(IContainer __obj,
                           IceInternal.Incoming __inS,
                           Ice.Current __current)  | 
static Ice.DispatchStatus | 
___getCollectionCount(IContainer __obj,
                     IceInternal.Incoming __inS,
                     Ice.Current __current)  | 
static Ice.DispatchStatus | 
___getImages(IContainer __obj,
            IceInternal.Incoming __inS,
            Ice.Current __current)  | 
static Ice.DispatchStatus | 
___getImagesByOptions(IContainer __obj,
                     IceInternal.Incoming __inS,
                     Ice.Current __current)  | 
static Ice.DispatchStatus | 
___getImagesBySplitFilesets(IContainer __obj,
                           IceInternal.Incoming __inS,
                           Ice.Current __current)  | 
static Ice.DispatchStatus | 
___getUserImages(IContainer __obj,
                IceInternal.Incoming __inS,
                Ice.Current __current)  | 
static Ice.DispatchStatus | 
___link(IContainer __obj,
       IceInternal.Incoming __inS,
       Ice.Current __current)  | 
static Ice.DispatchStatus | 
___loadContainerHierarchy(IContainer __obj,
                         IceInternal.Incoming __inS,
                         Ice.Current __current)  | 
static Ice.DispatchStatus | 
___retrieveCollection(IContainer __obj,
                     IceInternal.Incoming __inS,
                     Ice.Current __current)  | 
static Ice.DispatchStatus | 
___unlink(IContainer __obj,
         IceInternal.Incoming __inS,
         Ice.Current __current)  | 
static Ice.DispatchStatus | 
___updateDataObject(IContainer __obj,
                   IceInternal.Incoming __inS,
                   Ice.Current __current)  | 
static Ice.DispatchStatus | 
___updateDataObjects(IContainer __obj,
                    IceInternal.Incoming __inS,
                    Ice.Current __current)  | 
Ice.DispatchStatus | 
__dispatch(IceInternal.Incoming in,
          Ice.Current __current)  | 
protected void | 
__readImpl(IceInternal.BasicStream __is)  | 
protected void | 
__writeImpl(IceInternal.BasicStream __os)  | 
void | 
createDataObject_async(AMD_IContainer_createDataObject __cb,
                      IObject obj,
                      Parameters options)
Creates the specified data object. 
 | 
void | 
createDataObjects_async(AMD_IContainer_createDataObjects __cb,
                       java.util.List<IObject> dataObjects,
                       Parameters options)
Convenience method to save network calls. 
 | 
void | 
findContainerHierarchies_async(AMD_IContainer_findContainerHierarchies __cb,
                              java.lang.String rootType,
                              java.util.List<java.lang.Long> imageIds,
                              Parameters options)
Retrieves hierarchy trees in various hierarchies that
 contain the specified Images. 
 | 
void | 
getCollectionCount_async(AMD_IContainer_getCollectionCount __cb,
                        java.lang.String type,
                        java.lang.String property,
                        java.util.List<java.lang.Long> ids,
                        Parameters options)
Counts the number of members in a collection for a given
 object. 
 | 
void | 
getImages_async(AMD_IContainer_getImages __cb,
               java.lang.String rootType,
               java.util.List<java.lang.Long> rootIds,
               Parameters options)
Retrieve a user's (or all users') images within any given
 container. 
 | 
void | 
getImagesByOptions_async(AMD_IContainer_getImagesByOptions __cb,
                        Parameters options)
Retrieves images by options. 
 | 
void | 
getImagesBySplitFilesets_async(AMD_IContainer_getImagesBySplitFilesets __cb,
                              java.util.Map<java.lang.String,java.util.List<java.lang.Long>> included,
                              Parameters options)
Given a list of IDs of certain entity types, calculates
 which filesets are split such that a non-empty proper
 subset of their images are referenced, directly or
 indirectly, as being included. 
 | 
void | 
getUserImages_async(AMD_IContainer_getUserImages __cb,
                   Parameters options)
Retrieves a user's images. 
 | 
protected void | 
ice_copyStateFrom(Ice.Object __obj)  | 
java.lang.String | 
ice_id()  | 
java.lang.String | 
ice_id(Ice.Current __current)  | 
java.lang.String[] | 
ice_ids()  | 
java.lang.String[] | 
ice_ids(Ice.Current __current)  | 
boolean | 
ice_isA(java.lang.String s)  | 
boolean | 
ice_isA(java.lang.String s,
       Ice.Current __current)  | 
static java.lang.String | 
ice_staticId()  | 
void | 
link_async(AMD_IContainer_link __cb,
          java.util.List<IObject> links,
          Parameters options)
Convenience method for creating links. 
 | 
void | 
loadContainerHierarchy_async(AMD_IContainer_loadContainerHierarchy __cb,
                            java.lang.String rootType,
                            java.util.List<java.lang.Long> rootIds,
                            Parameters options)
Retrieves hierarchy trees rooted by a given node (unless
 orphan is specified -- See below) 
 | 
void | 
retrieveCollection_async(AMD_IContainer_retrieveCollection __cb,
                        IObject obj,
                        java.lang.String collectionName,
                        Parameters options)
Retrieves a collection with all members initialized
 (loaded). 
 | 
void | 
unlink_async(AMD_IContainer_unlink __cb,
            java.util.List<IObject> links,
            Parameters options)
Removes links between OmeroDataObjects e.g Project-Dataset,
 Dataset-Image
 Note that the objects themselves aren't deleted, only the
 Link objects. 
 | 
void | 
updateDataObject_async(AMD_IContainer_updateDataObject __cb,
                      IObject obj,
                      Parameters options)
Updates a data object. 
 | 
void | 
updateDataObjects_async(AMD_IContainer_updateDataObjects __cb,
                       java.util.List<IObject> objs,
                       Parameters options)
Convenience method to save network calls. 
 | 
___ice_id, ___ice_ids, ___ice_isA, ___ice_ping, __checkMode, __read, __read, __readImpl, __write, __write, __writeImpl, clone, ice_dispatch, ice_dispatch, ice_operationAttributes, ice_ping, ice_ping, ice_postUnmarshal, ice_preMarshalequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateDataObject_async, createDataObjects_async, findContainerHierarchies_async, getCollectionCount_async, getImages_async, getImagesByOptions_async, getImagesBySplitFilesets_async, getUserImages_async, link_async, loadContainerHierarchy_async, retrieveCollection_async, unlink_async, updateDataObject_async, updateDataObjects_asyncpublic static final java.lang.String[] __ids
public static final long serialVersionUID
protected void ice_copyStateFrom(Ice.Object __obj)
                          throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedExceptionpublic boolean ice_isA(java.lang.String s)
ice_isA in interface Ice.Objectice_isA in class Ice.ObjectImplpublic boolean ice_isA(java.lang.String s,
                       Ice.Current __current)
ice_isA in interface Ice.Objectice_isA in class Ice.ObjectImplpublic java.lang.String[] ice_ids()
ice_ids in interface Ice.Objectice_ids in class Ice.ObjectImplpublic java.lang.String[] ice_ids(Ice.Current __current)
ice_ids in interface Ice.Objectice_ids in class Ice.ObjectImplpublic java.lang.String ice_id()
ice_id in interface Ice.Objectice_id in class Ice.ObjectImplpublic java.lang.String ice_id(Ice.Current __current)
ice_id in interface Ice.Objectice_id in class Ice.ObjectImplpublic static java.lang.String ice_staticId()
public final void createDataObject_async(AMD_IContainer_createDataObject __cb, IObject obj, Parameters options) throws ServerError
A placeholder parent object is created if the data object is to be put in a collection.
 For example, if the object is a Dataset, we
 first create a Project as parent then we set
 the Dataset parent as follows: 
 //pseudo-code TODO
 Project p = new Project(id,false);
 dataset.addProject(p);
 
 then for each parent relationship a DataObject
 ILink is created.
createDataObject_async in interface _IContainerOperationsNC__cb - The callback object for the operation.obj - IObject. Supported: Project, Dataset,
 Annotation, Group, Experimenter. Not null.options - Parameters as above.ServerErrorpublic final void createDataObjects_async(AMD_IContainer_createDataObjects __cb, java.util.List<IObject> dataObjects, Parameters options) throws ServerError
createDataObject.createDataObjects_async in interface _IContainerOperationsNC__cb - The callback object for the operation.dataObjects - Array of Omero IObjectsoptions - Parameters as above.ServerErrorpublic final void findContainerHierarchies_async(AMD_IContainer_findContainerHierarchies __cb, java.lang.String rootType, java.util.List<java.lang.Long> imageIds, Parameters options) throws ServerError
This method will look for all the containers containing the specified Images and then for all containers containing those containers and on up the container hierarchy.
 This method returns a Set with all root nodes
 that were
 found. Every root node is linked to the found objects and
 so on until the leaf nodes, which are
 Image objects. Note that the type of any
 root node in the returned set can be the given
 rootNodeType, any of its containees or an
 Image.
 
 For example, say that you pass in the ids of six Images:
 i1, i2, i3, i4, i5, i6.
 If the P/D/I hierarchy in the DB looks like this:
 
| __p1__ | / \ | _d1_ _d2_ d3 | / \ / \ | | i1 i2 i3 i4 i5 i6
 Then the returned set will contain
 p1, d3, i5, i6. All objects will be properly
 linked up.
 
 Finally, this method will only retrieve the nodes
 that are connected in a tree to the specified leaf image
 nodes. Back to the previous example, if d1
 contained image img500, then the returned
 object would not contain img500. In a
 similar way, if p1 contained
 ds300 and this dataset weren't linked to any of
 the i1, i2, i3, i4, i5, i6  images, then
 ds300 would not be part of the returned
 tree rooted by p1.
 
findContainerHierarchies_async in interface _IContainerOperationsNC__cb - The callback object for the operation.rootType - top-most type which will be searched for Can be
 Project. Not null.imageIds - Contains the ids of the Images that sit at the
 bottom of the trees. Not null.options - Parameters as above. annotator used.
 experimenter|group may be applied
 at the top-level only or at each level in the
 hierarchy, but will not apply to the leaf
 (Image) level.ServerErrorpublic final void getCollectionCount_async(AMD_IContainer_getCollectionCount __cb, java.lang.String type, java.lang.String property, java.util.List<java.lang.Long> ids, Parameters options) throws ServerError
getCollectionCount_async in interface _IContainerOperationsNC__cb - The callback object for the operation.type - The fully-qualified classname of the object to
 be testedproperty - Name of the property on that class, omitting
 getters and setters.ids - Set of Longs, the ids of the objects to testoptions - Parameters. Unused.ServerErrorpublic final void getImages_async(AMD_IContainer_getImages __cb, java.lang.String rootType, java.util.List<java.lang.Long> rootIds, Parameters options) throws ServerError
getImages_async in interface _IContainerOperationsNC__cb - The callback object for the operation.rootType - A Class which will have its hierarchy searched
 for Images. Not null.rootIds - A set of ids of type rootNodeType
 Not null.options - Parameters as above. No notion of
 leaves.
 experimenter|group apply at the
 Image level.
 OPTIONS: - startTime and/or endTime should be
 Timestamp.valueOf("YYYY-MM-DD hh:mm:ss.ms");
 
 limit and offset are
 applied at the Image-level. That is, calling
 with Dataset.class, limit == 10 and offset == 0
 will first perform one query to get an effective
 set of rootNodeIds, then getImages will be
 called with an effective rootNodeType of
 Image.class and the new ids.
 
acquisition data is only relevant
 for images.ServerErrorpublic final void getImagesByOptions_async(AMD_IContainer_getImagesByOptions __cb, Parameters options) throws ServerError
getImagesByOptions_async in interface _IContainerOperationsNC__cb - The callback object for the operation.options - Parameters as above. No notion of
 leaves.
 experimenter|group apply at the
 Image level and must be present.
 OPTIONS:
 - startTime and/or endTime should be
 Timestamp.valueOf("YYYY-MM-DD hh:mm:ss.ms").
 acquisition data is only relevant
 for images.ServerErrorpublic final void getImagesBySplitFilesets_async(AMD_IContainer_getImagesBySplitFilesets __cb, java.util.Map<java.lang.String,java.util.List<java.lang.Long>> included, Parameters options) throws ServerError
getImagesBySplitFilesets_async in interface _IContainerOperationsNC__cb - The callback object for the operation.included - the entities includedServerErrorpublic final void getUserImages_async(AMD_IContainer_getUserImages __cb, Parameters options) throws ServerError
getUserImages_async in interface _IContainerOperationsNC__cb - The callback object for the operation.options - Parameters as above. No notion of
 leaves.
 experimenter|group apply at the
 Image level and must be present.ServerErrorpublic final void link_async(AMD_IContainer_link __cb, java.util.List<IObject> links, Parameters options) throws ServerError
createDataObjectlink_async in interface _IContainerOperationsNC__cb - The callback object for the operation.links - Array of links to be created.ServerErrorpublic final void loadContainerHierarchy_async(AMD_IContainer_loadContainerHierarchy __cb, java.lang.String rootType, java.util.List<java.lang.Long> rootIds, Parameters options) throws ServerError
This method also retrieves the Experimenters linked to the objects in the tree. Similarly, all Images will be linked to their Pixel objects if included.
 Note that objects are never duplicated. For example, if an
 Experimenter owns all the objects in the retrieved tree,
 then those objects will be linked to the same
 instance of Experimenter. Or if an
 Image is contained in more than one Dataset in the
 retrieved tree, then all enclosing
 Dataset objects will point
 to the same Image object. And
 so on.
 
loadContainerHierarchy_async in interface _IContainerOperationsNC__cb - The callback object for the operation.rootType - The type of the root node. Can be
 Project,
 Dataset,
 Screen or
 Plate.
 Cannot be null.rootIds - The ids of the root nodes. Can be null if an
 Experimenter is specified in
 options, otherwise an Exception
 is thrown to prevent all images in the entire
 database from being downloaded.options - Parameters as above. annotator,
 leaves, orphan,
 acquisition data used.
 acquisition data is only relevant
 for images and taken into account if the images
 are loaded.
 If rootNodeIds==null,
 experimenter|group must be set and
 filtering will be applied at the
 Class-level; e.g. to retrieve a user's
 Projects, or user's Datasets. If
 rootNodeIds!=null, the result will
 be filtered by the
 experimenter|group at the
 Image and intermediate levels
 if available.
 Due to the amount of data potentially linked a
 Screen/Plate, the leaves option is
 not taken into account when the root node is a
 Screen.
 orphan implies that objects which
 are not contained in an object of rootNodeType
 should also be returned.ServerErrorpublic final void retrieveCollection_async(AMD_IContainer_retrieveCollection __cb, IObject obj, java.lang.String collectionName, Parameters options) throws ServerError
retrieveCollection_async in interface _IContainerOperationsNC__cb - The callback object for the operation.obj - Can be unloaded.options - Parameters. Unused.ServerErrorpublic final void unlink_async(AMD_IContainer_unlink __cb, java.util.List<IObject> links, Parameters options) throws ServerError
unlink_async in interface _IContainerOperationsNC__cb - The callback object for the operation.links - Not null.ServerErrorpublic final void updateDataObject_async(AMD_IContainer_updateDataObject __cb, IObject obj, Parameters options) throws ServerError
 To link or unlink objects to the specified object, we
 should call the methods link or unlink. TODO Or do we use
 for example dataset.setProjects(set of projects) to add.
 Link has to be set as follows dataset→project and
 project→dataset.
 
 Alternatively, you can make sure that the collection is
 exactly how it should be in the database. If you
 can't guarantee this, it's best to send all your
 collections back as null
updateDataObject_async in interface _IContainerOperationsNC__cb - The callback object for the operation.obj - Pojos-based IObject. Supported: Project,
 Dataset, Annotation, Group, Experimenter.options - Parameters as above.ServerErrorpublic final void updateDataObjects_async(AMD_IContainer_updateDataObjects __cb, java.util.List<IObject> objs, Parameters options) throws ServerError
updateDataObject.updateDataObjects_async in interface _IContainerOperationsNC__cb - The callback object for the operation.objs - ServerErrorpublic static Ice.DispatchStatus ___loadContainerHierarchy(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___findContainerHierarchies(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___getImages(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___getUserImages(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___getImagesByOptions(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___getImagesBySplitFilesets(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___getCollectionCount(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___retrieveCollection(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___createDataObject(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___createDataObjects(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___unlink(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___link(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___updateDataObject(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public static Ice.DispatchStatus ___updateDataObjects(IContainer __obj, IceInternal.Incoming __inS, Ice.Current __current)
public Ice.DispatchStatus __dispatch(IceInternal.Incoming in,
                                     Ice.Current __current)
__dispatch in interface Ice.Object__dispatch in class Ice.ObjectImplprotected void __writeImpl(IceInternal.BasicStream __os)
__writeImpl in class Ice.ObjectImplprotected void __readImpl(IceInternal.BasicStream __is)
__readImpl in class Ice.ObjectImpl