2.17.2: 2011-06-17

net.sf.basedb.core
Class PlateGeometry

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<PlateGeometryData>
      extended by net.sf.basedb.core.PlateGeometry
All Implemented Interfaces:
AccessControlled, Identifiable, Nameable, Registered, Removable

public class PlateGeometry
extends BasicItem<PlateGeometryData>
implements Nameable, Removable, Registered

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:
Plate, PlateMapping
Last modified
$Date: 2010-05-07 13:31:02 +0200 (Fri, 07 May 2010) $

Field Summary
static Item TYPE
          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
PlateGeometry(PlateGeometryData plateGeometryData)
           
 
Method Summary
static PlateGeometry getById(DbControl dc, int id)
          Get a PlateGeometry item when you know the id.
 int getColumns()
          Get the number of columns in this geometry.
 String getDescription()
          Get the description for the item.
 Date getEntryDate()
          Get the date that the item was registered in the database.
 String getName()
          Get the name of the item.
static PlateGeometry getNew(DbControl dc, int rows, int columns)
          Create a new PlateGeometry item.
 ItemQuery<PlateType> getPlateTypes()
          Get a query returning all plate types using this geometry.
static ItemQuery<PlateGeometry> getQuery()
          Get a query configured to retrieve plate geometries.
 int getRows()
          Get the number of rows in this geometry.
 Item getType()
          Get the type of item represented by the object.
 Set<ItemProxy> getUsingItems()
          Get all: PlateType:s of this geometry PlateMapping:s using this geometry BioPlate:s using this geometry
 boolean isRemoved()
          Check if the removed flag is set for this item.
 boolean isUsed()
          Check if: A PlateType with this geometry exists A PlateMapping to/from this geometry exists A BioPlate that uses this geometry exists
 PlateType newPlateType()
          Create a new PlateType 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 setName(String name)
          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
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, initPermissions, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onBeforeCommit, 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
 

Field Detail

TYPE

public static final Item TYPE
The type of item represented by this class.

See Also:
Item.PLATEGEOMETRY, getType()
Constructor Detail

PlateGeometry

PlateGeometry(PlateGeometryData plateGeometryData)
Method Detail

getNew

public static PlateGeometry getNew(DbControl dc,
                                   int rows,
                                   int columns)
                            throws InvalidDataException,
                                   BaseException
Create a new PlateGeometry item.

Parameters:
dc - The DbControl which will be used for permission checking and database access
rows - The number of rows
columns - The number of columns
Returns:
The new PlateGeometry item
Throws:
InvalidDataException - If the number of rows or columns is less than or equal to zero
BaseException - If there is an error

getById

public static PlateGeometry getById(DbControl dc,
                                    int id)
                             throws ItemNotFoundException,
                                    PermissionDeniedException,
                                    BaseException
Get a PlateGeometry 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 PlateGeometry item
Throws:
ItemNotFoundException - If an item with the specified id is not found
PermissionDeniedException - If the logged in user doesn't have Permission.READ permission to the item
BaseException - If there is another error

getQuery

public static ItemQuery<PlateGeometry> getQuery()
Get a query configured to retrieve plate geometries.

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

getName

public String getName()
Description copied from interface: Nameable
Get the name of the item.

Specified by:
getName in interface Nameable
Returns:
A String with the name of the item

setName

public void setName(String name)
             throws PermissionDeniedException,
                    InvalidDataException
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 the Nameable.MAX_NAME_LENGTH constant.

Specified by:
setName in interface Nameable
Parameters:
name - The new name for the item
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission
InvalidDataException - If the name is null or longer than specified by the Nameable.MAX_NAME_LENGTH constant

getDescription

public String getDescription()
Description copied from interface: Nameable
Get the description for the item.

Specified by:
getDescription in interface Nameable
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 the Nameable.MAX_DESCRIPTION_LENGTH constant.

Specified by:
setDescription in interface Nameable
Parameters:
description - The new description for the item
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission
InvalidDataException - If the description longer than specified by the Nameable.MAX_DESCRIPTION_LENGTH constant

isRemoved

public boolean isRemoved()
Description copied from interface: Removable
Check if the removed flag is set for this item.

Specified by:
isRemoved in interface Removable
Returns:
TRUE if the item is flagged as removed, FALSE otherwise

setRemoved

public void setRemoved(boolean removed)
                throws PermissionDeniedException
Description copied from interface: Removable
Set the removed flag for this item.

Specified by:
setRemoved in interface Removable
Parameters:
removed - TRUE if the item should be flagged as removed, FALSE otherwise
Throws:
PermissionDeniedException - If the logged in user doesn't have Permission.DELETE permission for setting the flag to TRUE or Permission.WRITE permission for setting the flag to FALSE

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

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

getRows

public int getRows()
Get the number of rows in this geometry.

Returns:
The number of rows

setRows

private void setRows(int rows)
              throws InvalidDataException
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

private void setColumns(int columns)
                 throws InvalidDataException
The number of columns cannot be changed, used at object creation only.

Throws:
InvalidDataException - If the column count is less than 1

newPlateType

public PlateType newPlateType()
                       throws PermissionDeniedException,
                              BaseException
Create a new PlateType of this geometry.

Returns:
The new plate type
Throws:
PermissionDeniedException - If the logged in user doesn't have use permission for this plate geometry
BaseException - If there is another error

getPlateTypes

public ItemQuery<PlateType> getPlateTypes()
Get a query returning all plate types using this geometry.

Returns:
An ItemQuery

2.17.2: 2011-06-17