Class Instrument

  • All Implemented Interfaces:
    java.io.Serializable, IAnnotated, IMutable, IObject, Filterable

    @Entity
    @Indexed(index="FullText")
    @ClassBridge(name="details",
                 impl=DetailsFieldBridge.class,
                 index=UN_TOKENIZED,
                 store=NO)
    public class Instrument
    extends java.lang.Object
    implements java.io.Serializable, IObject, IMutable, IAnnotated
    These filter definitions are used by the security system to eliminate non-readable objects from queries. The regular user does not need to worry about them, as they will be injected directly into the SQL (not HQL)
    See Also:
    Serialized Form
    • Field Detail

      • id

        protected java.lang.Long id
      • version

        protected java.lang.Integer version
      • detector

        protected java.util.Set<Detector> detector
      • OWNER_FILTER_DETECTOR

        public static final java.lang.String OWNER_FILTER_DETECTOR
        See Also:
        Constant Field Values
      • GROUP_FILTER_DETECTOR

        public static final java.lang.String GROUP_FILTER_DETECTOR
        See Also:
        Constant Field Values
      • EVENT_FILTER_DETECTOR

        public static final java.lang.String EVENT_FILTER_DETECTOR
        See Also:
        Constant Field Values
      • PERMS_FILTER_DETECTOR

        public static final java.lang.String PERMS_FILTER_DETECTOR
        See Also:
        Constant Field Values
      • objective

        protected java.util.Set<Objective> objective
      • OWNER_FILTER_OBJECTIVE

        public static final java.lang.String OWNER_FILTER_OBJECTIVE
        See Also:
        Constant Field Values
      • GROUP_FILTER_OBJECTIVE

        public static final java.lang.String GROUP_FILTER_OBJECTIVE
        See Also:
        Constant Field Values
      • EVENT_FILTER_OBJECTIVE

        public static final java.lang.String EVENT_FILTER_OBJECTIVE
        See Also:
        Constant Field Values
      • PERMS_FILTER_OBJECTIVE

        public static final java.lang.String PERMS_FILTER_OBJECTIVE
        See Also:
        Constant Field Values
      • lightSource

        protected java.util.Set<LightSource> lightSource
      • OWNER_FILTER_LIGHTSOURCE

        public static final java.lang.String OWNER_FILTER_LIGHTSOURCE
        See Also:
        Constant Field Values
      • GROUP_FILTER_LIGHTSOURCE

        public static final java.lang.String GROUP_FILTER_LIGHTSOURCE
        See Also:
        Constant Field Values
      • EVENT_FILTER_LIGHTSOURCE

        public static final java.lang.String EVENT_FILTER_LIGHTSOURCE
        See Also:
        Constant Field Values
      • PERMS_FILTER_LIGHTSOURCE

        public static final java.lang.String PERMS_FILTER_LIGHTSOURCE
        See Also:
        Constant Field Values
      • filter

        protected java.util.Set<Filter> filter
      • OWNER_FILTER_FILTER

        public static final java.lang.String OWNER_FILTER_FILTER
        See Also:
        Constant Field Values
      • GROUP_FILTER_FILTER

        public static final java.lang.String GROUP_FILTER_FILTER
        See Also:
        Constant Field Values
      • EVENT_FILTER_FILTER

        public static final java.lang.String EVENT_FILTER_FILTER
        See Also:
        Constant Field Values
      • PERMS_FILTER_FILTER

        public static final java.lang.String PERMS_FILTER_FILTER
        See Also:
        Constant Field Values
      • dichroic

        protected java.util.Set<Dichroic> dichroic
      • OWNER_FILTER_DICHROIC

        public static final java.lang.String OWNER_FILTER_DICHROIC
        See Also:
        Constant Field Values
      • GROUP_FILTER_DICHROIC

        public static final java.lang.String GROUP_FILTER_DICHROIC
        See Also:
        Constant Field Values
      • EVENT_FILTER_DICHROIC

        public static final java.lang.String EVENT_FILTER_DICHROIC
        See Also:
        Constant Field Values
      • PERMS_FILTER_DICHROIC

        public static final java.lang.String PERMS_FILTER_DICHROIC
        See Also:
        Constant Field Values
      • filterSet

        protected java.util.Set<FilterSet> filterSet
      • OWNER_FILTER_FILTERSET

        public static final java.lang.String OWNER_FILTER_FILTERSET
        See Also:
        Constant Field Values
      • GROUP_FILTER_FILTERSET

        public static final java.lang.String GROUP_FILTER_FILTERSET
        See Also:
        Constant Field Values
      • EVENT_FILTER_FILTERSET

        public static final java.lang.String EVENT_FILTER_FILTERSET
        See Also:
        Constant Field Values
      • PERMS_FILTER_FILTERSET

        public static final java.lang.String PERMS_FILTER_FILTERSET
        See Also:
        Constant Field Values
      • otf

        protected java.util.Set<OTF> otf
      • OWNER_FILTER_OTF

        public static final java.lang.String OWNER_FILTER_OTF
        See Also:
        Constant Field Values
      • GROUP_FILTER_OTF

        public static final java.lang.String GROUP_FILTER_OTF
        See Also:
        Constant Field Values
      • EVENT_FILTER_OTF

        public static final java.lang.String EVENT_FILTER_OTF
        See Also:
        Constant Field Values
      • PERMS_FILTER_OTF

        public static final java.lang.String PERMS_FILTER_OTF
        See Also:
        Constant Field Values
      • OWNER_FILTER_ANNOTATIONLINKS

        public static final java.lang.String OWNER_FILTER_ANNOTATIONLINKS
        See Also:
        Constant Field Values
      • GROUP_FILTER_ANNOTATIONLINKS

        public static final java.lang.String GROUP_FILTER_ANNOTATIONLINKS
        See Also:
        Constant Field Values
      • EVENT_FILTER_ANNOTATIONLINKS

        public static final java.lang.String EVENT_FILTER_ANNOTATIONLINKS
        See Also:
        Constant Field Values
      • PERMS_FILTER_ANNOTATIONLINKS

        public static final java.lang.String PERMS_FILTER_ANNOTATIONLINKS
        See Also:
        Constant Field Values
      • details

        protected Details details
      • ANNOTATIONLINKSCOUNTPEROWNER

        public static final java.lang.String ANNOTATIONLINKSCOUNTPEROWNER
        See Also:
        Constant Field Values
      • FIELDS

        public static final java.util.Set<java.lang.String> FIELDS
      • _dynamicFields

        protected java.util.Map<java.lang.String,​java.lang.Object> _dynamicFields
      • _loaded

        protected boolean _loaded
    • Constructor Detail

      • Instrument

        public Instrument()
      • Instrument

        protected Instrument​(java.lang.Long id)
      • Instrument

        public Instrument​(java.lang.Long id,
                          boolean loaded)
        Main constructor.
    • Method Detail

      • getId

        @DocumentId
        public java.lang.Long getId()
        The DB unique identifier for this object. You are not responsible for setting the id; however, it can be useful for creating "unloaded" versions of your objects. Each top-level entity contains an id field of type long. For all objects returned from the server, this value will be non-null, which doesn't necessarily hold for the other fields.
        Specified by:
        getId in interface IObject
        Returns:
        Long primary key. May be null.
      • setId

        public void setId​(java.lang.Long id)
        Description copied from interface: IObject
        usually unneeded. Ids are managed by the backend.
        Specified by:
        setId in interface IObject
        Parameters:
        id - Long value for this id.
      • getVersion

        public java.lang.Integer getVersion()
        This version number is controlled by the database for optimisitic locking.
        Specified by:
        getVersion in interface IMutable
      • setVersion

        public void setVersion​(java.lang.Integer version)
        Description copied from interface: IMutable
        use with caution. In general, the version should only be altered by the backend. In the best case, an exception will be thrown for a version not equal to the current DB value. In the worst (though rare) case, the new version could match the database, and override optimistic lock checks that are supposed to prevent data loss.
        Specified by:
        setVersion in interface IMutable
        Parameters:
        version - Value for this objects version.
      • getMicroscope

        public Microscope getMicroscope()
        Many-to-one field ome.model.acquisition.Instrument.microscope (ome.model.acquisition.Microscope)
      • setMicroscope

        public void setMicroscope​(Microscope microscope)
      • getDetector

        protected java.util.Set<Detector> getDetector()
        returns detector . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.detector (ome.model.acquisition.Detector)
      • setDetector

        protected void setDetector​(java.util.Set<Detector> detector)
        setter for detector should be avoided. Does not fulfill normal semantics.
      • sizeOfDetector

        public int sizeOfDetector()
        returns the size of detector. If less than zero, the Set was null.
      • iterateDetector

        public java.util.Iterator<Detector> iterateDetector()
        should be used rather than accessing the detector set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfDetector() is less than zero.
      • unmodifiableDetector

        public java.util.Collection<Detector> unmodifiableDetector()
        Returns an unmodifiable collection-view
      • collectDetector

        public <E> java.util.List<E> collectDetector​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.Detector while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateDetector() internally and so will return a value even if the underlying collection is null.
      • addDetector

        public void addDetector​(Detector target)
        use instead of setDetector . Makes the necessary call on ome.model.acquisition.Detector as well.
      • addDetectorSet

        public void addDetectorSet​(java.util.Collection<Detector> targets)
        use like addDetector.
      • removeDetector

        public void removeDetector​(Detector target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.Detector
      • removeDetectorSet

        public void removeDetectorSet​(java.util.Collection<Detector> targets)
        use like removeDetector
      • clearDetector

        public void clearDetector()
        clears the set.
      • getObjective

        protected java.util.Set<Objective> getObjective()
        returns objective . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.objective (ome.model.acquisition.Objective)
      • setObjective

        protected void setObjective​(java.util.Set<Objective> objective)
        setter for objective should be avoided. Does not fulfill normal semantics.
      • sizeOfObjective

        public int sizeOfObjective()
        returns the size of objective. If less than zero, the Set was null.
      • iterateObjective

        public java.util.Iterator<Objective> iterateObjective()
        should be used rather than accessing the objective set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfObjective() is less than zero.
      • unmodifiableObjective

        public java.util.Collection<Objective> unmodifiableObjective()
        Returns an unmodifiable collection-view
      • collectObjective

        public <E> java.util.List<E> collectObjective​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.Objective while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateObjective() internally and so will return a value even if the underlying collection is null.
      • addObjective

        public void addObjective​(Objective target)
        use instead of setObjective . Makes the necessary call on ome.model.acquisition.Objective as well.
      • addObjectiveSet

        public void addObjectiveSet​(java.util.Collection<Objective> targets)
        use like addObjective.
      • removeObjective

        public void removeObjective​(Objective target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.Objective
      • removeObjectiveSet

        public void removeObjectiveSet​(java.util.Collection<Objective> targets)
        use like removeObjective
      • clearObjective

        public void clearObjective()
        clears the set.
      • getLightSource

        protected java.util.Set<LightSource> getLightSource()
        returns lightSource . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.lightSource (ome.model.acquisition.LightSource)
      • setLightSource

        protected void setLightSource​(java.util.Set<LightSource> lightSource)
        setter for lightSource should be avoided. Does not fulfill normal semantics.
      • sizeOfLightSource

        public int sizeOfLightSource()
        returns the size of lightSource. If less than zero, the Set was null.
      • iterateLightSource

        public java.util.Iterator<LightSource> iterateLightSource()
        should be used rather than accessing the lightSource set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfLightSource() is less than zero.
      • unmodifiableLightSource

        public java.util.Collection<LightSource> unmodifiableLightSource()
        Returns an unmodifiable collection-view
      • collectLightSource

        public <E> java.util.List<E> collectLightSource​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.LightSource while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateLightSource() internally and so will return a value even if the underlying collection is null.
      • addLightSource

        public void addLightSource​(LightSource target)
        use instead of setLightSource . Makes the necessary call on ome.model.acquisition.LightSource as well.
      • addLightSourceSet

        public void addLightSourceSet​(java.util.Collection<LightSource> targets)
        use like addLightSource.
      • removeLightSource

        public void removeLightSource​(LightSource target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.LightSource
      • removeLightSourceSet

        public void removeLightSourceSet​(java.util.Collection<LightSource> targets)
        use like removeLightSource
      • clearLightSource

        public void clearLightSource()
        clears the set.
      • getFilter

        protected java.util.Set<Filter> getFilter()
        returns filter . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.filter (ome.model.acquisition.Filter)
      • setFilter

        protected void setFilter​(java.util.Set<Filter> filter)
        setter for filter should be avoided. Does not fulfill normal semantics.
      • sizeOfFilter

        public int sizeOfFilter()
        returns the size of filter. If less than zero, the Set was null.
      • iterateFilter

        public java.util.Iterator<Filter> iterateFilter()
        should be used rather than accessing the filter set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfFilter() is less than zero.
      • unmodifiableFilter

        public java.util.Collection<Filter> unmodifiableFilter()
        Returns an unmodifiable collection-view
      • collectFilter

        public <E> java.util.List<E> collectFilter​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.Filter while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateFilter() internally and so will return a value even if the underlying collection is null.
      • addFilter

        public void addFilter​(Filter target)
        use instead of setFilter . Makes the necessary call on ome.model.acquisition.Filter as well.
      • addFilterSet

        public void addFilterSet​(java.util.Collection<Filter> targets)
        use like addFilter.
      • removeFilter

        public void removeFilter​(Filter target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.Filter
      • removeFilterSet

        public void removeFilterSet​(java.util.Collection<Filter> targets)
        use like removeFilter
      • clearFilter

        public void clearFilter()
        clears the set.
      • getDichroic

        protected java.util.Set<Dichroic> getDichroic()
        returns dichroic . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.dichroic (ome.model.acquisition.Dichroic)
      • setDichroic

        protected void setDichroic​(java.util.Set<Dichroic> dichroic)
        setter for dichroic should be avoided. Does not fulfill normal semantics.
      • sizeOfDichroic

        public int sizeOfDichroic()
        returns the size of dichroic. If less than zero, the Set was null.
      • iterateDichroic

        public java.util.Iterator<Dichroic> iterateDichroic()
        should be used rather than accessing the dichroic set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfDichroic() is less than zero.
      • unmodifiableDichroic

        public java.util.Collection<Dichroic> unmodifiableDichroic()
        Returns an unmodifiable collection-view
      • collectDichroic

        public <E> java.util.List<E> collectDichroic​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.Dichroic while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateDichroic() internally and so will return a value even if the underlying collection is null.
      • addDichroic

        public void addDichroic​(Dichroic target)
        use instead of setDichroic . Makes the necessary call on ome.model.acquisition.Dichroic as well.
      • addDichroicSet

        public void addDichroicSet​(java.util.Collection<Dichroic> targets)
        use like addDichroic.
      • removeDichroic

        public void removeDichroic​(Dichroic target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.Dichroic
      • removeDichroicSet

        public void removeDichroicSet​(java.util.Collection<Dichroic> targets)
        use like removeDichroic
      • clearDichroic

        public void clearDichroic()
        clears the set.
      • getFilterSet

        protected java.util.Set<FilterSet> getFilterSet()
        returns filterSet . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.filterSet (ome.model.acquisition.FilterSet)
      • setFilterSet

        protected void setFilterSet​(java.util.Set<FilterSet> filterSet)
        setter for filterSet should be avoided. Does not fulfill normal semantics.
      • sizeOfFilterSet

        public int sizeOfFilterSet()
        returns the size of filterSet. If less than zero, the Set was null.
      • iterateFilterSet

        public java.util.Iterator<FilterSet> iterateFilterSet()
        should be used rather than accessing the filterSet set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfFilterSet() is less than zero.
      • unmodifiableFilterSet

        public java.util.Collection<FilterSet> unmodifiableFilterSet()
        Returns an unmodifiable collection-view
      • collectFilterSet

        public <E> java.util.List<E> collectFilterSet​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.FilterSet while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateFilterSet() internally and so will return a value even if the underlying collection is null.
      • addFilterSet

        public void addFilterSet​(FilterSet target)
        use instead of setFilterSet . Makes the necessary call on ome.model.acquisition.FilterSet as well.
      • addFilterSetSet

        public void addFilterSetSet​(java.util.Collection<FilterSet> targets)
        use like addFilterSet.
      • removeFilterSet

        public void removeFilterSet​(FilterSet target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.FilterSet
      • removeFilterSetSet

        public void removeFilterSetSet​(java.util.Collection<FilterSet> targets)
        use like removeFilterSet
      • clearFilterSet

        public void clearFilterSet()
        clears the set.
      • getOtf

        protected java.util.Set<OTF> getOtf()
        returns otf . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.otf (ome.model.acquisition.OTF)
      • setOtf

        protected void setOtf​(java.util.Set<OTF> otf)
        setter for otf should be avoided. Does not fulfill normal semantics.
      • sizeOfOtf

        public int sizeOfOtf()
        returns the size of otf. If less than zero, the Set was null.
      • iterateOtf

        public java.util.Iterator<OTF> iterateOtf()
        should be used rather than accessing the otf set directly. This method will never return null, but rather will return an instance of EmptyIterator. To test for a null collection, see of sizeOfOtf() is less than zero.
      • unmodifiableOtf

        public java.util.Collection<OTF> unmodifiableOtf()
        Returns an unmodifiable collection-view
      • collectOtf

        public <E> java.util.List<E> collectOtf​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.acquisition.OTF while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateOtf() internally and so will return a value even if the underlying collection is null.
      • addOTF

        public void addOTF​(OTF target)
        use instead of setOtf . Makes the necessary call on ome.model.acquisition.OTF as well.
      • addOTFSet

        public void addOTFSet​(java.util.Collection<OTF> targets)
        use like addOTF.
      • removeOTF

        public void removeOTF​(OTF target)
        removes a single element from this set and makes the inverse call on ome.model.acquisition.OTF
      • removeOTFSet

        public void removeOTFSet​(java.util.Collection<OTF> targets)
        use like removeOTF
      • clearOtf

        public void clearOtf()
        clears the set.
      • getAnnotationLinks

        protected java.util.Set<InstrumentAnnotationLink> getAnnotationLinks()
        returns annotationLinks . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.acquisition.Instrument.annotationLinks (ome.model.annotations.InstrumentAnnotationLink)
      • setAnnotationLinks

        protected void setAnnotationLinks​(java.util.Set<InstrumentAnnotationLink> annotationLinks)
        setter for annotationLinks should be avoided. Does not fulfill normal semantics.
      • sizeOfAnnotationLinks

        public int sizeOfAnnotationLinks()
        returns the size of annotationLinks. If less than zero, the Set was null.
        Specified by:
        sizeOfAnnotationLinks in interface IAnnotated
      • collectAnnotationLinks

        public <E> java.util.List<E> collectAnnotationLinks​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.annotations.InstrumentAnnotationLink while collecting the results. If block == null, then the iterator values themselves are collected. This method uses iterateAnnotationLinks() internally and so will return a value even if the underlying collection is null.
        Specified by:
        collectAnnotationLinks in interface IAnnotated
      • addInstrumentAnnotationLink

        public void addInstrumentAnnotationLink​(InstrumentAnnotationLink target)
        use instead of setAnnotationLinks . Makes the necessary call on ome.model.annotations.InstrumentAnnotationLink as well.
      • addInstrumentAnnotationLinkSet

        public void addInstrumentAnnotationLinkSet​(java.util.Collection<InstrumentAnnotationLink> targets)
        use like addInstrumentAnnotationLink.
      • removeInstrumentAnnotationLink

        public void removeInstrumentAnnotationLink​(InstrumentAnnotationLink target)
        removes a single element from this set and makes the inverse call on ome.model.annotations.InstrumentAnnotationLink
      • removeInstrumentAnnotationLinkSet

        public void removeInstrumentAnnotationLinkSet​(java.util.Collection<InstrumentAnnotationLink> targets)
        use like removeInstrumentAnnotationLink
      • linkAnnotation

        public InstrumentAnnotationLink linkAnnotation​(Annotation addition)
        Adds a ome.model.annotations.InstrumentAnnotationLink to annotationLinks . This entails changing our annotationLinks Set, creating a new ome.model.annotations.InstrumentAnnotationLink and calling linkAnnotation on the ome.model.annotations.Annotation.
        Specified by:
        linkAnnotation in interface IAnnotated
      • addInstrumentAnnotationLink

        public void addInstrumentAnnotationLink​(InstrumentAnnotationLink link,
                                                boolean bothSides)
        Adds a ome.model.annotations.InstrumentAnnotationLink to annotationLinks, allowing for recursion -- whether or not addInstrumentAnnotationLink will be called on the addition if it is loaded
      • linkedAnnotationIterator

        public java.util.Iterator<Annotation> linkedAnnotationIterator()
        provides an iterator over the parent values of the annotationLinks. Like with most Collection iterators, modifications to the underlying collection while iterating will result in an ConcurrentModificationException. Use linkedAnnotationList() instead.
        Specified by:
        linkedAnnotationIterator in interface IAnnotated
      • findInstrumentAnnotationLink

        public java.util.Set<InstrumentAnnotationLink> findInstrumentAnnotationLink​(Annotation target)
        find all ome.model.annotations.InstrumentAnnotationLink which have the argument as their child.
      • linkedAnnotationList

        public java.util.List<Annotation> linkedAnnotationList()
        produces a List-copy of the underlying collection. Unlike, linkedAnnotationIterator(), while using the returned List, modifications can be made to the underlying collection without throwing ConcurrentModificationException.
        Specified by:
        linkedAnnotationList in interface IAnnotated
      • eachLinkedAnnotation

        public <E> java.util.List<E> eachLinkedAnnotation​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.annotations.Annotation while collecting the results. If block == null, then the iterator values themselves are collected.
        Specified by:
        eachLinkedAnnotation in interface IAnnotated
      • unlinkAnnotation

        public void unlinkAnnotation​(Annotation removal)
        unlinks all ome.model.annotations.Annotation instances from this instance.
        Specified by:
        unlinkAnnotation in interface IAnnotated
      • removeInstrumentAnnotationLink

        public void removeInstrumentAnnotationLink​(InstrumentAnnotationLink link,
                                                   boolean bothSides)
        removes the given InstrumentAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkInstrument again if loaded.
      • setAnnotationLinksCountPerOwner

        protected void setAnnotationLinksCountPerOwner​(java.util.Map<java.lang.Long,​java.lang.Long> map)
      • getAnnotationLinksCountPerOwner

        public java.util.Map<java.lang.Long,​java.lang.Long> getAnnotationLinksCountPerOwner()
        If fetched, returns the count(*) of ome.model.annotations.InstrumentAnnotationLink that a user has. If unfetched, returns null. No entries in the collection should be null.
      • getDetails

        public Details getDetails()
        The details of this object correspond to low-level system information. Owner, permissions, Details is always guaranteed to be non-null, unless the user actively nulls it. Every entity also contains a Detail reference, which doesn't refer to a separate table but rather to a collection of fields collected into a Hibernate "component" which is embedded in the object. HQL queries which refer to the Details component cannot directly fetch the entity like this: select o from Object join fetch o.details but rather each field of the Details instance must be explicitly joined: select o from Object join fetch o.details.owner It should also be noted that not all types have all the fields which are present on Details. For example, select e from Experimenter e join fetch e.details.owner will fail. Experimenter has no owner, for obvious reasons. Note: subclasses of this class will return a subclass of the Details type.
        Specified by:
        getDetails in interface IObject
      • setDetails

        protected void setDetails​(Details details)
      • isValid

        public boolean isValid()
        Description copied from interface: IObject
        calls the class-specific validator for this instance and returns the value from Validation.isValid()
        Specified by:
        isValid in interface IObject
      • validate

        public Validation validate()
        Description copied from interface: IObject
        calls the class-specific validator for this instance and returns the Validation object.
        Specified by:
        validate in interface IObject
        Returns:
        Validation collecting parameter.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • fields

        public java.util.Set<java.lang.String> fields()
        Description copied from interface: IObject
        returns a Set of field names that belong to this class
        Specified by:
        fields in interface IObject
      • retrieve

        public java.lang.Object retrieve​(java.lang.String field)
        Description copied from interface: IObject
        retrieves a value from this instance. Values for field which match a field of this instance will be delegated to the accessors. Otherwise, values will be retrieved from a lazy-loaded map filled by calls to IObject.putAt(String, Object)
        Specified by:
        retrieve in interface IObject
      • putAt

        public void putAt​(java.lang.String field,
                          java.lang.Object value)
        Description copied from interface: IObject
        stores a value in this instance. Values for field which match a field of this instance will be delegated to the accessors. Otherwise, values will be stored in a lazy-loaded map.
        Specified by:
        putAt in interface IObject
        Parameters:
        field - Field name
        value - Any object to be stored.
      • isLoaded

        public boolean isLoaded()
        Description copied from interface: IObject
        transient field (not stored in the DB) which specifies whether this object has been loaded from the DB or is only a wrapper around the ID.
        Specified by:
        isLoaded in interface IObject
      • errorIfUnloaded

        protected void errorIfUnloaded()
      • unload

        public void unload()
        Description copied from interface: IObject
        set the loaded field to false, and set all non-ID fields to null. Subsequent calls to all accessors other than getId/setId will throw an ApiUsageException
        Specified by:
        unload in interface IObject
      • getGraphHolder

        public final GraphHolder getGraphHolder()
        Description copied from interface: IObject
        retrieves the GraphHolder for this entity. If the GraphHolder has not been actively set, a new one will be instatiated.
        Specified by:
        getGraphHolder in interface IObject
        Returns:
        Non-null GraphHolder
      • throwNullCollectionException

        protected void throwNullCollectionException​(java.lang.String propertyName)