Interface IObjectContainerStore

  • All Known Implementing Classes:
    OMEROMetadataStoreClient

    public interface IObjectContainerStore
    An object that handles the storage and manipulation of IObject containers and their references. This interface is generally used in tandem with the Bio-Formats defined MetadataStore.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addReference​(ome.util.LSID source, ome.util.LSID target)
      Adds a reference to the reference cache.
      int countCachedContainers​(java.lang.Class<? extends IObject> klass, int... indexes)
      Counts the number of containers the MetadataStore has of a given class and at a given index of the hierarchy if specified.
      int countCachedReferences​(java.lang.Class<? extends IObject> source, java.lang.Class<? extends IObject> target)
      Counts the number of references the MetadataStore has between objects of two classes.
      java.util.Map<java.lang.Class<? extends IObject>,​java.util.Map<java.lang.String,​IObjectContainer>> getAuthoritativeContainerCache()
      Returns the current authoritative LSID container cache.
      java.util.Map<ome.util.LSID,​IObjectContainer> getContainerCache()
      Returns the current container cache.
      IObjectContainer getIObjectContainer​(java.lang.Class<? extends IObject> klass, java.util.LinkedHashMap<Index,​java.lang.Integer> indexes)
      Retrieves an IObject container for a given class and location within the OME-XML data model.
      java.util.List<IObjectContainer> getIObjectContainers​(java.lang.Class<? extends IObject> klass)
      Retrieves all IObject containers of a given class.
      loci.formats.IFormatReader getReader()
      Returns the current Bio-Formats reader that has been used to populate the container store.
      java.util.Map<ome.util.LSID,​java.util.List<ome.util.LSID>> getReferenceCache()
      Returns the current reference cache.
      java.util.Map<java.lang.String,​java.lang.String[]> getReferenceStringCache()
      Returns the current string based reference cache.
      IObject getSourceObject​(ome.util.LSID LSID)
      Retrieves an OMERO Blitz source object for a given LSID.
      <T extends IObject>
      java.util.List<T>
      getSourceObjects​(java.lang.Class<T> klass)
      Retrieves all OMERO Blitz source objects of a given class.
      java.util.List<Annotation> getUserSpecifiedAnnotations()
      Returns the user specified annotations.
      java.lang.String getUserSpecifiedDescription()
      Returns the user specified image/plate description.
      java.lang.String getUserSpecifiedName()
      Returns the user specified image/plate name.
      java.lang.Double[] getUserSpecifiedPhysicalPixelSizes()
      Returns the user specified physical pixel sizes.
      IObject getUserSpecifiedTarget()
      Returns the user-specified linkage target (usually a Dataset for Images) and a Screen for Plates).
      boolean hasReference​(ome.util.LSID source, ome.util.LSID target)
      Checks to see if there is currently an active reference for two LSIDs.
      void removeIObjectContainer​(ome.util.LSID lsid)
      Removes an IObject container from within the OME-XML data model store.
      void setReader​(loci.formats.IFormatReader reader)
      Sets the Bio-Formats reader that will be used to populate the container store.
      void setReferenceStringCache​(java.util.Map<java.lang.String,​java.lang.String[]> referenceStringCache)
      Sets the string based reference cache for this container store.
      void setUserSpecifiedAnnotations​(java.util.List<Annotation> annotations)
      Sets the user specified image annotations.
      void setUserSpecifiedDescription​(java.lang.String description)
      Sets the user specified image/plate description.
      void setUserSpecifiedName​(java.lang.String name)
      Sets the user specified image/plate name.
      void setUserSpecifiedPhysicalPixelSizes​(java.lang.Double physicalSizeX, java.lang.Double physicalSizeY, java.lang.Double physicalSizeZ)
      Sets the user specified physical pixel sizes.
      void setUserSpecifiedTarget​(IObject target)
      Sets the user-specified linkage target (usually a Dataset for Images) and a Screen for Plates).
    • Method Detail

      • getReader

        loci.formats.IFormatReader getReader()
        Returns the current Bio-Formats reader that has been used to populate the container store.
        Returns:
        See above.
      • setReader

        void setReader​(loci.formats.IFormatReader reader)
        Sets the Bio-Formats reader that will be used to populate the container store.
        Parameters:
        reader - Bio-Formats reader.
      • getUserSpecifiedAnnotations

        java.util.List<Annotation> getUserSpecifiedAnnotations()
        Returns the user specified annotations.
        Returns:
        See above.
      • setUserSpecifiedAnnotations

        void setUserSpecifiedAnnotations​(java.util.List<Annotation> annotations)
        Sets the user specified image annotations.
        Parameters:
        annotations - user specified annotations
      • getUserSpecifiedName

        java.lang.String getUserSpecifiedName()
        Returns the user specified image/plate name.
        Returns:
        See above.
      • setUserSpecifiedName

        void setUserSpecifiedName​(java.lang.String name)
        Sets the user specified image/plate name.
        Parameters:
        name - user specified image/plate name
      • getUserSpecifiedDescription

        java.lang.String getUserSpecifiedDescription()
        Returns the user specified image/plate description.
        Returns:
        See above.
      • setUserSpecifiedDescription

        void setUserSpecifiedDescription​(java.lang.String description)
        Sets the user specified image/plate description.
        Parameters:
        description - user-specified image/plate description
      • getUserSpecifiedTarget

        IObject getUserSpecifiedTarget()
        Returns the user-specified linkage target (usually a Dataset for Images) and a Screen for Plates).
        Returns:
        See above.
      • setUserSpecifiedTarget

        void setUserSpecifiedTarget​(IObject target)
        Sets the user-specified linkage target (usually a Dataset for Images) and a Screen for Plates).
        Parameters:
        target - user-specified linkage target
      • getUserSpecifiedPhysicalPixelSizes

        java.lang.Double[] getUserSpecifiedPhysicalPixelSizes()
        Returns the user specified physical pixel sizes.
        Returns:
        An array of double[] { physicalSizeX, physicalSizeY, physicalSizeZ } as specified by the user. A value of null for any one index states the user has not made a choice for the size of that particular dimension.
      • setUserSpecifiedPhysicalPixelSizes

        void setUserSpecifiedPhysicalPixelSizes​(java.lang.Double physicalSizeX,
                                                java.lang.Double physicalSizeY,
                                                java.lang.Double physicalSizeZ)
        Sets the user specified physical pixel sizes. A value of null states the original file physical size for that dimension should be used.
        Parameters:
        physicalSizeX - Physical pixel size width.
        physicalSizeY - Physical pixel height.
        physicalSizeZ - Physical pixel depth.
      • getAuthoritativeContainerCache

        java.util.Map<java.lang.Class<? extends IObject>,​java.util.Map<java.lang.String,​IObjectContainer>> getAuthoritativeContainerCache()
        Returns the current authoritative LSID container cache. This container cache records the explicitly set LSID to container references.
        Returns:
        See above.
      • getContainerCache

        java.util.Map<ome.util.LSID,​IObjectContainer> getContainerCache()
        Returns the current container cache.
        Returns:
        See above.
      • getReferenceCache

        java.util.Map<ome.util.LSID,​java.util.List<ome.util.LSID>> getReferenceCache()
        Returns the current reference cache.
        Returns:
        See above.
      • addReference

        void addReference​(ome.util.LSID source,
                          ome.util.LSID target)
        Adds a reference to the reference cache.
        Parameters:
        source - Source LSID to add.
        target - Target LSID to add.
      • getReferenceStringCache

        java.util.Map<java.lang.String,​java.lang.String[]> getReferenceStringCache()
        Returns the current string based reference cache. This is usually populated by a ReferenceProcessor instance.
        Returns:
        See above.
      • setReferenceStringCache

        void setReferenceStringCache​(java.util.Map<java.lang.String,​java.lang.String[]> referenceStringCache)
        Sets the string based reference cache for this container store. This is usually called by a ReferenceProcessor instance.
        Parameters:
        referenceStringCache - String based reference cache to use.
      • getSourceObject

        IObject getSourceObject​(ome.util.LSID LSID)
        Retrieves an OMERO Blitz source object for a given LSID.
        Parameters:
        LSID - LSID to retrieve a source object for.
        Returns:
        See above.
      • getSourceObjects

        <T extends IObject> java.util.List<T> getSourceObjects​(java.lang.Class<T> klass)
        Retrieves all OMERO Blitz source objects of a given class.
        Parameters:
        klass - Class to retrieve source objects for.
        Returns:
        See above.
      • getIObjectContainer

        IObjectContainer getIObjectContainer​(java.lang.Class<? extends IObject> klass,
                                             java.util.LinkedHashMap<Index,​java.lang.Integer> indexes)
        Retrieves an IObject container for a given class and location within the OME-XML data model. NOTE: The container will be created if it does not already exist.
        Parameters:
        klass - Class to retrieve a container for.
        indexes - Indexes into the OME-XML data model.
        Returns:
        See above.
      • removeIObjectContainer

        void removeIObjectContainer​(ome.util.LSID lsid)
        Removes an IObject container from within the OME-XML data model store.
        Parameters:
        lsid - LSID of the container to remove.
      • getIObjectContainers

        java.util.List<IObjectContainer> getIObjectContainers​(java.lang.Class<? extends IObject> klass)
        Retrieves all IObject containers of a given class. NOTE: this will only return existing containers.
        Parameters:
        klass - Class to retrieve containers for.
        Returns:
        See above.
      • countCachedContainers

        int countCachedContainers​(java.lang.Class<? extends IObject> klass,
                                  int... indexes)
        Counts the number of containers the MetadataStore has of a given class and at a given index of the hierarchy if specified.
        Parameters:
        klass - Class to count containers of.
        indexes - Indexes to use in the container count. For example, if klass is Image and indexes is int[] { 0 }; only containers that have an LSID of type Image and a first index of 0 will be counted.
        Returns:
        See above.
      • countCachedReferences

        int countCachedReferences​(java.lang.Class<? extends IObject> source,
                                  java.lang.Class<? extends IObject> target)
        Counts the number of references the MetadataStore has between objects of two classes.
        Parameters:
        source - Class of the source object. If null it is treated as a wild card, all references whose target match target will be counted.
        target - Class of the target object. If null it is treated as a wild card, all references whose source match source will be counted.
        Returns:
        See above.
      • hasReference

        boolean hasReference​(ome.util.LSID source,
                             ome.util.LSID target)
        Checks to see if there is currently an active reference for two LSIDs.
        Parameters:
        source - LSID of the source object.
        target - LSID of the target object.
        Returns:
        true if a reference exists, false otherwise.