2.17.2: 2011-06-17

net.sf.basedb.core
Class Sample

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.OwnedItem<D>
          extended by net.sf.basedb.core.SharedItem<D>
              extended by net.sf.basedb.core.CommonItem<D>
                  extended by net.sf.basedb.core.AnnotatedItem<D>
                      extended by net.sf.basedb.core.BioMaterial<D>
                          extended by net.sf.basedb.core.MeasuredBioMaterial<SampleData>
                              extended by net.sf.basedb.core.Sample
All Implemented Interfaces:
AccessControlled, Annotatable, Identifiable, Nameable, Ownable, Registered, Removable, Shareable

public class Sample
extends MeasuredBioMaterial<SampleData>

This class is used to represent sample items. A sample is the actual sample taken from a BioSource. A sample can also be created by combining other samples into a new sample. A process is known as pooling. It is also possible to create standalone samples, with no reference to a biosource or to other samples.

Version:
2.0
Author:
Nicklas
Last modified
$Date: 2010-12-02 14:35:04 +0100 (Thu, 02 Dec 2010) $

Field Summary
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
Sample(SampleData sampleData)
           
 
Method Summary
 long countChildren(boolean pooled)
          Count the number of child samples or extracts.
 long countExtracts()
          Counts all extracts that have been created from this sample.
 long countSamples()
          Counts all samples that have been created from this sample.
 Set<Annotatable> getAnnotatableParents()
          Get the biosource or pooled samples.
 BioSource getBioSource()
          Get the BioSource that is the parent of this sample.
static Sample getById(DbControl dc, int id)
          Get an Sample item when you know the id.
 ItemQuery<Sample> getChildSamples()
          Creates a query that returns all child (pooled) samples that has this sample as one of it's sources.
 ItemQuery<Extract> getExtracts()
          Get a query that returns all extracts created from this sample.
static Sample getNew(DbControl dc)
          Create a new Sample item.
static Sample getNew(DbControl dc, BioPlateEventParticipant master)
          Create a new Sample item as part of a master bioplate event.
static ItemQuery<Sample> getQuery()
          Get a query that returns samples.
 Item getType()
          Get the type of item represented by the object.
 Set<ItemProxy> getUsingItems()
          Get all: Extract:s created from this sample Pooled samples
 boolean isUsed()
          Check that: no Extract:s has been created from this item no Sample:s has been created from this item
 Extract newExtract(Float usedQuantity)
          Create a new Extract from this sample.
 Extract newExtract(Float usedQuantity, BioPlateEventParticipant master)
          Create a new Extract from this sample as part of a master bioplate event.
 void setBioSource(BioSource bioSource)
          Set the BioSource item that is the parent of this sample.
 
Methods inherited from class net.sf.basedb.core.MeasuredBioMaterial
getBioWell, getCreationEvent, getEntryDate, getEvents, getOriginalQuantity, getPoolingEvents, getProtocol, getRemainingQuantity, isInWell, isLockedInWell, isPooled, newEvent, newEvent, onBeforeCommit, setBioPlateEventParticipant, setBioWell, setOriginalQuantity, setPooled, updateRemainingQuantity
 
Methods inherited from class net.sf.basedb.core.BioMaterial
getExternalId, setExternalId
 
Methods inherited from class net.sf.basedb.core.AnnotatedItem
getAnnotationSet, isAnnotated, removeAnnotations, toTransferable
 
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, isRemoved, setDescription, setName, setRemoved, toTransferable
 
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, setItemKey, setProjectKey, toTransferable
 
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership, toTransferable
 
Methods inherited from class net.sf.basedb.core.BasicItem
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, toTransferable, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.basedb.core.Identifiable
getId, getVersion
 
Methods inherited from interface net.sf.basedb.core.AccessControlled
checkPermission, getPermissions, hasPermission
 
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.SAMPLE, getType()
Constructor Detail

Sample

Sample(SampleData sampleData)
Method Detail

getNew

public static Sample getNew(DbControl dc)
                     throws BaseException
Create a new Sample item.

