Package net.sf.basedb.core
Class BioSource
-
- All Implemented Interfaces:
AccessControlled
,Annotatable
,Identifiable
,Listable
,Nameable
,Ownable
,Registered
,Removable
,Shareable
,Subtypable
public class BioSource extends BioMaterial implements Registered
This class represent biosource items. A biosource has information about the source of material used in an experiment, such as a cell line or patient. A biosource can be used to createSample
:s.- Version:
- 2.0
- Author:
- Nicklas
- Last modified
- $Date: 2017-05-22 14:35:27 +0200 (må, 22 maj 2017) $
-
-
Field Summary
Fields Modifier and Type Field Description static Item
TYPE
The type of item represented by this class.-
Fields inherited from class net.sf.basedb.core.BioMaterial
MAX_EXTERNAL_ID_LENGTH
-
Fields inherited from interface net.sf.basedb.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
-
-
Constructor Summary
Constructors Constructor Description BioSource(BioSourceData bioSourceData)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
countChildren(boolean pooled)
Count the number of child samples.long
countSamples()
Counts all samples that have been created from this biosource.static BioSource
getById(DbControl dc, int id)
Get anBioSource
item when you know the id.(package private) BioSourceData
getData()
Get theBasicData
object that holds all data for this item.Date
getEntryDate()
Get the date that the item was registered in the database.static BioSource
getNew(DbControl dc)
Create a newBioSource
item.static ItemQuery<BioSource>
getQuery()
Get a query that returns biosource items.ItemQuery<Sample>
getSamples()
Get a query that returns all samples created from this biosource.Item
getType()
Get the type of item represented by the object.Set<ItemProxy>
getUsingItems()
Get all:Sample
:s created from this biosourceboolean
isUsed()
Check that: noSample
has been created from this biosourceSample
newSample()
Create a newSample
from this biosource.void
setEntryDate(Date entryDate)
Set the date the entry was registered in the database.-
Methods inherited from class net.sf.basedb.core.BioMaterial
getAnnotatableParents, getChildCreationEvents, getExternalId, getItemSubtype, setExternalId, setItemSubtype
-
Methods inherited from class net.sf.basedb.core.AnnotatedItem
getAnnotationSet, getProtocol, isAnnotated, removeAnnotations
-
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, getRemovedBy, isRemoved, setDescription, setName, setRemoved
-
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey
-
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership
-
Methods inherited from class net.sf.basedb.core.BasicItem
addAnnotatableParents, addUsingItems, addUsingItems, breakCircularReferences, checkBatchAnnotatableUsage, checkPermission, equals, getBasicData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, validate
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.basedb.core.AccessControlled
checkPermission, getPermissions, hasPermission
-
Methods inherited from interface net.sf.basedb.core.Identifiable
getId, getVersion
-
Methods inherited from interface net.sf.basedb.core.Nameable
getDescription, getName, setDescription, setName
-
Methods inherited from interface net.sf.basedb.core.Ownable
getOwner, isOwner, setOwner, takeOwnership
-
-
-
-
Field Detail
-
TYPE
public static final Item TYPE
The type of item represented by this class.- See Also:
Item.BIOSOURCE
,getType()
-
-
Constructor Detail
-
BioSource
BioSource(BioSourceData bioSourceData)
-
-
Method Detail
-
getNew
public static BioSource getNew(DbControl dc) throws BaseException
Create a newBioSource
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access- Returns:
- The new
BioSource
item - Throws:
BaseException
- If there is an error
-
getById
public static BioSource getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException
Get anBioSource
item when you know the id.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access.id
- The id of the item to load- Returns:
- The
BioSource
item - Throws:
ItemNotFoundException
- If an item with the specified id is not foundPermissionDeniedException
- If the logged in user doesn't have read permission to the itemBaseException
- If there is another error
-
getQuery
public static ItemQuery<BioSource> getQuery()
Get a query that returns biosource items.- Returns:
- An
ItemQuery
object.
-
getData
BioSourceData getData()
Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item.- Overrides:
getData
in classBioMaterial
-
getType
public Item getType()
Description copied from interface:Identifiable
Get the type of item represented by the object. The returned value is one of the values defined in theItem
enumeration.- Specified by:
getType
in interfaceIdentifiable
- Returns:
- A value indicating the type of item
-
getEntryDate
public Date getEntryDate()
Description copied from interface:Registered
Get the date that the item was registered in the database.- Specified by:
getEntryDate
in interfaceRegistered
- Returns:
- A date or null if this is not known
-
setEntryDate
public void setEntryDate(Date entryDate)
Description copied from interface:Registered
Set the date the entry was registered in the database. Implementations should only allow this property to be set before the item is first stored in the database. The intention of this method is to facilitate export/import of data between server.- Specified by:
setEntryDate
in interfaceRegistered
- Parameters:
entryDate
- A date or null to use today's date
-
isUsed
public boolean isUsed() throws BaseException
Check that:- no
Sample
has been created from this biosource
- Overrides:
isUsed
in classBasicItem
- Returns:
- TRUE if this item is used, FALSE otherwise
- Throws:
BaseException
- If not able to tell if item is used or not.- See Also:
BasicItem.getUsingItems()
- no
-
getUsingItems
public Set<ItemProxy> getUsingItems()
Get all:Sample
:s created from this biosource
- Overrides:
getUsingItems
in classBasicItem
- Returns:
- A set containing proxies for the items, or an empty set if no items are using this item
- Since:
- 2.2
- See Also:
BasicItem.addUsingItems(Set, Item, org.hibernate.query.Query)
-
newSample
public Sample newSample() throws PermissionDeniedException, BaseException
Create a newSample
from this biosource.- Returns:
- The new
Sample
item - Throws:
PermissionDeniedException
- If the logged in user doesn't have use permission for this biosourceBaseException
- If there is another error
-
getSamples
public ItemQuery<Sample> getSamples()
Get a query that returns all samples created from this biosource.- Returns:
- An
ItemQuery
object
-
countSamples
public long countSamples() throws BaseException
Counts all samples that have been created from this biosource. The count includes samples that the logged in user doesn't have access to.- Returns:
- The number of samples
- Throws:
BaseException
- If counting the samples fails.
-
countChildren
public long countChildren(boolean pooled)
Count the number of child samples. Since biosources can't be pooled this method always return 0 if pooled=TRUE- Specified by:
countChildren
in classBioMaterial
- Parameters:
pooled
- If TRUE, the count is for biomaterials of the same type, if FALSE the count is for biomaterials of the child type- Since:
- 2.16
-
-