Package net.sf.basedb.core
Class Hardware
- All Implemented Interfaces:
AccessControlled
,Annotatable
,Identifiable
,Nameable
,Ownable
,Registered
,Removable
,Shareable
,Subtypable
This class is used to represent individual hardware items
and information about them. In the current version of BASE
the only type of hardware we keep information about is scanners.
- Version:
- 2.0
- Author:
- enell
- Last modified
- $Date: 2017-05-22 14:35:27 +0200 (må, 22 maj 2017) $
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The id for theHardwareType
object representing a cabinet.static final String
The id for theHardwareType
object representing a cluster generator station.static final String
The id for theHardwareType
object representing a freezer.static final String
The id for theHardwareType
object representing a hybridization station.static final int
The maximum length of the version variable that can be stored in the database.static final String
The id for theHardwareType
object representing something else.static final String
The id for theHardwareType
object representing a print robot.static final String
The id for theHardwareType
object representing a scanner.static final String
The id for theHardwareType
object representing a sequencer.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 Hardware
Get aHardware
item when you know the ID.(package private) HardwareData
getData()
Get theBasicData
object that holds all data for this item.static String
getDefaultSystemId
(Item itemType) Get the system id for the hardware 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 subtype of the item.static Hardware
Create a newHardware
item.getQuery()
Get a query configured to retrieve hardware.getType()
Get the type of item represented by the object.Get all:DerivedBioAssay
:s with this hardwareArrayBatch
:s with this hardwareBioMaterial
:s andPhysicalBioAssay
:s with this hardwarePlate
:s with this hardwareGet the versionstring of thisHardware
item.boolean
isUsed()
Check if: aDerivedBioAssay
is linked to this hardware anArrayBatch
is linked to this hardware aBioMaterialEvent
is linked to this hardware aPlateEvent
is linked to this hardwarevoid
setEntryDate
(Date entryDate) Set the date the entry was registered in the database.void
setItemSubtype
(ItemSubtype subtype) Set the subtype on the item.void
setVersionString
(String versionString) Set the versionstring for thisHardware
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.- See Also:
-
SCANNER
The id for theHardwareType
object representing a scanner.- Since:
- 3.0
- See Also:
-
PRINT_ROBOT
The id for theHardwareType
object representing a print robot.- Since:
- 3.0
- See Also:
-
HYBRIDIZATION_STATION
The id for theHardwareType
object representing a hybridization station.- Since:
- 3.0
- See Also:
-
CLUSTER_GENERATOR
The id for theHardwareType
object representing a cluster generator station. Used when creating aPhysicalBioAssay
.- Since:
- 3.0
- See Also:
-
SEQUENCER
The id for theHardwareType
object representing a sequencer.- Since:
- 3.0
- See Also:
-
FREEZER
The id for theHardwareType
object representing a freezer.- Since:
- 3.0
- See Also:
-
CABINET
The id for theHardwareType
object representing a cabinet.- Since:
- 3.2
- See Also:
-
OTHER
The id for theHardwareType
object representing something else.- Since:
- 3.0
- See Also:
-
MAX_VERSIONSTRING_LENGTH
public static final int MAX_VERSIONSTRING_LENGTHThe maximum length of the version variable that can be stored in the database. Check the length against this value before calling thesetVersionString(String)
method to avoid exceptions.- See Also:
-
-
Constructor Details
-
Hardware
Hardware(HardwareData data) Creates a new hardware item.- Parameters:
data
- the data
-
-
Method Details
-
getDefaultSystemId
Get the system id for the hardware 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 hardware.- Parameters:
itemType
- The item type- Returns:
- The system id of the default hardware type or null
- Since:
- 3.0
-
getNew
Create a newHardware
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access.- Returns:
- The new
Hardware
item - Throws:
BaseException
- If there is an error
-
getById
public static Hardware getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException Get aHardware
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
Hardware
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 hardware.- Returns:
- An
ItemQuery
object - Throws:
BaseException
- When the query could not be configured.
-
getData
HardwareData 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
- Since:
- 3.3
-
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
DerivedBioAssay
is linked to this hardware - an
ArrayBatch
is linked to this hardware - a
BioMaterialEvent
is linked to this hardware - a
PlateEvent
is linked to this hardware
- Overrides:
isUsed
in classBasicItem
- Returns:
- TRUE if this hardware is used.
- Throws:
BaseException
- if there is any error.- See Also:
- a
-
getUsingItems
Get all:DerivedBioAssay
:s with this hardwareArrayBatch
:s with this hardwareBioMaterial
:s andPhysicalBioAssay
:s with this hardwarePlate
:s with this hardware
- Overrides:
getUsingItems
in classBasicItem
- Returns:
- A set containing proxies for the items, or an empty set if no items are using this item
- Since:
- 2.2
- See Also:
-
getVersionString
Get the versionstring of thisHardware
item.- Returns:
- A string with the version of this item, or null if not known
-
setVersionString
public void setVersionString(String versionString) throws StringTooLongException, PermissionDeniedException Set the versionstring for thisHardware
item. The value must not be longer than the value specified by theMAX_VERSIONSTRING_LENGTH
constant.- Parameters:
versionString
- The new version for this item, or null if not known- Throws:
StringTooLongException
- If versionString is longer thenMAX_VERSIONSTRING_LENGTH
PermissionDeniedException
- If the logged in user don't have write permission on this item
-