Last update: 2011-06-23

org.proteios.core
Class Software

java.lang.Object
  extended by org.proteios.core.BasicItem<D>
      extended by org.proteios.core.OwnedItem<D>
          extended by org.proteios.core.SharedItem<D>
              extended by org.proteios.core.CommonItem<SoftwareData>
                  extended by org.proteios.core.Software
All Implemented Interfaces:
AccessControlled, Identifiable, Nameable, Ownable, Removable, Shareable

public class Software
extends CommonItem<SoftwareData>

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

Version:
2.0
Author:
enell
Last modified
$Date: 2009-04-09 08:48:11 +0200 (Thu, 09 Apr 2009) $

Field Summary
static int MAX_VERSIONSTRING_LENGTH
          The maximum length of the version variable that can be stored in the database.
 
Fields inherited from interface org.proteios.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
 
Method Summary
static Software getById(DbControl dc, int id)
          Get a Software item when you know the ID.
static ItemQuery<Software> getQuery()
          Get a query configured to retrieve software.
 SoftwareType getSoftwareType()
          Get the associated SoftwareType item.
 Item getType()
          Get the type of item represented by the object.
 String getVersionString()
          Get the versionstring of this Software item.
 boolean isUsed()
          Check if: a new entity was created with this software
 void setSoftwareType(SoftwareType softwareType)
          Set the SoftwareType of this Software item.
 void setVersionString(String versionString)
          Set the versionstring for this Software item.
 
Methods inherited from class org.proteios.core.CommonItem
getDescription, getName, isRemoved, setDescription, setName, setRemoved
 
Methods inherited from class org.proteios.core.SharedItem
getItemKey, getProjectKey, isShared, setItemKey, setProjectKey
 
Methods inherited from class org.proteios.core.OwnedItem
getOwner, setOwner
 
Methods inherited from class org.proteios.core.BasicItem
checkPermission, equals, getDbControl, getId, getPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.proteios.core.Identifiable
getId, getVersion
 
Methods inherited from interface org.proteios.core.AccessControlled
checkPermission, hasPermission
 
Methods inherited from interface org.proteios.core.Ownable
getOwner, setOwner
 

Field Detail

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
Method Detail

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

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.

Returns:
A value indicating the type of item

isUsed

public boolean isUsed()
               throws BaseException
Check if:

Specified by:
isUsed in class BasicItem<SoftwareData>
Returns:
TRUE if this item is used, FALSE otherwise
Throws:
BaseException

getSoftwareType

public SoftwareType getSoftwareType()
                             throws PermissionDeniedException,
                                    BaseException
Get the associated SoftwareType item. All Software items must have a type.

Returns:
The SoftwareType item
Throws:
PermissionDeniedException - If the logged in user doesn't have Permission.READ permission for the software type
BaseException - If there is another error

setSoftwareType

public void setSoftwareType(SoftwareType softwareType)
                     throws PermissionDeniedException,
                            InvalidUseOfNullException
Set the SoftwareType of this Software item. This parameter mustn't be null.

Parameters:
softwareType - The new SoftwareType
Throws:
PermissionDeniedException - If the logged in user doesn't have Permission.WRITE permission for the software or Permission.USE permission for the software type
InvalidUseOfNullException - If software type is null

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

Last update: 2011-06-23