3.2.4: 2013-12-06

net.sf.basedb.core
Class Software

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.OwnedItem<D>
          extended by net.sf.basedb.core.SharedItem<D>
              extended by net.sf.basedb.core.CommonItem<SoftwareData>
                  extended by net.sf.basedb.core.Software
All Implemented Interfaces:
AccessControlled, Identifiable, Nameable, Ownable, Registered, Removable, Shareable, Subtypable

public class Software
extends CommonItem<SoftwareData>
implements Registered, Subtypable

This class is used to represent individual software items and information about them. In the current version of BASE the only type of software we keep information about is feature extraction software.

Version:
2.0
Author:
enell
Last modified
$Date: 2011-08-04 12:58:23 +0200 (Thu, 04 Aug 2011) $

Field Summary
static String ALIGNMENT
          The id for the SoftwareType item representing software used for aligning sequenced data against a known reference database.
static String FEATURE_EXTRACTION
          The id for the SoftwareType item representing the softwaretype "feature extraction software".
static int MAX_VERSIONSTRING_LENGTH
          The maximum length of the version variable that can be stored in the database.
private 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
Software(SoftwareData data)
          Creates a new software item.
 
Method Summary
static Software getById(DbControl dc, int id)
          Get a Software item when you know the ID.
static String getDefaultSystemId(Item itemType)
          Get the system id for the software subtype that should be used on an item that doesn't have a subtype.
 Date getEntryDate()
          Get the date that the item was registered in the database.
 ItemSubtype getItemSubtype()
          Get the subtype of the item.
static Software getNew(DbControl dc)
          Create a new Software item.
static ItemQuery<Software> getQuery()
          Get a query configured to retrieve software.
 Item getType()
          Get the type of item represented by the object.
 Set<ItemProxy> getUsingItems()
          Get all: RawBioAssay:s created with this software DerivedBioAssay: created with this software
 String getVersionString()
          Get the versionstring of this Software item.
 boolean isUsed()
          Check if: a RawBioAssay was created with this software a DerivedBioassay was created with this software
 void setItemSubtype(ItemSubtype subtype)
          Set the subtype on the item.
 void setVersionString(String versionString)
          Set the versionstring for this Software item.
 
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, isRemoved, setDescription, setName, setRemoved, toTransferable
 
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey, toTransferable
 
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership, toTransferable
 
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, 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
 
Methods inherited from interface net.sf.basedb.core.Ownable
getOwner, isOwner, setOwner, takeOwnership
 

Field Detail

TYPE

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

See Also:
Item.SOFTWARE, getType()
Last modified
$Date: 2011-08-04 12:58:23 +0200 (Thu, 04 Aug 2011) $

FEATURE_EXTRACTION

public static final String FEATURE_EXTRACTION
The id for the SoftwareType item representing the softwaretype "feature extraction software".

Since:
3.0
See Also:
Constant Field Values

ALIGNMENT

public static final String ALIGNMENT
The id for the SoftwareType item representing software used for aligning sequenced data against a known reference database.

Since:
3.0
See Also:
Constant Field Values

MAX_VERSIONSTRING_LENGTH

public static final int MAX_VERSIONSTRING_LENGTH
The maximum length of the version variable that can be stored in the database. Check the length against this value before calling the setVersionString(String) method to avoid exceptions.

See Also:
Constant Field Values
Constructor Detail

Software

Software(SoftwareData data)
Creates a new software item.

Parameters:
data - the data
Method Detail

getDefaultSystemId

public static String getDefaultSystemId(Item itemType)
Get the system id for the software subtype that should be used on an item that doesn't have a subtype. This includes Subtypable items with a null ItemSubtype and all other non-subtypable items which can be linked to a software.

Parameters:
itemType - The item type
Returns:
The system id of the default software type or null
Since:
3.0

getNew

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

Parameters:
dc - The DbControl which will be used for permission checking and database access.
Returns:
The new Software item
Throws:
BaseException - This exception is thrown if there is another error

getById

public static Software getById(DbControl dc,
                               int id)
                        throws ItemNotFoundException,
                               PermissionDeniedException,
                               BaseException
Get a Software 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 Software 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<Software> getQuery()
                                    throws BaseException
Get a query configured to retrieve software.

Returns:
An ItemQuery object
Throws:
BaseException - If getting the query fails.

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

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

getItemSubtype

public ItemSubtype getItemSubtype()
Description copied from interface: Subtypable
Get the subtype of the item.

Specified by:
getItemSubtype in interface Subtypable
Returns:
A subtype of null if not set
See Also:
SubtypableRelatedItems

setItemSubtype

public void setItemSubtype(ItemSubtype subtype)
Description copied from interface: Subtypable
Set the subtype on the item.

Specified by:
setItemSubtype in interface Subtypable
Parameters:
subtype - A subtype or null
See Also:
ItemSubtype.setOnItem(Subtypable)

isUsed

public boolean isUsed()
               throws BaseException
Check if:

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

getVersionString

public String getVersionString()
Get the versionstring of this Software 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 this Software item. The value must not be longer than the value specified by the MAX_VERSIONSTRING_LENGTH constant.

Parameters:
versionString - The new version for this item, or null if not known
Throws:
StringTooLongException - If the version is longer then MAX_VERSIONSTRING_LENGTH
PermissionDeniedException - If the logged in user don't have write permission on this item

3.2.4: 2013-12-06