Package ome.model.core
Class Channel
- java.lang.Object
-
- ome.model.core.Channel
-
- 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 Channel extends java.lang.Object implements java.io.Serializable, IObject, IMutable, IAnnotatedThese 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classChannel.Details
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.Object>_dynamicFieldsprotected boolean_loadedprotected java.lang.Integeralphastatic java.lang.StringALPHAprotected java.util.Set<ChannelAnnotationLink>annotationLinksstatic java.lang.StringANNOTATIONLINKSstatic java.lang.StringANNOTATIONLINKSCOUNTPEROWNERprotected java.lang.Integerbluestatic java.lang.StringBLUEprotected Detailsdetailsstatic java.lang.StringDETAILSstatic java.lang.StringEVENT_FILTERstatic java.lang.StringEVENT_FILTER_ANNOTATIONLINKSstatic java.util.Set<java.lang.String>FIELDSprotected java.lang.Integergreenstatic java.lang.StringGREENstatic java.lang.StringGROUP_FILTERstatic java.lang.StringGROUP_FILTER_ANNOTATIONLINKSprotected java.lang.Longidstatic java.lang.StringIDprotected LogicalChannellogicalChannelstatic java.lang.StringLOGICALCHANNELprotected java.lang.StringlookupTablestatic java.lang.StringLOOKUPTABLEstatic java.lang.StringOWNER_FILTERstatic java.lang.StringOWNER_FILTER_ANNOTATIONLINKSstatic java.lang.StringPERMS_FILTERstatic java.lang.StringPERMS_FILTER_ANNOTATIONLINKSprotected Pixelspixelsstatic java.lang.StringPIXELSprotected java.lang.Integerredstatic java.lang.StringREDprotected StatsInfostatsInfostatic java.lang.StringSTATSINFOprotected java.lang.Integerversionstatic java.lang.StringVERSION
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptFilter(Filter __filter)voidaddChannelAnnotationLink(ChannelAnnotationLink target)use instead of setAnnotationLinks .voidaddChannelAnnotationLink(ChannelAnnotationLink link, boolean bothSides)Adds a ome.model.annotations.ChannelAnnotationLink to annotationLinks, allowing for recursion -- whether or not addChannelAnnotationLink will be called on the addition if it is loadedvoidaddChannelAnnotationLinkSet(java.util.Collection<ChannelAnnotationLink> targets)use like addChannelAnnotationLink.voidclearAnnotationLinks()clears the set.<E> java.util.List<E>collectAnnotationLinks(CBlock<E> block)takes a CBlock and calls the block once for each ome.model.annotations.ChannelAnnotationLink while collecting the results.<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.protected voiderrorIfUnloaded()java.util.Set<java.lang.String>fields()returns a Set of field names that belong to this classjava.util.Set<ChannelAnnotationLink>findChannelAnnotationLink(Annotation target)find all ome.model.annotations.ChannelAnnotationLink which have the argument as their child.java.lang.IntegergetAlpha()Simple field ome.model.core.Channel.alpha (java.lang.Integer)protected java.util.Set<ChannelAnnotationLink>getAnnotationLinks()returns annotationLinks .java.util.Map<java.lang.Long,java.lang.Long>getAnnotationLinksCountPerOwner()If fetched, returns the count(*) of ome.model.annotations.ChannelAnnotationLink that a user has.java.lang.IntegergetBlue()Simple field ome.model.core.Channel.blue (java.lang.Integer)DetailsgetDetails()The details of this object correspond to low-level system information.GraphHoldergetGraphHolder()retrieves theGraphHolderfor this entity.java.lang.IntegergetGreen()Simple field ome.model.core.Channel.green (java.lang.Integer)java.lang.LonggetId()The DB unique identifier for this object.LogicalChannelgetLogicalChannel()Many-to-one field ome.model.core.Channel.logicalChannel (ome.model.core.LogicalChannel)java.lang.StringgetLookupTable()Simple field ome.model.core.Channel.lookupTable (java.lang.String)PixelsgetPixels()Many-to-one field ome.model.core.Channel.pixels (ome.model.core.Pixels)java.lang.IntegergetRed()Simple field ome.model.core.Channel.red (java.lang.Integer)StatsInfogetStatsInfo()Many-to-one field ome.model.core.Channel.statsInfo (ome.model.stats.StatsInfo)java.lang.IntegergetVersion()This version number is controlled by the database for optimisitic locking.booleanisLoaded()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.booleanisValid()calls the class-specific validator for this instance and returns the value fromValidation.isValid()java.util.Iterator<ChannelAnnotationLink>iterateAnnotationLinks()should be used rather than accessing the annotationLinks set directly.ChannelAnnotationLinklinkAnnotation(Annotation addition)Adds a ome.model.annotations.ChannelAnnotationLink to annotationLinks .java.util.Iterator<Annotation>linkedAnnotationIterator()provides an iterator over the parent values of the annotationLinks.java.util.List<Annotation>linkedAnnotationList()produces aList-copy of the underlying collection.ChannelnewInstance()Channelproxy()voidputAt(java.lang.String field, java.lang.Object value)stores a value in this instance.voidremoveChannelAnnotationLink(ChannelAnnotationLink target)removes a single element from this set and makes the inverse call on ome.model.annotations.ChannelAnnotationLinkvoidremoveChannelAnnotationLink(ChannelAnnotationLink link, boolean bothSides)removes the given ChannelAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkChannel again if loaded.voidremoveChannelAnnotationLinkSet(java.util.Collection<ChannelAnnotationLink> targets)use like removeChannelAnnotationLinkjava.lang.Objectretrieve(java.lang.String field)retrieves a value from this instance.voidsetAlpha(java.lang.Integer alpha)protected voidsetAnnotationLinks(java.util.Set<ChannelAnnotationLink> annotationLinks)setter for annotationLinks should be avoided.protected voidsetAnnotationLinksCountPerOwner(java.util.Map<java.lang.Long,java.lang.Long> map)voidsetBlue(java.lang.Integer blue)protected voidsetDetails(Details details)voidsetGreen(java.lang.Integer green)voidsetId(java.lang.Long id)usually unneeded.voidsetLogicalChannel(LogicalChannel logicalChannel)voidsetLookupTable(java.lang.String lookupTable)voidsetPixels(Pixels pixels)voidsetRed(java.lang.Integer red)voidsetStatsInfo(StatsInfo statsInfo)voidsetVersion(java.lang.Integer version)use with caution.intsizeOfAnnotationLinks()returns the size of annotationLinks.protected voidthrowNullCollectionException(java.lang.String propertyName)java.lang.StringtoString()voidunlinkAnnotation(Annotation removal)unlinks all ome.model.annotations.Annotation instances from this instance.voidunload()set the loaded field to false, and set all non-ID fields to null.java.util.Collection<ChannelAnnotationLink>unmodifiableAnnotationLinks()Returns an unmodifiable collection-viewValidationvalidate()calls the class-specific validator for this instance and returns theValidationobject.
-
-
-
Field Detail
-
OWNER_FILTER
public static final java.lang.String OWNER_FILTER
- See Also:
- Constant Field Values
-
GROUP_FILTER
public static final java.lang.String GROUP_FILTER
- See Also:
- Constant Field Values
-
EVENT_FILTER
public static final java.lang.String EVENT_FILTER
- See Also:
- Constant Field Values
-
PERMS_FILTER
public static final java.lang.String PERMS_FILTER
- See Also:
- Constant Field Values
-
ID
public static final java.lang.String ID
- See Also:
- Constant Field Values
-
id
protected java.lang.Long id
-
VERSION
public static final java.lang.String VERSION
- See Also:
- Constant Field Values
-
version
protected java.lang.Integer version
-
statsInfo
protected StatsInfo statsInfo
-
red
protected java.lang.Integer red
-
green
protected java.lang.Integer green
-
blue
protected java.lang.Integer blue
-
alpha
protected java.lang.Integer alpha
-
lookupTable
protected java.lang.String lookupTable
-
logicalChannel
protected LogicalChannel logicalChannel
-
pixels
protected Pixels pixels
-
annotationLinks
protected java.util.Set<ChannelAnnotationLink> annotationLinks
-
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
-
STATSINFO
public static final java.lang.String STATSINFO
- See Also:
- Constant Field Values
-
RED
public static final java.lang.String RED
- See Also:
- Constant Field Values
-
GREEN
public static final java.lang.String GREEN
- See Also:
- Constant Field Values
-
BLUE
public static final java.lang.String BLUE
- See Also:
- Constant Field Values
-
ALPHA
public static final java.lang.String ALPHA
- See Also:
- Constant Field Values
-
LOOKUPTABLE
public static final java.lang.String LOOKUPTABLE
- See Also:
- Constant Field Values
-
LOGICALCHANNEL
public static final java.lang.String LOGICALCHANNEL
- See Also:
- Constant Field Values
-
PIXELS
public static final java.lang.String PIXELS
- See Also:
- Constant Field Values
-
ANNOTATIONLINKSCOUNTPEROWNER
public static final java.lang.String ANNOTATIONLINKSCOUNTPEROWNER
- See Also:
- Constant Field Values
-
ANNOTATIONLINKS
public static final java.lang.String ANNOTATIONLINKS
- See Also:
- Constant Field Values
-
DETAILS
public static final java.lang.String DETAILS
- 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
-
Channel
public Channel()
-
Channel
protected Channel(java.lang.Long id)
-
Channel
public Channel(java.lang.Long id, boolean loaded)Main constructor.
-
Channel
public Channel(LogicalChannel _logicalChannel, Pixels _pixels)
-
-
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.
-
setId
public void setId(java.lang.Long id)
Description copied from interface:IObjectusually unneeded. Ids are managed by the backend.
-
getVersion
public java.lang.Integer getVersion()
This version number is controlled by the database for optimisitic locking.- Specified by:
getVersionin interfaceIMutable
-
setVersion
public void setVersion(java.lang.Integer version)
Description copied from interface:IMutableuse 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:
setVersionin interfaceIMutable- Parameters:
version- Value for this objects version.
-
getStatsInfo
public StatsInfo getStatsInfo()
Many-to-one field ome.model.core.Channel.statsInfo (ome.model.stats.StatsInfo)
-
setStatsInfo
public void setStatsInfo(StatsInfo statsInfo)
-
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.core.Channel.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.core.Channel.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.core.Channel.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.core.Channel.alpha (java.lang.Integer)
-
setAlpha
public void setAlpha(java.lang.Integer alpha)
-
getLookupTable
@Field(index=TOKENIZED) @Field(index=TOKENIZED,analyzer=@Analyzer(impl=ConfiguredAnalyzer.class),name="combined_fields") public java.lang.String getLookupTable()
Simple field ome.model.core.Channel.lookupTable (java.lang.String)
-
setLookupTable
public void setLookupTable(java.lang.String lookupTable)
-
getLogicalChannel
public LogicalChannel getLogicalChannel()
Many-to-one field ome.model.core.Channel.logicalChannel (ome.model.core.LogicalChannel)
-
setLogicalChannel
public void setLogicalChannel(LogicalChannel logicalChannel)
-
getPixels
public Pixels getPixels()
Many-to-one field ome.model.core.Channel.pixels (ome.model.core.Pixels)
-
setPixels
public void setPixels(Pixels pixels)
-
getAnnotationLinks
protected java.util.Set<ChannelAnnotationLink> 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.core.Channel.annotationLinks (ome.model.annotations.ChannelAnnotationLink)
-
setAnnotationLinks
protected void setAnnotationLinks(java.util.Set<ChannelAnnotationLink> 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:
sizeOfAnnotationLinksin interfaceIAnnotated
-
iterateAnnotationLinks
public java.util.Iterator<ChannelAnnotationLink> iterateAnnotationLinks()
should be used rather than accessing the annotationLinks set directly. This method will never return null, but rather will return an instance ofEmptyIterator. To test for a null collection, see ofsizeOfAnnotationLinks()is less than zero.- Specified by:
iterateAnnotationLinksin interfaceIAnnotated
-
unmodifiableAnnotationLinks
public java.util.Collection<ChannelAnnotationLink> unmodifiableAnnotationLinks()
Returns an unmodifiable collection-view- Specified by:
unmodifiableAnnotationLinksin interfaceIAnnotated
-
collectAnnotationLinks
public <E> java.util.List<E> collectAnnotationLinks(CBlock<E> block)
takes a CBlock and calls the block once for each ome.model.annotations.ChannelAnnotationLink while collecting the results. Ifblock == null, then the iterator values themselves are collected. This method usesiterateAnnotationLinks()internally and so will return a value even if the underlying collection is null.- Specified by:
collectAnnotationLinksin interfaceIAnnotated
-
addChannelAnnotationLink
public void addChannelAnnotationLink(ChannelAnnotationLink target)
use instead of setAnnotationLinks . Makes the necessary call on ome.model.annotations.ChannelAnnotationLink as well.
-
addChannelAnnotationLinkSet
public void addChannelAnnotationLinkSet(java.util.Collection<ChannelAnnotationLink> targets)
use like addChannelAnnotationLink.
-
removeChannelAnnotationLink
public void removeChannelAnnotationLink(ChannelAnnotationLink target)
removes a single element from this set and makes the inverse call on ome.model.annotations.ChannelAnnotationLink
-
removeChannelAnnotationLinkSet
public void removeChannelAnnotationLinkSet(java.util.Collection<ChannelAnnotationLink> targets)
use like removeChannelAnnotationLink
-
linkAnnotation
public ChannelAnnotationLink linkAnnotation(Annotation addition)
Adds a ome.model.annotations.ChannelAnnotationLink to annotationLinks . This entails changing our annotationLinks Set, creating a new ome.model.annotations.ChannelAnnotationLink and calling linkAnnotation on the ome.model.annotations.Annotation.- Specified by:
linkAnnotationin interfaceIAnnotated
-
addChannelAnnotationLink
public void addChannelAnnotationLink(ChannelAnnotationLink link, boolean bothSides)
Adds a ome.model.annotations.ChannelAnnotationLink to annotationLinks, allowing for recursion -- whether or not addChannelAnnotationLink 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 anConcurrentModificationException. UselinkedAnnotationList()instead.- Specified by:
linkedAnnotationIteratorin interfaceIAnnotated
-
findChannelAnnotationLink
public java.util.Set<ChannelAnnotationLink> findChannelAnnotationLink(Annotation target)
find all ome.model.annotations.ChannelAnnotationLink which have the argument as their child.
-
linkedAnnotationList
public java.util.List<Annotation> linkedAnnotationList()
produces aList-copy of the underlying collection. Unlike,linkedAnnotationIterator(), while using the returnedList, modifications can be made to the underlying collection without throwingConcurrentModificationException.- Specified by:
linkedAnnotationListin interfaceIAnnotated
-
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. Ifblock == null, then the iterator values themselves are collected.- Specified by:
eachLinkedAnnotationin interfaceIAnnotated
-
unlinkAnnotation
public void unlinkAnnotation(Annotation removal)
unlinks all ome.model.annotations.Annotation instances from this instance.- Specified by:
unlinkAnnotationin interfaceIAnnotated
-
removeChannelAnnotationLink
public void removeChannelAnnotationLink(ChannelAnnotationLink link, boolean bothSides)
removes the given ChannelAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkChannel again if loaded.
-
clearAnnotationLinks
public void clearAnnotationLinks()
clears the set.- Specified by:
clearAnnotationLinksin interfaceIAnnotated
-
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.ChannelAnnotationLink 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 theDetailstype.- Specified by:
getDetailsin interfaceIObject
-
setDetails
protected void setDetails(Details details)
-
isValid
public boolean isValid()
Description copied from interface:IObjectcalls the class-specific validator for this instance and returns the value fromValidation.isValid()
-
validate
public Validation validate()
Description copied from interface:IObjectcalls the class-specific validator for this instance and returns theValidationobject.
-
newInstance
public Channel newInstance()
-
proxy
public Channel proxy()
-
acceptFilter
public boolean acceptFilter(Filter __filter)
- Specified by:
acceptFilterin interfaceFilterable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
fields
public java.util.Set<java.lang.String> fields()
Description copied from interface:IObjectreturns a Set of field names that belong to this class
-
retrieve
public java.lang.Object retrieve(java.lang.String field)
Description copied from interface:IObjectretrieves a value from this instance. Values forfieldwhich 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 toIObject.putAt(String, Object)
-
putAt
public void putAt(java.lang.String field, java.lang.Object value)Description copied from interface:IObjectstores a value in this instance. Values forfieldwhich match a field of this instance will be delegated to the accessors. Otherwise, values will be stored in a lazy-loaded map.
-
isLoaded
public boolean isLoaded()
Description copied from interface:IObjecttransient 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.
-
errorIfUnloaded
protected void errorIfUnloaded()
-
unload
public void unload()
Description copied from interface:IObjectset 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
-
getGraphHolder
public final GraphHolder getGraphHolder()
Description copied from interface:IObjectretrieves theGraphHolderfor this entity. If the GraphHolder has not been actively set, a new one will be instatiated.- Specified by:
getGraphHolderin interfaceIObject- Returns:
- Non-null GraphHolder
-
throwNullCollectionException
protected void throwNullCollectionException(java.lang.String propertyName)
-
-