net.sf.basedb.core
Class BioMaterial<D extends BioMaterialData>
java.lang.Object
net.sf.basedb.core.BasicItem<D>
net.sf.basedb.core.OwnedItem<D>
net.sf.basedb.core.SharedItem<D>
net.sf.basedb.core.CommonItem<D>
net.sf.basedb.core.AnnotatedItem<D>
net.sf.basedb.core.BioMaterial<D>
- All Implemented Interfaces:
- AccessControlled, Annotatable, Identifiable, Nameable, Ownable, Removable, Shareable
- Direct Known Subclasses:
- BioSource, MeasuredBioMaterial
public abstract class BioMaterial<D extends BioMaterialData>
- extends AnnotatedItem<D>
This is the base class for for the four types of biomaterials:
BioSource
, Sample
, Extract
and LabeledExtract
.
- Version:
- 2.0
- Author:
- Nicklas
- Last modified
- $Date: 2010-12-21 11:31:46 +0100 (Tue, 21 Dec 2010) $
Field Summary |
static int |
MAX_EXTERNAL_ID_LENGTH
The maximum length of the external id that can be stored in the database. |
Methods inherited from class net.sf.basedb.core.BasicItem |
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getUsingItems, getVersion, hashCode, hasPermission, isDetached, isInDatabase, isUsed, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, toTransferable, validate |
MAX_EXTERNAL_ID_LENGTH
public static final int MAX_EXTERNAL_ID_LENGTH
- The maximum length of the external id that can be stored in the database.
- See Also:
setExternalId(String)
,
Constant Field Values
BioMaterial
BioMaterial(D bioMaterialData)
getById
public static BioMaterial getById(DbControl dc,
int id)
- Get a biomaterial item when you know the id. This method can return any
of the subclasses of
BioMaterial
. Eg. BioSource
,
Sample
, Extract
or LabeledExtract
.
- Parameters:
dc
- The DbControl
which will be used for
permission checking and database access.id
- The id of the item to load
- Returns:
- The
Sample
item
- Throws:
ItemNotFoundException
- If an item with the specified
id is not found
PermissionDeniedException
- If the logged in user doesn't
have read permission to the item
BaseException
- If there is another error- Since:
- 2.17
onBeforeCommit
void onBeforeCommit(Transactional.Action action)
throws NotLoggedInException,
BaseException
- On delete action: issue an update to decrease the size of all
BioMaterialList
:s this is a member of.
- Overrides:
onBeforeCommit
in class SharedItem<D extends BioMaterialData>
- Throws:
NotLoggedInException
- If no user is logged in
BaseException
- If there is another error- See Also:
Transactional
,
Core API overview - Transaction handling,
Coding rules and guidelines for item classes
getExternalId
public String getExternalId()
- Get the external id of the biomaterial. This value can be used to link
with information in external databases. It is not used by the BASE core
and it doesn't have to be unique.
- Returns:
- The external id for the biomaterial
setExternalId
public void setExternalId(String externalId)
throws PermissionDeniedException,
InvalidDataException
- Set the external id of the biomaterial. The value
may be null but must not be longer than the value specified by
the
MAX_EXTERNAL_ID_LENGTH
constant.
- Parameters:
externalId
- The new value for the external id
- Throws:
PermissionDeniedException
- If the logged in user doesn't have
write permission
InvalidDataException
- If the string is too long
countChildren
public abstract long countChildren(boolean pooled)
- Count the number of already existing children to this biomaterial.
The count includes items that the logged in user doesn't have access to.
- 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