Parameters:
dc - The DbControl which will be used for permission checking and database access
Returns:
The new Sample item
Throws:
BaseException - If there is an error

getNew

public static Sample getNew(DbControl dc,
                            BioPlateEventParticipant master)
                     throws BaseException
Create a new Sample item as part of a master bioplate event.

Parameters:
dc - The DbControl which will be used for permission checking and database access
master - The master bioplate event participant or null
Returns:
The new Sample item
Throws:
BaseException - If there is an error
Since:
2.17

getById

public static Sample getById(DbControl dc,
                             int id)
                      throws ItemNotFoundException,
                             PermissionDeniedException,
                             BaseException
Get an Sample item when you know the id.

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

getQuery

public static ItemQuery<Sample> getQuery()
Get a query that returns samples.

Returns:
An ItemQuery object

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 the Item enumeration.

Returns:
A value indicating the type of item

getAnnotatableParents

public Set<Annotatable> getAnnotatableParents()
                                       throws BaseException
Get the biosource or pooled samples.

Returns:
A set containing annotatable items, or null
Throws:
BaseException - If there is an error

isUsed

public boolean isUsed()
               throws BaseException
Check that:

Overrides:
isUsed in class MeasuredBioMaterial<SampleData>
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()

getUsingItems

public Set<ItemProxy> getUsingItems()
Get all:

getBioSource

public BioSource getBioSource()
                       throws PermissionDeniedException,
                              BaseException
Get the BioSource that is the parent of this sample.

Returns:
A BioSource object or null if this is a pooled or standalone sample
Throws:
PermissionDeniedException - If the logged in user doesn't have read permission for the biosource
BaseException - If there is another error

setBioSource

public void setBioSource(BioSource bioSource)
                  throws PermissionDeniedException,
                         InvalidDataException
Set the BioSource item that is the parent of this sample.

Parameters:
bioSource - The parent BioSource item
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission for this sample or use permission for the biosource
InvalidDataException - If this is a pooled sample
BaseException - If there is another error

newExtract

public Extract newExtract(Float usedQuantity)
                   throws PermissionDeniedException,
                          BaseException
Create a new Extract from this sample.

Parameters:
usedQuantity - The quantity used from this sample or null if not known
Returns:
The new Extract item
Throws:
PermissionDeniedException - If the logged in user doesn't have use permission for this sample
BaseException - If there is another error

newExtract

public Extract newExtract(Float usedQuantity,
                          BioPlateEventParticipant master)
                   throws PermissionDeniedException,
                          BaseException
Create a new Extract from this sample as part of a master bioplate event.

Parameters:
usedQuantity - The quantity used from this sample or null if not known
master - The master bioplate event participant or null
Returns:
The new Extract item
Throws:
PermissionDeniedException - If the logged in user doesn't have use permission for this sample
BaseException - If there is another error
Since:
2.17

getExtracts

public ItemQuery<Extract> getExtracts()
                               throws BaseException
Get a query that returns all extracts created from this sample.

Returns:
An ItemQuery object
Throws:
BaseException - If the query couldn't be created.

getChildSamples

public ItemQuery<Sample> getChildSamples()
Creates a query that returns all child (pooled) samples that has this sample as one of it's sources.

Returns:
A query
Since:
2.10

countExtracts

public long countExtracts()
                   throws BaseException
Counts all extracts that have been created from this sample. The count includes extracts that the logged in user doesn't have access to.

Returns:
The number of extracts
Throws:
BaseException - If there is some kind of error.

countSamples

public long countSamples()
                  throws BaseException
Counts all samples that have been created from this sample. The count includes samples that the logged in user doesn't have access to.

Returns:
The number of samples
Throws:
BaseException - If there is some kind of error.
Since:
2.16

countChildren

public long countChildren(boolean pooled)
Count the number of child samples or extracts.

Specified by:
countChildren in class BioMaterial<SampleData>
Parameters:
pooled - TRUE = count child samples, FALSE = count child extracts
Since:
2.16

2.17.2: 2011-06-17