Package ome.model.annotations
Class InstrumentAnnotationLink
- java.lang.Object
-
- ome.model.annotations.InstrumentAnnotationLink
-
- All Implemented Interfaces:
java.io.Serializable,IAnnotationLink,ILink,IMutable,IObject,Filterable
@Entity @Indexed(index="FullText") @ClassBridge(name="details", impl=DetailsFieldBridge.class, index=UN_TOKENIZED, store=NO) public class InstrumentAnnotationLink extends java.lang.Object implements java.io.Serializable, IObject, IMutable, IAnnotationLinkThese 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 classInstrumentAnnotationLink.Details
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.Object>_dynamicFieldsprotected boolean_loadedprotected IObjectchildstatic java.lang.StringCHILDprotected Detailsdetailsstatic java.lang.StringDETAILSstatic java.lang.StringEVENT_FILTERstatic java.util.Set<java.lang.String>FIELDSstatic java.lang.StringGROUP_FILTERprotected java.lang.Longidstatic java.lang.StringIDstatic java.lang.StringOWNER_FILTERprotected IObjectparentstatic java.lang.StringPARENTstatic java.lang.StringPERMS_FILTERprotected java.lang.Integerversionstatic java.lang.StringVERSION
-
Constructor Summary
Constructors Modifier Constructor Description InstrumentAnnotationLink()protectedInstrumentAnnotationLink(java.lang.Long id)InstrumentAnnotationLink(java.lang.Long id, boolean loaded)Main constructor.InstrumentAnnotationLink(IObject _parent, IObject _child)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptFilter(Filter __filter)Annotationchild()protected voiderrorIfUnloaded()java.util.Set<java.lang.String>fields()returns a Set of field names that belong to this classIObjectgetChild()Many-to-one field ome.model.annotations.InstrumentAnnotationLink.child (ome.model.annotations.Annotation)DetailsgetDetails()The details of this object correspond to low-level system information.GraphHoldergetGraphHolder()retrieves theGraphHolderfor this entity.java.lang.LonggetId()The DB unique identifier for this object.IObjectgetParent()Many-to-one field ome.model.annotations.InstrumentAnnotationLink.parent (ome.model.acquisition.Instrument)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()voidlink(Instrument parent, Annotation child)InstrumentAnnotationLinknewInstance()Instrumentparent()InstrumentAnnotationLinkproxy()voidputAt(java.lang.String field, java.lang.Object value)stores a value in this instance.java.lang.Objectretrieve(java.lang.String field)retrieves a value from this instance.voidsetChild(IObject child)protected voidsetDetails(Details details)voidsetId(java.lang.Long id)usually unneeded.voidsetParent(IObject parent)voidsetVersion(java.lang.Integer version)use with caution.protected voidthrowNullCollectionException(java.lang.String propertyName)java.lang.StringtoString()voidunload()set the loaded field to false, and set all non-ID fields to null.Validationvalidate()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
-
parent
protected IObject parent
-
child
protected IObject child
-
details
protected Details details
-
PARENT
public static final java.lang.String PARENT
- See Also:
- Constant Field Values
-
CHILD
public static final java.lang.String CHILD
- 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
-
-
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.
-
getParent
public IObject getParent()
Many-to-one field ome.model.annotations.InstrumentAnnotationLink.parent (ome.model.acquisition.Instrument)
-
getChild
public IObject getChild()
Many-to-one field ome.model.annotations.InstrumentAnnotationLink.child (ome.model.annotations.Annotation)
-
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 InstrumentAnnotationLink newInstance()
-
proxy
public InstrumentAnnotationLink 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)
-
link
public void link(Instrument parent, Annotation child)
-
parent
public Instrument parent()
-
child
public Annotation child()
-
-