Package net.sf.basedb.core
Class Kit
- All Implemented Interfaces:
AccessControlled
,Annotatable
,Identifiable
,Nameable
,Ownable
,Registered
,Removable
,Shareable
,Subtypable
This class is used to represent a kit of reagents and other stuff used in
the lab process.
- Since:
- 3.7
- Author:
- Nicklas
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The ID for the cluster generation (in a flow cell) kit type, for example a protocol used when creating aPhysicalBioAssay
.static final String
static final String
The ID for the hybridization kit type, for example a kit used when creating aPhysicalBioAssay
from a set of (labeled)Extract
:s.static final String
The ID for the labeling kit type, for example a kit used when creating a labeled extract from anExtract
.static final String
The ID for the library preparation kit type, for example a kit used when creating a library extract from anExtract
.static final String
static final String
The ID for the sequencing kit type, for example a kit used when creating aDerivedBioAssay
from aPhysicalBioAssay
.private static final Item
The type of item represented by this class.Fields inherited from interface net.sf.basedb.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionGet all parents objects which are annotatable and the logged in user has read permission to.static Kit
Get aKit
item when you know the ID.(package private) KitData
getData()
Get theBasicData
object that holds all data for this item.static String
getDefaultSystemId
(Item itemType) Get the system id for the kit subtype that should be used on an item that doesn't have a subtype.Get the date that the item was registered in the database.Get the expiration date of the kit.Get the subtype of the item.static Kit
Create a newKit
item.getQuery()
Get a query configured to retrieve kits.getType()
Get the type of item represented by the object.Get all:BioMaterial
:s andPhysicalBioAssay
:s using this kitBioPlateEvent
:s with this kitDerivedBioAssay
: with this kitboolean
Check if the kit is inactive.boolean
isUsed()
Check if: aBioMaterialEvent
is linked to this kit aBioPlateEvent
is linked to this kitvoid
setEntryDate
(Date entryDate) Set the date the entry was registered in the database.void
setExpirationDate
(Date expirationDate) Set the expiration date.void
setInactive
(boolean inactive) Set the inactive flag.void
setItemSubtype
(ItemSubtype subtype) Set the subtype on the item.Methods inherited from class net.sf.basedb.core.AnnotatedItem
getAnnotationSet, getProtocol, isAnnotated, removeAnnotations
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, getRemovedBy, isRemoved, setDescription, setName, setRemoved
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership
Methods inherited from class net.sf.basedb.core.BasicItem
addAnnotatableParents, addUsingItems, addUsingItems, breakCircularReferences, checkBatchAnnotatableUsage, checkPermission, equals, getBasicData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, validate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.basedb.core.AccessControlled
checkPermission, getPermissions, hasPermission
Methods inherited from interface net.sf.basedb.core.Identifiable
getId, getVersion
Methods inherited from interface net.sf.basedb.core.Ownable
getOwner, isOwner, setOwner, takeOwnership
-
Field Details
-
TYPE
The type of item represented by this class. -
SAMPLING
- See Also:
-
EXTRACTION
- See Also:
-
LABELING
The ID for the labeling kit type, for example a kit used when creating a labeled extract from anExtract
.- See Also:
-
LIBRARY_PREPARATION
The ID for the library preparation kit type, for example a kit used when creating a library extract from anExtract
.- See Also:
-
HYBRIDIZATION
The ID for the hybridization kit type, for example a kit used when creating aPhysicalBioAssay
from a set of (labeled)Extract
:s.- See Also:
-
CLUSTER_GENERATION
The ID for the cluster generation (in a flow cell) kit type, for example a protocol used when creating aPhysicalBioAssay
.- See Also:
-
SEQUENCING
The ID for the sequencing kit type, for example a kit used when creating aDerivedBioAssay
from aPhysicalBioAssay
.- See Also:
-
-
Constructor Details
-
Kit
Kit(KitData data) Creates a new kit item.- Parameters:
data
- the data
-
-
Method Details
-
getDefaultSystemId
Get the system id for the kit subtype that should be used on an item that doesn't have a subtype. This includesSubtypable
items with a nullItemSubtype
and all other non-subtypable items which can be linked to a kit.- Parameters:
itemType
- The item type- Returns:
- The system id of the default kit type or null
-
getNew
Create a newKit
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access.- Returns:
- The new
Kit
item - Throws:
BaseException
- This exception is thrown if there is another error
-
getById
public static Kit getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException Get aKit
item when you know the ID.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access.id
- The ID of the item to load- Returns:
- The
Kit
item - Throws:
ItemNotFoundException
- If an item with the specified ID is not foundPermissionDeniedException
- If the logged in user doesn't havePermission.READ
permission to the itemBaseException
- If there is another error
-
getQuery
Get a query configured to retrieve kits.- Returns:
- An
ItemQuery
object - Throws:
BaseException
- If getting the query fails.
-
getData
KitData getData()Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item.- Overrides:
getData
in classAnnotatedItem
-
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 theItem
enumeration.- Specified by:
getType
in interfaceIdentifiable
- Returns:
- A value indicating the type of item
-
getEntryDate
Description copied from interface:Registered
Get the date that the item was registered in the database.- Specified by:
getEntryDate
in interfaceRegistered
- Returns:
- A date or null if this is not known
-
setEntryDate
Description copied from interface:Registered
Set the date the entry was registered in the database. Implementations should only allow this property to be set before the item is first stored in the database. The intention of this method is to facilitate export/import of data between server.- Specified by:
setEntryDate
in interfaceRegistered
- Parameters:
entryDate
- A date or null to use today's date
-
getAnnotatableParents
Description copied from interface:Annotatable
Get all parents objects which are annotatable and the logged in user has read permission to. If the item doesn't have any annotatable parents, it may return null or an empty set. The method should only return the immediate parent(s), not parents to parents, etc. As of BASE 3.1 this method may also return child items if the child item is aSubtypable
item that has a subtype with theItemSubtype.getPushAnnotations()
flag set.- Specified by:
getAnnotatableParents
in interfaceAnnotatable
- Returns:
- Always null
-
getItemSubtype
Description copied from interface:Subtypable
Get the subtype of the item.- Specified by:
getItemSubtype
in interfaceSubtypable
- Returns:
- A subtype of null if not set
- See Also:
-
setItemSubtype
Description copied from interface:Subtypable
Set the subtype on the item.- Specified by:
setItemSubtype
in interfaceSubtypable
- Parameters:
subtype
- A subtype or null- See Also:
-
isUsed
Check if:- a
BioMaterialEvent
is linked to this kit - a
BioPlateEvent
is linked to this kit
- Overrides:
isUsed
in classBasicItem
- Returns:
- TRUE if this item is used, FALSE otherwise
- Throws:
BaseException
- If not able to tell if item is used or not.- See Also:
- a
-
getUsingItems
Get all:BioMaterial
:s andPhysicalBioAssay
:s using this kitBioPlateEvent
:s with this kitDerivedBioAssay
: with this kit
- Overrides:
getUsingItems
in classBasicItem
- Returns:
- A set containing proxies for the items, or an empty set if no items are using this item
- See Also:
-
isInactive
public boolean isInactive()Check if the kit is inactive. An inactive kit should not be used when creating new biomaterial. This is a recommendation only and is not enforced by the core API. -
setInactive
Set the inactive flag.- Parameters:
inactive
- TRUE if the kit is inactive, FALSE otherwise.- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permission on the item.
-
getExpirationDate
Get the expiration date of the kit. A kit should not be used after it's expiration date. This is a recommendation only and is not enforced by the core API. -
setExpirationDate
Set the expiration date.- Parameters:
expirationDate
- A date or null- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permission on the item.
-