2.17.2: 2011-06-17

net.sf.basedb.core
Class BioSource

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

public class BioSource
extends BioMaterial<BioSourceData>
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 create Sample:s.

Version:
2.0
Author:
Nicklas
Last modified
$Date: 2010-06-08 12:43:14 +0200 (Tue, 08 Jun 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
BioSource(BioSourceData bioSourceData)
           
 
Method Summary
 long countChildren(boolean pooled)
          Count the number of child samples.
 long countSamples()
          Counts all samples that have been created from this biosource.
 Set<Annotatable> getAnnotatableParents()
          Always null.
static BioSource getById(DbControl dc, int id)
          Get an BioSource item when you know the id.
 Date getEntryDate()
          Get the date that the item was registered in the database.
static BioSource getNew(DbControl dc)
          Create a new BioSource 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 biosource
 boolean isUsed()
          Check that: no Sample has been created from this biosource
 Sample newSample()
          Create a new Sample from this biosource.
 
Methods inherited from class net.sf.basedb.core.BioMaterial
getExternalId, onBeforeCommit, setExternalId
 
Methods inherited from class net.sf.basedb.core.AnnotatedItem
getAnnotationSet, getProtocol, 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.BIOSOURCE, getType()
Constructor Detail

BioSource

BioSource(BioSourceData bioSourceData)
Method Detail

getNew

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

Parameters:
dc - The DbControl 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 an BioSource 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 BioSource 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<BioSource> getQuery()
Get a query that returns biosource items.

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.

Specified by:
getType in interface Identifiable
Returns:
A value indicating the type of item

getAnnotatableParents

public Set<Annotatable> getAnnotatableParents()
                                       throws BaseException
Always null.

Specified by:
getAnnotatableParents in interface Annotatable
Returns:
A set containing annotatable items, or null
Throws:
BaseException - If there is an error

getEntryDate

public Date getEntryDate()
Description copied from interface: Registered
Get the date that the item was registered in the database.

Specified by:
getEntryDate in interface Registered
Returns:
A date or null if this is not known

isUsed

public boolean isUsed()
               throws BaseException
Check that:

Overrides:
isUsed in class BasicItem<BioSourceData>
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:

newSample

public Sample newSample()
                 throws PermissionDeniedException,
                        BaseException
Create a new Sample from this biosource.

Returns:
The new Sample item
Throws:
PermissionDeniedException - If the logged in user doesn't have use permission for this biosource
BaseException - 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 class BioMaterial<BioSourceData>
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

2.17.2: 2011-06-17