Class RenderingDef

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

    @Entity
    @Indexed(index="FullText")
    @ClassBridge(name="details",
                 impl=DetailsFieldBridge.class,
                 index=UN_TOKENIZED,
                 store=NO)
    public class RenderingDef
    extends java.lang.Object
    implements java.io.Serializable, IObject, IMutable
    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
      • pixels

        protected Pixels pixels
      • defaultZ

        protected java.lang.Integer defaultZ
      • defaultT

        protected java.lang.Integer defaultT
      • waveRendering

        protected java.util.List<ChannelBinding> waveRendering
      • OWNER_FILTER_WAVERENDERING

        public static final java.lang.String OWNER_FILTER_WAVERENDERING
        See Also:
        Constant Field Values
      • GROUP_FILTER_WAVERENDERING

        public static final java.lang.String GROUP_FILTER_WAVERENDERING
        See Also:
        Constant Field Values
      • EVENT_FILTER_WAVERENDERING

        public static final java.lang.String EVENT_FILTER_WAVERENDERING
        See Also:
        Constant Field Values
      • PERMS_FILTER_WAVERENDERING

        public static final java.lang.String PERMS_FILTER_WAVERENDERING
        See Also:
        Constant Field Values
      • name

        protected java.lang.String name
      • compression

        protected java.lang.Double compression
      • projections

        protected java.util.List<ProjectionDef> projections
      • OWNER_FILTER_PROJECTIONS

        public static final java.lang.String OWNER_FILTER_PROJECTIONS
        See Also:
        Constant Field Values
      • GROUP_FILTER_PROJECTIONS

        public static final java.lang.String GROUP_FILTER_PROJECTIONS
        See Also:
        Constant Field Values
      • EVENT_FILTER_PROJECTIONS

        public static final java.lang.String EVENT_FILTER_PROJECTIONS
        See Also:
        Constant Field Values
      • PERMS_FILTER_PROJECTIONS

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

        protected Details details
      • 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

      • RenderingDef

        public RenderingDef()
      • RenderingDef

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

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

        public RenderingDef​(Pixels _pixels,
                            java.lang.Integer _defaultZ,
                            java.lang.Integer _defaultT,
                            RenderingModel _model,
                            QuantumDef _quantization)
    • 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.
      • getPixels

        public Pixels getPixels()
        Many-to-one field ome.model.display.RenderingDef.pixels (ome.model.core.Pixels)
      • setPixels

        public void setPixels​(Pixels pixels)
      • getDefaultZ

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getDefaultZ()
        Simple field ome.model.display.RenderingDef.defaultZ (java.lang.Integer)
      • setDefaultZ

        public void setDefaultZ​(java.lang.Integer defaultZ)
      • getDefaultT

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Integer getDefaultT()
        Simple field ome.model.display.RenderingDef.defaultT (java.lang.Integer)
      • setDefaultT

        public void setDefaultT​(java.lang.Integer defaultT)
      • getModel

        public RenderingModel getModel()
        Many-to-one field ome.model.display.RenderingDef.model (ome.model.enums.RenderingModel)
      • getWaveRendering

        protected java.util.List<ChannelBinding> getWaveRendering()
        returns waveRendering . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many List ome.model.display.RenderingDef.waveRendering (ome.model.display.ChannelBinding) Values are indexed by the column "index" on ome.model.display.ChannelBinding
      • setWaveRendering

        protected void setWaveRendering​(java.util.List<ChannelBinding> waveRendering)
        setter for waveRendering should be avoided. Does not fulfill normal semantics.
      • sizeOfWaveRendering

        public int sizeOfWaveRendering()
        returns the size of waveRendering. If less than zero, the Set was null.
      • iterateWaveRendering

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

        public java.util.Collection<ChannelBinding> unmodifiableWaveRendering()
        Returns an unmodifiable collection-view
      • collectWaveRendering

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

        public void addChannelBinding​(ChannelBinding target)
        use instead of setWaveRendering . Makes the necessary call on ome.model.display.ChannelBinding as well.
      • addChannelBindingSet

        public void addChannelBindingSet​(java.util.Collection<ChannelBinding> targets)
        use like addChannelBinding.
      • removeChannelBinding

        public void removeChannelBinding​(ChannelBinding target)
        removes a single element from this set and makes the inverse call on ome.model.display.ChannelBinding
      • removeChannelBindingSet

        public void removeChannelBindingSet​(java.util.Collection<ChannelBinding> targets)
        use like removeChannelBinding
      • clearWaveRendering

        public void clearWaveRendering()
        clears the set.
      • getChannelBinding

        public ChannelBinding getChannelBinding​(int index)
                                         throws java.lang.IndexOutOfBoundsException
        Gets the ome.model.display.ChannelBinding at the given index.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setChannelBinding

        public ChannelBinding setChannelBinding​(int index,
                                                ChannelBinding element)
                                         throws java.lang.IndexOutOfBoundsException
        Sets the ome.model.display.ChannelBinding at the given index. Adheres to the List.set(int, Object) contract. To extend the list, use addChannelBinding(ChannelBinding).
        Throws:
        java.lang.IndexOutOfBoundsException
        See Also:
        List.set(int, Object)
      • getPrimaryChannelBinding

        public ChannelBinding getPrimaryChannelBinding()
                                                throws java.lang.IndexOutOfBoundsException
        Gets the first element of waveRendering 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 sizeOfWaveRendering() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setPrimaryChannelBinding

        public ChannelBinding setPrimaryChannelBinding​(ChannelBinding element)
                                                throws java.lang.IndexOutOfBoundsException
        Swaps the first element of waveRendering 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 sizeOfWaveRendering() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • getName

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

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

        @Field(index=UN_TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields")
        public java.lang.Double getCompression()
        Simple field ome.model.display.RenderingDef.compression (java.lang.Double)
      • setCompression

        public void setCompression​(java.lang.Double compression)
      • getQuantization

        public QuantumDef getQuantization()
        Many-to-one field ome.model.display.RenderingDef.quantization (ome.model.display.QuantumDef)
      • setQuantization

        public void setQuantization​(QuantumDef quantization)
      • getProjections

        protected java.util.List<ProjectionDef> getProjections()
        returns projections . You should not modify this collection unless you know what you are doing. Use the iterate method instead. one-to-many List ome.model.display.RenderingDef.projections (ome.model.display.ProjectionDef) Values are indexed by the column "index" on ome.model.display.ProjectionDef
      • setProjections

        protected void setProjections​(java.util.List<ProjectionDef> projections)
        setter for projections should be avoided. Does not fulfill normal semantics.
      • sizeOfProjections

        public int sizeOfProjections()
        returns the size of projections. If less than zero, the Set was null.
      • iterateProjections

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

        public java.util.Collection<ProjectionDef> unmodifiableProjections()
        Returns an unmodifiable collection-view
      • collectProjections

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

        public void addProjectionDef​(ProjectionDef target)
        use instead of setProjections . Makes the necessary call on ome.model.display.ProjectionDef as well.
      • addProjectionDefSet

        public void addProjectionDefSet​(java.util.Collection<ProjectionDef> targets)
        use like addProjectionDef.
      • removeProjectionDef

        public void removeProjectionDef​(ProjectionDef target)
        removes a single element from this set and makes the inverse call on ome.model.display.ProjectionDef
      • removeProjectionDefSet

        public void removeProjectionDefSet​(java.util.Collection<ProjectionDef> targets)
        use like removeProjectionDef
      • clearProjections

        public void clearProjections()
        clears the set.
      • getProjectionDef

        public ProjectionDef getProjectionDef​(int index)
                                       throws java.lang.IndexOutOfBoundsException
        Gets the ome.model.display.ProjectionDef at the given index.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setProjectionDef

        public ProjectionDef setProjectionDef​(int index,
                                              ProjectionDef element)
                                       throws java.lang.IndexOutOfBoundsException
        Sets the ome.model.display.ProjectionDef at the given index. Adheres to the List.set(int, Object) contract. To extend the list, use addProjectionDef(ProjectionDef).
        Throws:
        java.lang.IndexOutOfBoundsException
        See Also:
        List.set(int, Object)
      • getPrimaryProjectionDef

        public ProjectionDef getPrimaryProjectionDef()
                                              throws java.lang.IndexOutOfBoundsException
        Gets the first element of projections 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 sizeOfProjections() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • setPrimaryProjectionDef

        public ProjectionDef setPrimaryProjectionDef​(ProjectionDef element)
                                              throws java.lang.IndexOutOfBoundsException
        Swaps the first element of projections 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 sizeOfProjections() for more information.
        Throws:
        java.lang.IndexOutOfBoundsException
      • 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)