2.17.2: 2011-06-17

net.sf.basedb.core
Class ProtocolType

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

public class ProtocolType
extends BasicItem<ProtocolTypeData>
implements Nameable, Removable, SystemItem, Registered

This class is used to represent the type of the Protocol items in BASE.

Version:
2.0
Author:
enell
See Also:
Protocol

Field Summary
static String EXTRACTION
          The ID for the extraction protocol type, for example a protocol used when creating an Extract from a Sample.
static String FEATURE_EXTRACTION
          The ID for the feature extraction protocol type, for example a protocol used for analysing one or more images to create a raw data file.
static String HYBRIDIZATION
          The ID for the hybridization protocol type, for example a protocol used when creating a Hybridization from a set of LabeledExtract:s.
static String LABELING
          The ID for the labeling protocol type, for example a protocol used when creating a LabeledExtract from an Extract.
static String POOLING
          The ID for the pooling protocol type, for example a protocol used when creating a biomaterial item (Sample, Extract or LabeledExtract) from a set of other biomaterial items.
static String PRINTING
          The ID for the printing protocol type, for example a protocol used when printing a batch of array slides using a print robot.
static String SAMPLING
          The ID for the sampling protocol type, for example a protocol used when creating a Sample from a BioSource.
static String SCANNING
          The ID for the scanning protocol type, for example a protocol used for scanning the microarray slide after an experiment.
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
 
Fields inherited from interface net.sf.basedb.core.SystemItem
MAX_SYSTEM_ID_LENGTH
 
Constructor Summary
ProtocolType(ProtocolTypeData data)
          Creates a new protocoltype item.
 
Method Summary
static ProtocolType getById(DbControl dc, int id)
          Get a ProtocolType object when you know the ID.
 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 ProtocolType getNew(DbControl dc)
          Create a new FileType item.
 ItemQuery<Protocol> getProtocols()
          Get a query that returns all protocols of this type
static ItemQuery<ProtocolType> getQuery()
          Get a query configured to retrieve protocol types.
 String getSystemId()
          Get the system id for the item.
 Item getType()
          Get the type of item represented by the object.
 Set<ItemProxy> getUsingItems()
          Get all: Protocol:s of this type PlateEventType:s using this protocol type
(package private)  void initPermissions(int granted, int denied)
          If this is a system protocol type, delete and create permissions are revoked.
 boolean isRemoved()
          Check if the removed flag is set for this item.
 boolean isSystemItem()
          Check if the item is a system item or not.
 boolean isUsed()
          Check if: A Protocol of this type exists A PlateEventType is linked to this protocol type
 Protocol newProtocol()
          Create a new Protocol item of this type.
 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.
 
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, 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.PROTOCOLTYPE, getType()

SAMPLING

public static final String SAMPLING
The ID for the sampling protocol type, for example a protocol used when creating a Sample from a BioSource.

See Also:
Constant Field Values

EXTRACTION

public static final String EXTRACTION
The ID for the extraction protocol type, for example a protocol used when creating an Extract from a Sample.

See Also:
Constant Field Values

LABELING

public static final String LABELING
The ID for the labeling protocol type, for example a protocol used when creating a LabeledExtract from an Extract.

See Also:
Constant Field Values

POOLING

public static final String POOLING
The ID for the pooling protocol type, for example a protocol used when creating a biomaterial item (Sample, Extract or LabeledExtract) from a set of other biomaterial items.

See Also:
Constant Field Values

HYBRIDIZATION

public static final String HYBRIDIZATION
The ID for the hybridization protocol type, for example a protocol used when creating a Hybridization from a set of LabeledExtract:s.

See Also:
Constant Field Values

PRINTING

public static final String PRINTING
The ID for the printing protocol type, for example a protocol used when printing a batch of array slides using a print robot.

See Also:
Constant Field Values

SCANNING

public static final String SCANNING
The ID for the scanning protocol type, for example a protocol used for scanning the microarray slide after an experiment.

See Also:
Constant Field Values

FEATURE_EXTRACTION

public static final String FEATURE_EXTRACTION
The ID for the feature extraction protocol type, for example a protocol used for analysing one or more images to create a raw data file.

See Also:
Constant Field Values
Constructor Detail

ProtocolType

ProtocolType(ProtocolTypeData data)
Creates a new protocoltype item.

Parameters:
data - The data
Method Detail

getNew

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

Parameters:
dc - The DbControl which will be used for permission checking and database access
Returns:
The new FileType item
Throws:
BaseException - If there is an error

getById

public static ProtocolType getById(DbControl dc,
                                   int id)
                            throws ItemNotFoundException,
                                   PermissionDeniedException,
                                   BaseException
Get a ProtocolType object 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 ProtocolType 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 items
BaseException - If there is an error

getQuery

public static ItemQuery<ProtocolType> getQuery()
Get a query configured to retrieve protocol types.

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

getSystemId

public String getSystemId()
Description copied from interface: SystemItem
Get the system id for the item.

Specified by:
getSystemId in interface SystemItem
Returns:
The id of the item or null if it is not a system item

isSystemItem

public boolean isSystemItem()
Description copied from interface: SystemItem
Check if the item is a system item or not. A system item have a non-null value for the system id.

Specified by:
isSystemItem in interface SystemItem
Returns:
TRUE if this item is a system item, FALSE otherwise

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

initPermissions

void initPermissions(int granted,
                     int denied)
               throws BaseException
If this is a system protocol type, delete and create permissions are revoked.

Overrides:
initPermissions in class BasicItem<ProtocolTypeData>
Parameters:
granted - Permissions that have been granted by the subclass
denied - Permissions that have been denied by the subclass
Throws:
BaseException - If the permissions couldn't be initialised

newProtocol

public Protocol newProtocol()
                     throws PermissionDeniedException,
                            BaseException
Create a new Protocol item of this type.

Returns:
The new Protocol object
Throws:
PermissionDeniedException - This exception is thrown if the logged in user doesn't have Permission.USE permission for this protocol type
BaseException - This exception is thrown if there is another error

getProtocols

public ItemQuery<Protocol> getProtocols()
Get a query that returns all protocols of this type

Returns:
An ItemQuery object

2.17.2: 2011-06-17