2.17.2: 2011-06-17

net.sf.basedb.core
Class Extract

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<ExtractData>
                              extended by net.sf.basedb.core.Extract
All Implemented Interfaces:
AccessControlled, Annotatable, Identifiable, Nameable, Ownable, Registered, Removable, Shareable

public class Extract
extends MeasuredBioMaterial<ExtractData>

This class is used to represent extract items. An extract is created from a Sample or by combining other extracts (pooling). It is also possible to create standalone extracts, with no reference to a sample or to other extracts.

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
Extract(ExtractData extractData)
           
 
Method Summary
 long countChildren(boolean pooled)
          Count the number of child extracts or labeled extracts.
 long countExtracts()
          Counts all extracts that have been created from this extract.
 long countLabeledExtracts()
          Gets the number of LabeledExtract that are create from this item.
 Set<Annotatable> getAnnotatableParents()
          Get the sample or pooled extracts.
static Extract getById(DbControl dc, int id)
          Get an Extract item when you know the id.
 ItemQuery<Extract> getChildExtracts()
          Creates a query that returns all child (pooled) extracts that has this extracts as one of it's sources.
 ItemQuery<LabeledExtract> getLabeledExtracts()
          Get a query that returns all labeled extracts created from this extract.
static Extract getNew(DbControl dc)
          Create a new Extract item.
static Extract getNew(DbControl dc, BioPlateEventParticipant master)
          Create a new Extract item as part of a master bioplate event.
static ItemQuery<Extract> getQuery()
          Get a query that returns extracts.
 Sample getSample()
          Get the Sample that is the parent of this extract.
 Item getType()
          Get the type of item represented by the object.
 Set<ItemProxy> getUsingItems()
          Get all: LabeledExtract:s created from this extract
 boolean isUsed()
          Check that: no LabeledExtract:s has been created from this item no Extract:s has been created from this item
 LabeledExtract newLabeledExtract(Label label, Float usedQuantity)
          Create a new LabeledExtract from this extract.
 LabeledExtract newLabeledExtract(Label label, Float usedQuantity, BioPlateEventParticipant master)
          Create a new LabeledExtract from this extract as part of a master bioplate event.
 void setSample(Sample sample, Float usedQuantity)
          Set the Sample item that is the parent of this extract.
 
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.EXTRACT, getType()
Constructor Detail

Extract

Extract(ExtractData extractData)
Method Detail

getNew

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

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

getNew

public static Extract getNew(DbControl dc,
                             BioPlateEventParticipant master)
                      throws BaseException
Create a new Extract 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 Extract item
Throws:
BaseException - If there is an error
Since:
2.17

getById

public static Extract getById(DbControl dc,
                              int id)
                       throws ItemNotFoundException,
                              PermissionDeniedException,
                              BaseException
Get an Extract 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 Extract 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<Extract> getQuery()
Get a query that returns extracts.

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 sample or pooled extracts.

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<ExtractData>
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:

getSample

public Sample getSample()
                 throws PermissionDeniedException,
                        BaseException
Get the Sample that is the parent of this extract.

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

setSample

public void setSample(Sample sample,
                      Float usedQuantity)
               throws PermissionDeniedException,
                      InvalidDataException,
                      BaseException
Set the Sample item that is the parent of this extract.

Parameters:
sample - The new Sample item
usedQuantity - The quantity that was used from the sample when the extract was created
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission for this extract or use permission for the sample
InvalidDataException - If this is a pooled extract
BaseException - If there is another error

newLabeledExtract

public LabeledExtract newLabeledExtract(Label label,
                                        Float usedQuantity)
                                 throws PermissionDeniedException,
                                        BaseException
Create a new LabeledExtract from this extract.

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

newLabeledExtract

public LabeledExtract newLabeledExtract(Label label,
                                        Float usedQuantity,
                                        BioPlateEventParticipant master)
                                 throws PermissionDeniedException,
                                        BaseException
Create a new LabeledExtract from this extract as part of a master bioplate event.

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

getLabeledExtracts

public ItemQuery<LabeledExtract> getLabeledExtracts()
Get a query that returns all labeled extracts created from this extract.

Returns:
An ItemQuery object

getChildExtracts

public ItemQuery<Extract> getChildExtracts()
Creates a query that returns all child (pooled) extracts that has this extracts as one of it's sources.

Returns:
A query
Since:
2.10

countLabeledExtracts

public long countLabeledExtracts()
                          throws BaseException
Gets the number of LabeledExtract that are create from this item.

Returns:
Number of LabeledExtracts
Throws:
BaseException - If there is any error.

countExtracts

public long countExtracts()
                   throws BaseException
Counts all extracts that have been created from this extract. 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.
Since:
2.16

countChildren

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

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

2.17.2: 2011-06-17