Package net.sf.basedb.core
Class PlateGeometry
java.lang.Object
net.sf.basedb.core.BasicItem
net.sf.basedb.core.PlateGeometry
- All Implemented Interfaces:
AccessControlled
,Identifiable
,Nameable
,Registered
,Removable
This class defines a plate geometry, which is the number of rows
and columns of wells on a
Plate
. The number of rows and columns
must be specified when the item is created, and the values can't
be changed after that.
A PlateMapping
is a way to specify how one geometry can be
transformed to another. It holds information for how to map all source
wells to destination wells. For example it can
map four 96-well plates to one 384-well plate.
- Version:
- 2.0
- Author:
- Nicklas
- See Also:
- Last modified
- $Date: 2017-05-22 14:35:27 +0200 (må, 22 maj 2017) $
-
Field Summary
Fields inherited from interface net.sf.basedb.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic PlateGeometry
Get aPlateGeometry
item when you know the id.int
Get the number of columns in this geometry.(package private) PlateGeometryData
getData()
Get theBasicData
object that holds all data for this item.Get the description for the item.Get the date that the item was registered in the database.getName()
Get the name of the item.static PlateGeometry
Create a newPlateGeometry
item.Get a query returning all plate types using this geometry.static ItemQuery<PlateGeometry>
getQuery()
Get a query configured to retrieve plate geometries.Get the user that flagged this item for removal.int
getRows()
Get the number of rows in this geometry.getType()
Get the type of item represented by the object.Get all:PlateType
:s of this geometryPlateMapping
:s using this geometryBioPlate
:s using this geometryboolean
Check if the removed flag is set for this item.boolean
isUsed()
Check if: APlateType
with this geometry exists APlateMapping
to/from this geometry exists ABioPlate
that uses this geometry existsCreate a newPlateType
of this geometry.private void
setColumns
(int columns) The number of columns cannot be changed, used at object creation only.void
setDescription
(String description) Set the description for the item.void
setEntryDate
(Date entryDate) Set the date the entry was registered in the database.void
Set the name of the item.void
setRemoved
(boolean removed) Set the removed flag for this item.private void
setRows
(int rows) The number of rows cannot be changed, used at object creation only.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, initPermissions, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onBeforeCommit, 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
-
Field Details
-
TYPE
The type of item represented by this class.- See Also:
-
-
Constructor Details
-
PlateGeometry
PlateGeometry(PlateGeometryData plateGeometryData)
-
-
Method Details
-
getNew
public static PlateGeometry getNew(DbControl dc, int rows, int columns) throws InvalidDataException, BaseException Create a newPlateGeometry
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database accessrows
- The number of rowscolumns
- The number of columns- Returns:
- The new
PlateGeometry
item - Throws:
InvalidDataException
- If the number of rows or columns is less than or equal to zeroBaseException
- If there is an error
-
getById
public static PlateGeometry getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException Get aPlateGeometry
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
PlateGeometry
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 plate geometries.- Returns:
- An
ItemQuery
object
-
getData
PlateGeometryData getData()Description copied from class:BasicItem
Get theBasicData
object that holds all data for this 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 theItem
enumeration.- Specified by:
getType
in interfaceIdentifiable
- Returns:
- A value indicating the type of item
-
getName
Description copied from interface:Nameable
Get the name of the item. -
setName
Description copied from interface:Nameable
Set the name of the item. The name cannot be null and mustn't be longer than the value specified by theNameable.MAX_NAME_LENGTH
constant.- Specified by:
setName
in interfaceNameable
- Parameters:
name
- The new name for the item- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permissionInvalidDataException
- If the name is null or longer than specified by theNameable.MAX_NAME_LENGTH
constant
-
getDescription
Description copied from interface:Nameable
Get the description for the item.- Specified by:
getDescription
in interfaceNameable
- Returns:
- A
String
with a description of the item
-
setDescription
public void setDescription(String description) throws PermissionDeniedException, InvalidDataException Description copied from interface:Nameable
Set the description for the item. The description can be null but mustn't be longer than the value specified by theNameable.MAX_DESCRIPTION_LENGTH
constant.- Specified by:
setDescription
in interfaceNameable
- Parameters:
description
- The new description for the item- Throws:
PermissionDeniedException
- If the logged in user doesn't have write permissionInvalidDataException
- If the description longer than specified by theNameable.MAX_DESCRIPTION_LENGTH
constant
-
isRemoved
public boolean isRemoved()Description copied from interface:Removable
Check if the removed flag is set for this item. -
setRemoved
Description copied from interface:Removable
Set the removed flag for this item.- Specified by:
setRemoved
in interfaceRemovable
- Parameters:
removed
- TRUE if the item should be flagged as removed, FALSE otherwise- Throws:
PermissionDeniedException
- If the logged in user doesn't havePermission.DELETE
permission for setting the flag to TRUE orPermission.WRITE
permission for setting the flag to FALSE
-
getRemovedBy
Description copied from interface:Removable
Get the user that flagged this item for removal.- Specified by:
getRemovedBy
in interfaceRemovable
- Returns:
- A User object, or null if this item has not been flagged
- Throws:
PermissionDeniedException
- If the logged in user doesn't havePermission.READ
permission for the userItemNotFoundException
- If the user that removed this item can't be found
-
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
-
isUsed
Check if:- A
PlateType
with this geometry exists - A
PlateMapping
to/from this geometry exists - A
BioPlate
that uses this geometry exists
- 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:PlateType
:s of this geometryPlateMapping
:s using this geometryBioPlate
:s using this geometry
- 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:
-
getRows
public int getRows()Get the number of rows in this geometry.- Returns:
- The number of rows
-
setRows
The number of rows cannot be changed, used at object creation only.- Throws:
InvalidDataException
- If the row count is less than 1
-
getColumns
public int getColumns()Get the number of columns in this geometry.- Returns:
- The number of columns
-
setColumns
The number of columns cannot be changed, used at object creation only.- Throws:
InvalidDataException
- If the column count is less than 1
-
newPlateType
Create a newPlateType
of this geometry.- Returns:
- The new plate type
- Throws:
PermissionDeniedException
- If the logged in user doesn't have use permission for this plate geometryBaseException
- If there is another error
-
getPlateTypes
Get a query returning all plate types using this geometry.- Returns:
- An
ItemQuery
-