Package net.sf.basedb.core
Class Tag
-
- All Implemented Interfaces:
AccessControlled
,Annotatable
,Identifiable
,Nameable
,Ownable
,Registered
,Removable
,Shareable
,Subtypable
public class Tag extends AnnotatedItem implements Registered, Subtypable
This class represents a tag. Tags are used on extracts so that they can be tracked on physical bioassays.- Since:
- 3.0
- Author:
- Nicklas
- Last modified
- $Date: 2017-05-22 14:35:27 +0200 (må, 22 maj 2017) $
-
-
Field Summary
Fields Modifier and Type Field Description static String
BARCODE
The ID for the BARCODE tag type.static String
LABEL
The ID for the LABEL tag type.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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<Annotatable>
getAnnotatableParents()
Get all parents objects which are annotatable and the logged in user has read permission to.static Tag
getById(DbControl dc, int id)
Get aTag
item when you know the id.(package private) TagData
getData()
Get theBasicData
object that holds all data for this item.Date
getEntryDate()
Get the date that the item was registered in the database.ItemSubtype
getItemSubtype()
Get the subtype of the item.static Tag
getNew(DbControl dc)
Create a newTag
item.static ItemQuery<Tag>
getQuery()
Get a query that returns tags.Item
getType()
Get the type of item represented by the object.Set<ItemProxy>
getUsingItems()
Get all:Extract
:s marked with this tagboolean
isUsed()
Check if: SomeExtract
:s are marked with this tagvoid
setEntryDate(Date entryDate)
Set the date the entry was registered in the database.void
setItemSubtype(ItemSubtype subtype)
Set the subtype on the item.-
Methods inherited from class net.sf.basedb.core.AnnotatedItem
getAnnotationSet, getProtocol, isAnnotated, removeAnnotations
-
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, getRemovedBy, isRemoved, setDescription, setName, setRemoved
-
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey
-
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership
-
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, isDetached, isInDatabase, onAfterCommit, onAfterInsert, 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
-
Methods inherited from interface net.sf.basedb.core.Ownable
getOwner, isOwner, setOwner, takeOwnership
-
-
-
-
Field Detail
-
TYPE
public static final Item TYPE
The type of item represented by this class.
-
LABEL
public static final String LABEL
The ID for the LABEL tag type.- See Also:
- Constant Field Values
-
BARCODE
public static final String BARCODE
The ID for the BARCODE tag type.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Tag
Tag(TagData data)
-
-
Method Detail
-
getNew
public static Tag getNew(DbControl dc) throws BaseException
Create a newTag
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access- Returns:
- The new
Label
item - Throws:
BaseException
- If there is an error
-
getById
public static Tag getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException
Get aTag
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
Tag
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
public static ItemQuery<Tag> getQuery()
Get a query that returns tags.- Returns:
- An
ItemQuery
object
-
getData
TagData getData()
Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item.- Overrides:
getData
in classAnnotatedItem
-
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 theItem
enumeration.- Specified by:
getType
in interfaceIdentifiable
- 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 interfaceRegistered
- Returns:
- A date or null if this is not known
-
setEntryDate
public void setEntryDate(Date entryDate)
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
-
getAnnotatableParents
public Set<Annotatable> getAnnotatableParents()
Description copied from interface:Annotatable
Get all parents objects which are annotatable and the logged in user has read permission to. If the item doesn't have any annotatable parents, it may return null or an empty set. The method should only return the immediate parent(s), not parents to parents, etc. As of BASE 3.1 this method may also return child items if the child item is aSubtypable
item that has a subtype with theItemSubtype.getPushAnnotations()
flag set.- Specified by:
getAnnotatableParents
in interfaceAnnotatable
- Returns:
- Always null
- Since:
- 3.3
-
getItemSubtype
public ItemSubtype getItemSubtype()
Description copied from interface:Subtypable
Get the subtype of the item.- Specified by:
getItemSubtype
in interfaceSubtypable
- 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 interfaceSubtypable
- Parameters:
subtype
- A subtype or null- See Also:
ItemSubtype.setOnItem(Subtypable)
-
isUsed
public boolean isUsed() throws BaseException
Check if:- Some
Extract
:s are marked with this tag
- 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:
BasicItem.getUsingItems()
- Some
-
getUsingItems
public Set<ItemProxy> getUsingItems()
Get all:Extract
:s marked with this tag
- 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:
BasicItem.addUsingItems(Set, Item, org.hibernate.query.Query)
-
-