Class Folder

  • 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 Folder
    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
      • childFolders

        protected java.util.Set<Folder> childFolders
      • OWNER_FILTER_CHILDFOLDERS

        public static final java.lang.String OWNER_FILTER_CHILDFOLDERS
        See Also:
        Constant Field Values
      • GROUP_FILTER_CHILDFOLDERS

        public static final java.lang.String GROUP_FILTER_CHILDFOLDERS
        See Also:
        Constant Field Values
      • EVENT_FILTER_CHILDFOLDERS

        public static final java.lang.String EVENT_FILTER_CHILDFOLDERS
        See Also:
        Constant Field Values
      • PERMS_FILTER_CHILDFOLDERS

        public static final java.lang.String PERMS_FILTER_CHILDFOLDERS
        See Also:
        Constant Field Values
      • parentFolder

        protected Folder parentFolder
      • OWNER_FILTER_IMAGELINKS

        public static final java.lang.String OWNER_FILTER_IMAGELINKS
        See Also:
        Constant Field Values
      • GROUP_FILTER_IMAGELINKS

        public static final java.lang.String GROUP_FILTER_IMAGELINKS
        See Also:
        Constant Field Values
      • EVENT_FILTER_IMAGELINKS

        public static final java.lang.String EVENT_FILTER_IMAGELINKS
        See Also:
        Constant Field Values
      • PERMS_FILTER_IMAGELINKS

        public static final java.lang.String PERMS_FILTER_IMAGELINKS
        See Also:
        Constant Field Values
      • OWNER_FILTER_ROILINKS

        public static final java.lang.String OWNER_FILTER_ROILINKS
        See Also:
        Constant Field Values
      • GROUP_FILTER_ROILINKS

        public static final java.lang.String GROUP_FILTER_ROILINKS
        See Also:
        Constant Field Values
      • EVENT_FILTER_ROILINKS

        public static final java.lang.String EVENT_FILTER_ROILINKS
        See Also:
        Constant Field Values
      • PERMS_FILTER_ROILINKS

        public static final java.lang.String PERMS_FILTER_ROILINKS
        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
      • name

        protected java.lang.String name
      • description

        protected java.lang.String description
      • details

        protected Details details
      • IMAGELINKSCOUNTPEROWNER

        public static final java.lang.String IMAGELINKSCOUNTPEROWNER
        See Also:
        Constant Field Values
      • ROILINKSCOUNTPEROWNER

        public static final java.lang.String ROILINKSCOUNTPEROWNER
        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

      • Folder

        public Folder()
      • Folder

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

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

        public Folder​(java.lang.String _name)
    • 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.
      • getChildFolders

        protected java.util.Set<Folder> getChildFolders()
        returns childFolders . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.containers.Folder.childFolders (ome.model.containers.Folder)
      • setChildFolders

        protected void setChildFolders​(java.util.Set<Folder> childFolders)
        setter for childFolders should be avoided. Does not fulfill normal semantics.
      • sizeOfChildFolders

        public int sizeOfChildFolders()
        returns the size of childFolders. If less than zero, the Set was null.
      • iterateChildFolders

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

        public java.util.Collection<Folder> unmodifiableChildFolders()
        Returns an unmodifiable collection-view
      • collectChildFolders

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

        public void addChildFolders​(Folder target)
        use instead of setChildFolders . Makes the necessary call on ome.model.containers.Folder as well.
      • addChildFoldersSet

        public void addChildFoldersSet​(java.util.Collection<Folder> targets)
        use like addFolder.
      • removeChildFolders

        public void removeChildFolders​(Folder target)
        removes a single element from this set and makes the inverse call on ome.model.containers.Folder
      • removeChildFoldersSet

        public void removeChildFoldersSet​(java.util.Collection<Folder> targets)
        use like removeFolder
      • clearChildFolders

        public void clearChildFolders()
        clears the set.
      • getParentFolder

        public Folder getParentFolder()
        Many-to-one field ome.model.containers.Folder.parentFolder (ome.model.containers.Folder)
      • setParentFolder

        public void setParentFolder​(Folder parentFolder)
      • getImageLinks

        protected java.util.Set<FolderImageLink> getImageLinks()
        returns imageLinks . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.containers.Folder.imageLinks (ome.model.containers.FolderImageLink)
      • setImageLinks

        protected void setImageLinks​(java.util.Set<FolderImageLink> imageLinks)
        setter for imageLinks should be avoided. Does not fulfill normal semantics.
      • sizeOfImageLinks

        public int sizeOfImageLinks()
        returns the size of imageLinks. If less than zero, the Set was null.
      • iterateImageLinks

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

        public java.util.Collection<FolderImageLink> unmodifiableImageLinks()
        Returns an unmodifiable collection-view
      • collectImageLinks

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

        public void addFolderImageLink​(FolderImageLink target)
        use instead of setImageLinks . Makes the necessary call on ome.model.containers.FolderImageLink as well.
      • addFolderImageLinkSet

        public void addFolderImageLinkSet​(java.util.Collection<FolderImageLink> targets)
        use like addFolderImageLink.
      • removeFolderImageLink

        public void removeFolderImageLink​(FolderImageLink target)
        removes a single element from this set and makes the inverse call on ome.model.containers.FolderImageLink
      • removeFolderImageLinkSet

        public void removeFolderImageLinkSet​(java.util.Collection<FolderImageLink> targets)
        use like removeFolderImageLink
      • linkImage

        public FolderImageLink linkImage​(Image addition)
        Adds a ome.model.containers.FolderImageLink to imageLinks . This entails changing our imageLinks Set, creating a new ome.model.containers.FolderImageLink and calling linkImage on the ome.model.core.Image.
      • addFolderImageLink

        public void addFolderImageLink​(FolderImageLink link,
                                       boolean bothSides)
        Adds a ome.model.containers.FolderImageLink to imageLinks, allowing for recursion -- whether or not addFolderImageLink will be called on the addition if it is loaded
      • linkedImageIterator

        public java.util.Iterator<Image> linkedImageIterator()
        provides an iterator over the parent values of the imageLinks. Like with most Collection iterators, modifications to the underlying collection while iterating will result in an ConcurrentModificationException. Use linkedImageList() instead.
      • findFolderImageLink

        public java.util.Set<FolderImageLink> findFolderImageLink​(Image target)
        find all ome.model.containers.FolderImageLink which have the argument as their child.
      • linkedImageList

        public java.util.List<Image> linkedImageList()
        produces a List-copy of the underlying collection. Unlike, linkedImageIterator(), while using the returned List, modifications can be made to the underlying collection without throwing ConcurrentModificationException.
      • eachLinkedImage

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

        public void unlinkImage​(Image removal)
        unlinks all ome.model.core.Image instances from this instance.
      • removeFolderImageLink

        public void removeFolderImageLink​(FolderImageLink link,
                                          boolean bothSides)
        removes the given FolderImageLink from imageLinks, allowing for recursion -- whether or not the removal will call unlinkFolder again if loaded.
      • clearImageLinks

        public void clearImageLinks()
        clears the set.
      • setImageLinksCountPerOwner

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

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

        protected java.util.Set<FolderRoiLink> getRoiLinks()
        returns roiLinks . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many Set ome.model.containers.Folder.roiLinks (ome.model.containers.FolderRoiLink)
      • setRoiLinks

        protected void setRoiLinks​(java.util.Set<FolderRoiLink> roiLinks)
        setter for roiLinks should be avoided. Does not fulfill normal semantics.
      • sizeOfRoiLinks

        public int sizeOfRoiLinks()
        returns the size of roiLinks. If less than zero, the Set was null.
      • iterateRoiLinks

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

        public java.util.Collection<FolderRoiLink> unmodifiableRoiLinks()
        Returns an unmodifiable collection-view
      • collectRoiLinks

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

        public void addFolderRoiLink​(FolderRoiLink target)
        use instead of setRoiLinks . Makes the necessary call on ome.model.containers.FolderRoiLink as well.
      • addFolderRoiLinkSet

        public void addFolderRoiLinkSet​(java.util.Collection<FolderRoiLink> targets)
        use like addFolderRoiLink.
      • removeFolderRoiLink

        public void removeFolderRoiLink​(FolderRoiLink target)
        removes a single element from this set and makes the inverse call on ome.model.containers.FolderRoiLink
      • removeFolderRoiLinkSet

        public void removeFolderRoiLinkSet​(java.util.Collection<FolderRoiLink> targets)
        use like removeFolderRoiLink
      • linkRoi

        public FolderRoiLink linkRoi​(Roi addition)
        Adds a ome.model.containers.FolderRoiLink to roiLinks . This entails changing our roiLinks Set, creating a new ome.model.containers.FolderRoiLink and calling linkRoi on the ome.model.roi.Roi.
      • addFolderRoiLink

        public void addFolderRoiLink​(FolderRoiLink link,
                                     boolean bothSides)
        Adds a ome.model.containers.FolderRoiLink to roiLinks, allowing for recursion -- whether or not addFolderRoiLink will be called on the addition if it is loaded
      • linkedRoiIterator

        public java.util.Iterator<Roi> linkedRoiIterator()
        provides an iterator over the parent values of the roiLinks. Like with most Collection iterators, modifications to the underlying collection while iterating will result in an ConcurrentModificationException. Use linkedRoiList() instead.
      • findFolderRoiLink

        public java.util.Set<FolderRoiLink> findFolderRoiLink​(Roi target)
        find all ome.model.containers.FolderRoiLink which have the argument as their child.
      • linkedRoiList

        public java.util.List<Roi> linkedRoiList()
        produces a List-copy of the underlying collection. Unlike, linkedRoiIterator(), while using the returned List, modifications can be made to the underlying collection without throwing ConcurrentModificationException.
      • eachLinkedRoi

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

        public void unlinkRoi​(Roi removal)
        unlinks all ome.model.roi.Roi instances from this instance.
      • removeFolderRoiLink

        public void removeFolderRoiLink​(FolderRoiLink link,
                                        boolean bothSides)
        removes the given FolderRoiLink from roiLinks, allowing for recursion -- whether or not the removal will call unlinkFolder again if loaded.
      • clearRoiLinks

        public void clearRoiLinks()
        clears the set.
      • setRoiLinksCountPerOwner

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

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

        protected java.util.Set<FolderAnnotationLink> 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.containers.Folder.annotationLinks (ome.model.annotations.FolderAnnotationLink)
      • setAnnotationLinks

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

        public void addFolderAnnotationLink​(FolderAnnotationLink target)
        use instead of setAnnotationLinks . Makes the necessary call on ome.model.annotations.FolderAnnotationLink as well.
      • addFolderAnnotationLinkSet

        public void addFolderAnnotationLinkSet​(java.util.Collection<FolderAnnotationLink> targets)
        use like addFolderAnnotationLink.
      • removeFolderAnnotationLink

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

        public void removeFolderAnnotationLinkSet​(java.util.Collection<FolderAnnotationLink> targets)
        use like removeFolderAnnotationLink
      • linkAnnotation

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

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

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

        public void removeFolderAnnotationLink​(FolderAnnotationLink link,
                                               boolean bothSides)
        removes the given FolderAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkFolder 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.FolderAnnotationLink that a user has. If unfetched, returns null. No entries in the collection should be null.
      • getName

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getName()
        Simple field ome.model.containers.Folder.name (java.lang.String)
      • setName

        public void setName​(java.lang.String name)
      • getDescription

        @Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.String getDescription()
        Simple field ome.model.containers.Folder.description (java.lang.String)
      • setDescription

        public void setDescription​(java.lang.String description)
      • 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 Folder newInstance()
      • proxy

        public Folder 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)