Class Well

  • 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 Well
    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
      • status

        protected java.lang.String status
      • column

        protected java.lang.Integer column
      • row

        protected java.lang.Integer row
      • red

        protected java.lang.Integer red
      • green

        protected java.lang.Integer green
      • blue

        protected java.lang.Integer blue
      • alpha

        protected java.lang.Integer alpha
      • OWNER_FILTER_REAGENTLINKS

        public static final java.lang.String OWNER_FILTER_REAGENTLINKS
        See Also:
        Constant Field Values
      • GROUP_FILTER_REAGENTLINKS

        public static final java.lang.String GROUP_FILTER_REAGENTLINKS
        See Also:
        Constant Field Values
      • EVENT_FILTER_REAGENTLINKS

        public static final java.lang.String EVENT_FILTER_REAGENTLINKS
        See Also:
        Constant Field Values
      • PERMS_FILTER_REAGENTLINKS

        public static final java.lang.String PERMS_FILTER_REAGENTLINKS
        See Also:
        Constant Field Values
      • externalDescription

        protected java.lang.String externalDescription
      • externalIdentifier

        protected java.lang.String externalIdentifier
      • type

        protected java.lang.String type
      • wellSamples

        protected java.util.List<WellSample> wellSamples
      • OWNER_FILTER_WELLSAMPLES

        public static final java.lang.String OWNER_FILTER_WELLSAMPLES
        See Also:
        Constant Field Values
      • GROUP_FILTER_WELLSAMPLES

        public static final java.lang.String GROUP_FILTER_WELLSAMPLES
        See Also:
        Constant Field Values
      • EVENT_FILTER_WELLSAMPLES

        public static final java.lang.String EVENT_FILTER_WELLSAMPLES
        See Also:
        Constant Field Values
      • PERMS_FILTER_WELLSAMPLES

        public static final java.lang.String PERMS_FILTER_WELLSAMPLES
        See Also:
        Constant Field Values
      • plate

        protected Plate plate
      • 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
      • REAGENTLINKSCOUNTPEROWNER

        public static final java.lang.String REAGENTLINKSCOUNTPEROWNER
        See Also:
        Constant Field Values
      • EXTERNALDESCRIPTION

        public static final java.lang.String EXTERNALDESCRIPTION
        See Also:
        Constant Field Values
      • EXTERNALIDENTIFIER

        public static final java.lang.String EXTERNALIDENTIFIER
        See Also:
        Constant Field Values
      • 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

      • Well

        public Well()
      • Well

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

        public Well​(java.lang.Long id,
                    boolean loaded)
        Main constructor.
      • Well

        public Well​(Plate _plate)
    • 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.
      • getStatus

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getStatus()
        Simple field ome.model.screen.Well.status (java.lang.String)
      • setStatus

        public void setStatus​(java.lang.String status)
      • getColumn

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getColumn()
        Simple field ome.model.screen.Well.column (java.lang.Integer)
      • setColumn

        public void setColumn​(java.lang.Integer column)
      • getRow

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getRow()
        Simple field ome.model.screen.Well.row (java.lang.Integer)
      • setRow

        public void setRow​(java.lang.Integer row)
      • getRed

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getRed()
        Simple field ome.model.screen.Well.red (java.lang.Integer)
      • setRed

        public void setRed​(java.lang.Integer red)
      • getGreen

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getGreen()
        Simple field ome.model.screen.Well.green (java.lang.Integer)
      • setGreen

        public void setGreen​(java.lang.Integer green)
      • getBlue

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getBlue()
        Simple field ome.model.screen.Well.blue (java.lang.Integer)
      • setBlue

        public void setBlue​(java.lang.Integer blue)
      • getAlpha

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getAlpha()
        Simple field ome.model.screen.Well.alpha (java.lang.Integer)
      • setAlpha

        public void setAlpha​(java.lang.Integer alpha)
      • getReagentLinks

        protected java.util.Set<WellReagentLink> getReagentLinks()
        returns reagentLinks . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.screen.Well.reagentLinks (ome.model.screen.WellReagentLink)
      • setReagentLinks

        protected void setReagentLinks​(java.util.Set<WellReagentLink> reagentLinks)
        setter for reagentLinks should be avoided. Does not fulfill normal semantics.
      • sizeOfReagentLinks

        public int sizeOfReagentLinks()
        returns the size of reagentLinks. If less than zero, the Set was null.
      • iterateReagentLinks

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

        public java.util.Collection<WellReagentLink> unmodifiableReagentLinks()
        Returns an unmodifiable collection-view
      • collectReagentLinks

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

        public void addWellReagentLink​(WellReagentLink target)
        use instead of setReagentLinks . Makes the necessary call on ome.model.screen.WellReagentLink as well.
      • addWellReagentLinkSet

        public void addWellReagentLinkSet​(java.util.Collection<WellReagentLink> targets)
        use like addWellReagentLink.
      • removeWellReagentLink

        public void removeWellReagentLink​(WellReagentLink target)
        removes a single element from this set and makes the inverse call on ome.model.screen.WellReagentLink
      • removeWellReagentLinkSet

        public void removeWellReagentLinkSet​(java.util.Collection<WellReagentLink> targets)
        use like removeWellReagentLink
      • linkReagent

        public WellReagentLink linkReagent​(Reagent addition)
        Adds a ome.model.screen.WellReagentLink to reagentLinks . This entails changing our reagentLinks Set, creating a new ome.model.screen.WellReagentLink and calling linkReagent on the ome.model.screen.Reagent.
      • addWellReagentLink

        public void addWellReagentLink​(WellReagentLink link,
                                       boolean bothSides)
        Adds a ome.model.screen.WellReagentLink to reagentLinks, allowing for recursion -- whether or not addWellReagentLink will be called on the addition if it is loaded
      • linkedReagentIterator

        public java.util.Iterator<Reagent> linkedReagentIterator()
        provides an iterator over the parent values of the reagentLinks. Like with most Collection iterators, modifications to the underlying collection while iterating will result in an ConcurrentModificationException. Use linkedReagentList() instead.
      • findWellReagentLink

        public java.util.Set<WellReagentLink> findWellReagentLink​(Reagent target)
        find all ome.model.screen.WellReagentLink which have the argument as their child.
      • linkedReagentList

        public java.util.List<Reagent> linkedReagentList()
        produces a List-copy of the underlying collection. Unlike, linkedReagentIterator(), while using the returned List, modifications can be made to the underlying collection without throwing ConcurrentModificationException.
      • eachLinkedReagent

        public <E> java.util.List<E> eachLinkedReagent​(CBlock<E> block)
        takes a CBlock and calls the block once for each ome.model.screen.Reagent while collecting the results. If block == null, then the iterator values themselves are collected.
      • unlinkReagent

        public void unlinkReagent​(Reagent removal)
        unlinks all ome.model.screen.Reagent instances from this instance.
      • removeWellReagentLink

        public void removeWellReagentLink​(WellReagentLink link,
                                          boolean bothSides)
        removes the given WellReagentLink from reagentLinks, allowing for recursion -- whether or not the removal will call unlinkWell again if loaded.
      • clearReagentLinks

        public void clearReagentLinks()
        clears the set.
      • setReagentLinksCountPerOwner

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

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

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getExternalDescription()
        Simple field ome.model.screen.Well.externalDescription (java.lang.String)
      • setExternalDescription

        public void setExternalDescription​(java.lang.String externalDescription)
      • getExternalIdentifier

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getExternalIdentifier()
        Simple field ome.model.screen.Well.externalIdentifier (java.lang.String)
      • setExternalIdentifier

        public void setExternalIdentifier​(java.lang.String externalIdentifier)
      • getType

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getType()
        Simple field ome.model.screen.Well.type (java.lang.String)
      • setType

        public void setType​(java.lang.String type)
      • getWellSamples

        protected java.util.List<WellSample> getWellSamples()
        returns wellSamples . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many List ome.model.screen.Well.wellSamples (ome.model.screen.WellSample) Values are indexed by the column "index" on ome.model.screen.WellSample
      • setWellSamples

        protected void setWellSamples​(java.util.List<WellSample> wellSamples)
        setter for wellSamples should be avoided. Does not fulfill normal semantics.
      • sizeOfWellSamples

        public int sizeOfWellSamples()
        returns the size of wellSamples. If less than zero, the Set was null.
      • iterateWellSamples

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

        public java.util.Collection<WellSample> unmodifiableWellSamples()
        Returns an unmodifiable collection-view
      • collectWellSamples

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

        public void addWellSample​(WellSample target)
        use instead of setWellSamples . Makes the necessary call on ome.model.screen.WellSample as well.
      • addWellSampleSet

        public void addWellSampleSet​(java.util.Collection<WellSample> targets)
        use like addWellSample.
      • removeWellSample

        public void removeWellSample​(WellSample target)
        removes a single element from this set and makes the inverse call on ome.model.screen.WellSample
      • removeWellSampleSet

        public void removeWellSampleSet​(java.util.Collection<WellSample> targets)
        use like removeWellSample
      • clearWellSamples

        public void clearWellSamples()
        clears the set.
      • getWellSample

        public WellSample getWellSample​(int index)
                                 throws java.lang.IndexOutOfBoundsException
        Gets the ome.model.screen.WellSample at the given index.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setWellSample

        public WellSample setWellSample​(int index,
                                        WellSample element)
                                 throws java.lang.IndexOutOfBoundsException
        Sets the ome.model.screen.WellSample at the given index. Adheres to the List.set(int, Object) contract. To extend the list, use addWellSample(WellSample).
        Throws:
        java.lang.IndexOutOfBoundsException
        See Also:
        List.set(int, Object)
      • getPrimaryWellSample

        public WellSample getPrimaryWellSample()
                                        throws java.lang.IndexOutOfBoundsException
        Gets the first element of wellSamples which can be interpreted as the primary or default element in some situations. If there is not first element, an IndexOutOfBoundsException is throws. This method will also throw an ApiUsageException if the collection is unloaded. See sizeOfWellSamples() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setPrimaryWellSample

        public WellSample setPrimaryWellSample​(WellSample element)
                                        throws java.lang.IndexOutOfBoundsException
        Swaps the first element of wellSamples with the first instance of the given element. If the given element is not in the list, an IndexOutOfBoundsException will be thrown. Returns the swapped element. This method will also throw an ApiUsageException if the collection is unloaded. See sizeOfWellSamples() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • getPlate

        public Plate getPlate()
        Many-to-one field ome.model.screen.Well.plate (ome.model.screen.Plate)
      • setPlate

        public void setPlate​(Plate plate)
      • getAnnotationLinks

        protected java.util.Set<WellAnnotationLink> 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.screen.Well.annotationLinks (ome.model.annotations.WellAnnotationLink)
      • setAnnotationLinks

        protected void setAnnotationLinks​(java.util.Set<WellAnnotationLink> 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.WellAnnotationLink 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
      • addWellAnnotationLink

        public void addWellAnnotationLink​(WellAnnotationLink target)
        use instead of setAnnotationLinks . Makes the necessary call on ome.model.annotations.WellAnnotationLink as well.
      • addWellAnnotationLinkSet

        public void addWellAnnotationLinkSet​(java.util.Collection<WellAnnotationLink> targets)
        use like addWellAnnotationLink.
      • removeWellAnnotationLink

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

        public void removeWellAnnotationLinkSet​(java.util.Collection<WellAnnotationLink> targets)
        use like removeWellAnnotationLink
      • linkAnnotation

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

        public void addWellAnnotationLink​(WellAnnotationLink link,
                                          boolean bothSides)
        Adds a ome.model.annotations.WellAnnotationLink to annotationLinks, allowing for recursion -- whether or not addWellAnnotationLink 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
      • findWellAnnotationLink

        public java.util.Set<WellAnnotationLink> findWellAnnotationLink​(Annotation target)
        find all ome.model.annotations.WellAnnotationLink 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
      • removeWellAnnotationLink

        public void removeWellAnnotationLink​(WellAnnotationLink link,
                                             boolean bothSides)
        removes the given WellAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkWell 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.WellAnnotationLink 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.
      • newInstance

        public Well newInstance()
      • proxy

        public Well proxy()
      • 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)