3.2.1: 2012-12-13

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, Subtypable

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: 2012-02-23 15:45:07 +0100 (Thu, 23 Feb 2012) $

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 samples)
          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.
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.
 ItemSubtype getItemSubtype()
          Get the subtype of the item.
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.
 
Methods inherited from class net.sf.basedb.core.MeasuredBioMaterial
getAnnotatableParents, getBioWell, getCreationEvent, getEntryDate, getEvents, getOriginalQuantity, getParent, getParentType, getProtocol, getRemainingQuantity, hasSingleParent, isInWell, isLockedInWell, newEvent, newEvent, onBeforeCommit, setBioPlateEventParticipant, setBioWell, setOriginalQuantity, updateRemainingQuantity
 
Methods inherited from class net.sf.basedb.core.BioMaterial
getChildCreationEvents, getExternalId, setExternalId, setItemSubtype
 
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

getItemSubtype

@SupportsPushAnnotations
@SubtypableRelatedItems(value={PROTOCOL,HARDWARE,BIOSOURCE,SAMPLE})
public ItemSubtype getItemSubtype()
Description copied from interface: Subtypable
Get the subtype of the item.

Specified by:
getItemSubtype in interface Subtypable
Overrides:
getItemSubtype in class MeasuredBioMaterial<SampleData>
Returns:
A subtype of null if not set
See Also:
SubtypableRelatedItems

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:

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 samples)
Count the number of child samples or extracts.

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

3.2.1: 2012-12-13