Package ome.model.containers
Class Project
- java.lang.Object
-
- ome.model.containers.Project
-
- 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 Project 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Project.Details
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.Object>
_dynamicFields
protected boolean
_loaded
protected java.util.Set<ProjectAnnotationLink>
annotationLinks
static java.lang.String
ANNOTATIONLINKS
static java.lang.String
ANNOTATIONLINKSCOUNTPEROWNER
protected java.util.Set<ProjectDatasetLink>
datasetLinks
static java.lang.String
DATASETLINKS
static java.lang.String
DATASETLINKSCOUNTPEROWNER
protected java.lang.String
description
static java.lang.String
DESCRIPTION
protected Details
details
static java.lang.String
DETAILS
static java.lang.String
EVENT_FILTER
static java.lang.String
EVENT_FILTER_ANNOTATIONLINKS
static java.lang.String
EVENT_FILTER_DATASETLINKS
static java.util.Set<java.lang.String>
FIELDS
static java.lang.String
GROUP_FILTER
static java.lang.String
GROUP_FILTER_ANNOTATIONLINKS
static java.lang.String
GROUP_FILTER_DATASETLINKS
protected java.lang.Long
id
static java.lang.String
ID
protected java.lang.String
name
static java.lang.String
NAME
static java.lang.String
OWNER_FILTER
static java.lang.String
OWNER_FILTER_ANNOTATIONLINKS
static java.lang.String
OWNER_FILTER_DATASETLINKS
static java.lang.String
PERMS_FILTER
static java.lang.String
PERMS_FILTER_ANNOTATIONLINKS
static java.lang.String
PERMS_FILTER_DATASETLINKS
protected java.lang.Integer
version
static java.lang.String
VERSION
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptFilter(Filter __filter)
void
addProjectAnnotationLink(ProjectAnnotationLink target)
use instead of setAnnotationLinks .void
addProjectAnnotationLink(ProjectAnnotationLink link, boolean bothSides)
Adds a ome.model.annotations.ProjectAnnotationLink to annotationLinks, allowing for recursion -- whether or not addProjectAnnotationLink will be called on the addition if it is loadedvoid
addProjectAnnotationLinkSet(java.util.Collection<ProjectAnnotationLink> targets)
use like addProjectAnnotationLink.void
addProjectDatasetLink(ProjectDatasetLink target)
use instead of setDatasetLinks .void
addProjectDatasetLink(ProjectDatasetLink link, boolean bothSides)
Adds a ome.model.containers.ProjectDatasetLink to datasetLinks, allowing for recursion -- whether or not addProjectDatasetLink will be called on the addition if it is loadedvoid
addProjectDatasetLinkSet(java.util.Collection<ProjectDatasetLink> targets)
use like addProjectDatasetLink.void
clearAnnotationLinks()
clears the set.void
clearDatasetLinks()
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.ProjectAnnotationLink while collecting the results.<E> java.util.List<E>
collectDatasetLinks(CBlock<E> block)
takes a CBlock and calls the block once for each ome.model.containers.ProjectDatasetLink 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.<E> java.util.List<E>
eachLinkedDataset(CBlock<E> block)
takes a CBlock and calls the block once for each ome.model.containers.Dataset while collecting the results.protected void
errorIfUnloaded()
java.util.Set<java.lang.String>
fields()
returns a Set of field names that belong to this classjava.util.Set<ProjectAnnotationLink>
findProjectAnnotationLink(Annotation target)
find all ome.model.annotations.ProjectAnnotationLink which have the argument as their child.java.util.Set<ProjectDatasetLink>
findProjectDatasetLink(Dataset target)
find all ome.model.containers.ProjectDatasetLink which have the argument as their child.protected java.util.Set<ProjectAnnotationLink>
getAnnotationLinks()
returns annotationLinks .java.util.Map<java.lang.Long,java.lang.Long>
getAnnotationLinksCountPerOwner()
If fetched, returns the count(*) of ome.model.annotations.ProjectAnnotationLink that a user has.protected java.util.Set<ProjectDatasetLink>
getDatasetLinks()
returns datasetLinks .java.util.Map<java.lang.Long,java.lang.Long>
getDatasetLinksCountPerOwner()
If fetched, returns the count(*) of ome.model.containers.ProjectDatasetLink that a user has.java.lang.String
getDescription()
Simple field ome.model.containers.Project.description (java.lang.String)Details
getDetails()
The details of this object correspond to low-level system information.GraphHolder
getGraphHolder()
retrieves theGraphHolder
for this entity.java.lang.Long
getId()
The DB unique identifier for this object.java.lang.String
getName()
Simple field ome.model.containers.Project.name (java.lang.String)java.lang.Integer
getVersion()
This version number is controlled by the database for optimisitic locking.boolean
isLoaded()
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.boolean
isValid()
calls the class-specific validator for this instance and returns the value fromValidation.isValid()
java.util.Iterator<ProjectAnnotationLink>
iterateAnnotationLinks()
should be used rather than accessing the annotationLinks set directly.java.util.Iterator<ProjectDatasetLink>
iterateDatasetLinks()
should be used rather than accessing the datasetLinks set directly.ProjectAnnotationLink
linkAnnotation(Annotation addition)
Adds a ome.model.annotations.ProjectAnnotationLink to annotationLinks .ProjectDatasetLink
linkDataset(Dataset addition)
Adds a ome.model.containers.ProjectDatasetLink to datasetLinks .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.java.util.Iterator<Dataset>
linkedDatasetIterator()
provides an iterator over the parent values of the datasetLinks.java.util.List<Dataset>
linkedDatasetList()
produces aList
-copy of the underlying collection.Project
newInstance()
Project
proxy()
void
putAt(java.lang.String field, java.lang.Object value)
stores a value in this instance.void
removeProjectAnnotationLink(ProjectAnnotationLink target)
removes a single element from this set and makes the inverse call on ome.model.annotations.ProjectAnnotationLinkvoid
removeProjectAnnotationLink(ProjectAnnotationLink link, boolean bothSides)
removes the given ProjectAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkProject again if loaded.void
removeProjectAnnotationLinkSet(java.util.Collection<ProjectAnnotationLink> targets)
use like removeProjectAnnotationLinkvoid
removeProjectDatasetLink(ProjectDatasetLink target)
removes a single element from this set and makes the inverse call on ome.model.containers.ProjectDatasetLinkvoid
removeProjectDatasetLink(ProjectDatasetLink link, boolean bothSides)
removes the given ProjectDatasetLink from datasetLinks, allowing for recursion -- whether or not the removal will call unlinkProject again if loaded.void
removeProjectDatasetLinkSet(java.util.Collection<ProjectDatasetLink> targets)
use like removeProjectDatasetLinkjava.lang.Object
retrieve(java.lang.String field)
retrieves a value from this instance.protected void
setAnnotationLinks(java.util.Set<ProjectAnnotationLink> annotationLinks)
setter for annotationLinks should be avoided.protected void
setAnnotationLinksCountPerOwner(java.util.Map<java.lang.Long,java.lang.Long> map)
protected void
setDatasetLinks(java.util.Set<ProjectDatasetLink> datasetLinks)
setter for datasetLinks should be avoided.protected void
setDatasetLinksCountPerOwner(java.util.Map<java.lang.Long,java.lang.Long> map)
void
setDescription(java.lang.String description)
protected void
setDetails(Details details)
void
setId(java.lang.Long id)
usually unneeded.void
setName(java.lang.String name)
void
setVersion(java.lang.Integer version)
use with caution.int
sizeOfAnnotationLinks()
returns the size of annotationLinks.int
sizeOfDatasetLinks()
returns the size of datasetLinks.protected void
throwNullCollectionException(java.lang.String propertyName)
java.lang.String
toString()
void
unlinkAnnotation(Annotation removal)
unlinks all ome.model.annotations.Annotation instances from this instance.void
unlinkDataset(Dataset removal)
unlinks all ome.model.containers.Dataset instances from this instance.void
unload()
set the loaded field to false, and set all non-ID fields to null.java.util.Collection<ProjectAnnotationLink>
unmodifiableAnnotationLinks()
Returns an unmodifiable collection-viewjava.util.Collection<ProjectDatasetLink>
unmodifiableDatasetLinks()
Returns an unmodifiable collection-viewValidation
validate()
calls the class-specific validator for this instance and returns theValidation
object.
-
-
-
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
-
datasetLinks
protected java.util.Set<ProjectDatasetLink> datasetLinks
-
OWNER_FILTER_DATASETLINKS
public static final java.lang.String OWNER_FILTER_DATASETLINKS
- See Also:
- Constant Field Values
-
GROUP_FILTER_DATASETLINKS
public static final java.lang.String GROUP_FILTER_DATASETLINKS
- See Also:
- Constant Field Values
-
EVENT_FILTER_DATASETLINKS
public static final java.lang.String EVENT_FILTER_DATASETLINKS
- See Also:
- Constant Field Values
-
PERMS_FILTER_DATASETLINKS
public static final java.lang.String PERMS_FILTER_DATASETLINKS
- See Also:
- Constant Field Values
-
annotationLinks
protected java.util.Set<ProjectAnnotationLink> 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
-
name
protected java.lang.String name
-
description
protected java.lang.String description
-
details
protected Details details
-
DATASETLINKSCOUNTPEROWNER
public static final java.lang.String DATASETLINKSCOUNTPEROWNER
- See Also:
- Constant Field Values
-
DATASETLINKS
public static final java.lang.String DATASETLINKS
- 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
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
DESCRIPTION
public static final java.lang.String DESCRIPTION
- 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:IObject
usually 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:
getVersion
in interfaceIMutable
-
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 interfaceIMutable
- Parameters:
version
- Value for this objects version.
-
getDatasetLinks
protected java.util.Set<ProjectDatasetLink> getDatasetLinks()
returns datasetLinks . 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.Project.datasetLinks (ome.model.containers.ProjectDatasetLink)
-
setDatasetLinks
protected void setDatasetLinks(java.util.Set<ProjectDatasetLink> datasetLinks)
setter for datasetLinks should be avoided. Does not fulfill normal semantics.
-
sizeOfDatasetLinks
public int sizeOfDatasetLinks()
returns the size of datasetLinks. If less than zero, the Set was null.
-
iterateDatasetLinks
public java.util.Iterator<ProjectDatasetLink> iterateDatasetLinks()
should be used rather than accessing the datasetLinks set directly. This method will never return null, but rather will return an instance ofEmptyIterator
. To test for a null collection, see ofsizeOfDatasetLinks()
is less than zero.
-
unmodifiableDatasetLinks
public java.util.Collection<ProjectDatasetLink> unmodifiableDatasetLinks()
Returns an unmodifiable collection-view
-
collectDatasetLinks
public <E> java.util.List<E> collectDatasetLinks(CBlock<E> block)
takes a CBlock and calls the block once for each ome.model.containers.ProjectDatasetLink while collecting the results. Ifblock == null
, then the iterator values themselves are collected. This method usesiterateDatasetLinks()
internally and so will return a value even if the underlying collection is null.
-
addProjectDatasetLink
public void addProjectDatasetLink(ProjectDatasetLink target)
use instead of setDatasetLinks . Makes the necessary call on ome.model.containers.ProjectDatasetLink as well.
-
addProjectDatasetLinkSet
public void addProjectDatasetLinkSet(java.util.Collection<ProjectDatasetLink> targets)
use like addProjectDatasetLink.
-
removeProjectDatasetLink
public void removeProjectDatasetLink(ProjectDatasetLink target)
removes a single element from this set and makes the inverse call on ome.model.containers.ProjectDatasetLink
-
removeProjectDatasetLinkSet
public void removeProjectDatasetLinkSet(java.util.Collection<ProjectDatasetLink> targets)
use like removeProjectDatasetLink
-
linkDataset
public ProjectDatasetLink linkDataset(Dataset addition)
Adds a ome.model.containers.ProjectDatasetLink to datasetLinks . This entails changing our datasetLinks Set, creating a new ome.model.containers.ProjectDatasetLink and calling linkDataset on the ome.model.containers.Dataset.
-
addProjectDatasetLink
public void addProjectDatasetLink(ProjectDatasetLink link, boolean bothSides)
Adds a ome.model.containers.ProjectDatasetLink to datasetLinks, allowing for recursion -- whether or not addProjectDatasetLink will be called on the addition if it is loaded
-
linkedDatasetIterator
public java.util.Iterator<Dataset> linkedDatasetIterator()
provides an iterator over the parent values of the datasetLinks. Like with most Collection iterators, modifications to the underlying collection while iterating will result in anConcurrentModificationException
. UselinkedDatasetList()
instead.
-
findProjectDatasetLink
public java.util.Set<ProjectDatasetLink> findProjectDatasetLink(Dataset target)
find all ome.model.containers.ProjectDatasetLink which have the argument as their child.
-
linkedDatasetList
public java.util.List<Dataset> linkedDatasetList()
produces aList
-copy of the underlying collection. Unlike,linkedDatasetIterator()
, while using the returnedList
, modifications can be made to the underlying collection without throwingConcurrentModificationException
.
-
eachLinkedDataset
public <E> java.util.List<E> eachLinkedDataset(CBlock<E> block)
takes a CBlock and calls the block once for each ome.model.containers.Dataset while collecting the results. Ifblock == null
, then the iterator values themselves are collected.
-
unlinkDataset
public void unlinkDataset(Dataset removal)
unlinks all ome.model.containers.Dataset instances from this instance.
-
removeProjectDatasetLink
public void removeProjectDatasetLink(ProjectDatasetLink link, boolean bothSides)
removes the given ProjectDatasetLink from datasetLinks, allowing for recursion -- whether or not the removal will call unlinkProject again if loaded.
-
clearDatasetLinks
public void clearDatasetLinks()
clears the set.
-
setDatasetLinksCountPerOwner
protected void setDatasetLinksCountPerOwner(java.util.Map<java.lang.Long,java.lang.Long> map)
-
getDatasetLinksCountPerOwner
public java.util.Map<java.lang.Long,java.lang.Long> getDatasetLinksCountPerOwner()
If fetched, returns the count(*) of ome.model.containers.ProjectDatasetLink that a user has. If unfetched, returns null. No entries in the collection should be null.
-
getAnnotationLinks
protected java.util.Set<ProjectAnnotationLink> 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.Project.annotationLinks (ome.model.annotations.ProjectAnnotationLink)
-
setAnnotationLinks
protected void setAnnotationLinks(java.util.Set<ProjectAnnotationLink> 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 interfaceIAnnotated
-
iterateAnnotationLinks
public java.util.Iterator<ProjectAnnotationLink> 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:
iterateAnnotationLinks
in interfaceIAnnotated
-
unmodifiableAnnotationLinks
public java.util.Collection<ProjectAnnotationLink> unmodifiableAnnotationLinks()
Returns an unmodifiable collection-view- Specified by:
unmodifiableAnnotationLinks
in 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.ProjectAnnotationLink 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:
collectAnnotationLinks
in interfaceIAnnotated
-
addProjectAnnotationLink
public void addProjectAnnotationLink(ProjectAnnotationLink target)
use instead of setAnnotationLinks . Makes the necessary call on ome.model.annotations.ProjectAnnotationLink as well.
-
addProjectAnnotationLinkSet
public void addProjectAnnotationLinkSet(java.util.Collection<ProjectAnnotationLink> targets)
use like addProjectAnnotationLink.
-
removeProjectAnnotationLink
public void removeProjectAnnotationLink(ProjectAnnotationLink target)
removes a single element from this set and makes the inverse call on ome.model.annotations.ProjectAnnotationLink
-
removeProjectAnnotationLinkSet
public void removeProjectAnnotationLinkSet(java.util.Collection<ProjectAnnotationLink> targets)
use like removeProjectAnnotationLink
-
linkAnnotation
public ProjectAnnotationLink linkAnnotation(Annotation addition)
Adds a ome.model.annotations.ProjectAnnotationLink to annotationLinks . This entails changing our annotationLinks Set, creating a new ome.model.annotations.ProjectAnnotationLink and calling linkAnnotation on the ome.model.annotations.Annotation.- Specified by:
linkAnnotation
in interfaceIAnnotated
-
addProjectAnnotationLink
public void addProjectAnnotationLink(ProjectAnnotationLink link, boolean bothSides)
Adds a ome.model.annotations.ProjectAnnotationLink to annotationLinks, allowing for recursion -- whether or not addProjectAnnotationLink 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:
linkedAnnotationIterator
in interfaceIAnnotated
-
findProjectAnnotationLink
public java.util.Set<ProjectAnnotationLink> findProjectAnnotationLink(Annotation target)
find all ome.model.annotations.ProjectAnnotationLink 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:
linkedAnnotationList
in 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:
eachLinkedAnnotation
in interfaceIAnnotated
-
unlinkAnnotation
public void unlinkAnnotation(Annotation removal)
unlinks all ome.model.annotations.Annotation instances from this instance.- Specified by:
unlinkAnnotation
in interfaceIAnnotated
-
removeProjectAnnotationLink
public void removeProjectAnnotationLink(ProjectAnnotationLink link, boolean bothSides)
removes the given ProjectAnnotationLink from annotationLinks, allowing for recursion -- whether or not the removal will call unlinkProject again if loaded.
-
clearAnnotationLinks
public void clearAnnotationLinks()
clears the set.- Specified by:
clearAnnotationLinks
in 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.ProjectAnnotationLink 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.Project.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.Project.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 theDetails
type.- Specified by:
getDetails
in interfaceIObject
-
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 fromValidation.isValid()
-
validate
public Validation validate()
Description copied from interface:IObject
calls the class-specific validator for this instance and returns theValidation
object.
-
newInstance
public Project newInstance()
-
proxy
public Project proxy()
-
acceptFilter
public boolean acceptFilter(Filter __filter)
- Specified by:
acceptFilter
in interfaceFilterable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.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
-
retrieve
public java.lang.Object retrieve(java.lang.String field)
Description copied from interface:IObject
retrieves a value from this instance. Values forfield
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 toIObject.putAt(String, Object)
-
putAt
public void putAt(java.lang.String field, java.lang.Object value)
Description copied from interface:IObject
stores a value in this instance. Values forfield
which 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: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.
-
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
-
getGraphHolder
public final GraphHolder getGraphHolder()
Description copied from interface:IObject
retrieves theGraphHolder
for this entity. If the GraphHolder has not been actively set, a new one will be instatiated.- Specified by:
getGraphHolder
in interfaceIObject
- Returns:
- Non-null GraphHolder
-
throwNullCollectionException
protected void throwNullCollectionException(java.lang.String propertyName)
-
-