2.17.2: 2011-06-17

net.sf.basedb.core
Class DataCubeFilter

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.ChildItem<DataCubeFilterData>
          extended by net.sf.basedb.core.DataCubeFilter
All Implemented Interfaces:
AccessControlled, Identifiable

public class DataCubeFilter
extends ChildItem<DataCubeFilterData>

This represents a filter in a datacube. A filter simply contains a set of column/position coordinates of spots that has passed som filtering criteria. In theory a filter can be used on any layer in the data cube, but in practice filters are not reused among bioassaysets with different layers. This item keeps track of two important things. The filter number and the number of bytes the data in this layer occupies on disk. The number of bytes is reported up to the Experiment which is the item that handles user quota.

Version:
2.0
Author:
Nicklas
See Also:
DataCube, FilterBatcher
Last modified
$Date: 2009-04-06 14:52:39 +0200 (Mon, 06 Apr 2009) $

Field Summary
static Item TYPE
          The type of item represented by this class.
 
Constructor Summary
DataCubeFilter(DataCubeFilterData data)
          Creates a new data cube item from the given data.
 
Method Summary
(package private)  void addBytes(long bytes)
           
static DataCubeFilter getById(DbControl dc, int id)
          Get a DataCubeFilter item when you know the id.
 long getBytes()
          Get the number of bytes the data stored in this filter occupies on disk.
 DataCube getDataCube()
          Get the data cube this filter belongs to.
 short getDataCubeNo()
          Get the number of the data cube this filter belongs to.
 short getFilterNo()
          Get the number of this filter.
(package private) static DataCubeFilter getNew(DbControl dc, DataCube cube)
          Create a new DataCubeFilter item.
(package private)  Permission getPermissionForWriteDeleteAndCreate()
          USE permission is enough to be able to manage data cubes.
(package private)  SharedData getSharedParent()
          Get the experiment.
 Item getType()
          Get the type of item represented by the object.
(package private)  VirtualDb getVirtualDb()
          Get the virtual database this filter belongs to.
(package private)  void onBeforeCommit(Transactional.Action action)
          Delete data and update disk usage information on the experiment if action == Action.DELETE
private  void setDataCube(DataCube cube)
          Set the data cube.
private  void setFilterNo(short filterNo)
           
 
Methods inherited from class net.sf.basedb.core.ChildItem
getPluginPermissions, initPermissions
 
Methods inherited from class net.sf.basedb.core.BasicItem
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getSessionControl, getUsingItems, getVersion, hashCode, hasPermission, isDetached, isInDatabase, isUsed, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, toTransferable, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

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

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

DataCubeFilter

DataCubeFilter(DataCubeFilterData data)
Creates a new data cube item from the given data.

Parameters:
data - the data
Method Detail

getNew

static DataCubeFilter getNew(DbControl dc,
                             DataCube cube)
                      throws BaseException
Create a new DataCubeFilter item.

Parameters:
dc - The DbControl which will be used for permission checking and database access.
cube - The cube the new filter is located in
Returns:
The new DataCubeFilter item
Throws:
BaseException - If there is an error

getById

public static DataCubeFilter getById(DbControl dc,
                                     int id)
                              throws ItemNotFoundException,
                                     PermissionDeniedException,
                                     BaseException
Get a DataCubeFilter 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 DataCubeFilter 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

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

onBeforeCommit

void onBeforeCommit(Transactional.Action action)
              throws BaseException
Delete data and update disk usage information on the experiment if action == Action.DELETE

Overrides:
onBeforeCommit in class BasicItem<DataCubeFilterData>
Throws:
BaseException - If there is an error
See Also:
Transactional, Core API overview - Transaction handling, Coding rules and guidelines for item classes

getSharedParent

SharedData getSharedParent()
Get the experiment.

Specified by:
getSharedParent in class ChildItem<DataCubeFilterData>
Returns:
The parent item

getPermissionForWriteDeleteAndCreate

Permission getPermissionForWriteDeleteAndCreate()
USE permission is enough to be able to manage data cubes.

Overrides:
getPermissionForWriteDeleteAndCreate in class ChildItem<DataCubeFilterData>

getDataCube

public DataCube getDataCube()
                     throws PermissionDeniedException,
                            BaseException
Get the data cube this filter belongs to.

Returns:
A DataCube object
Throws:
PermissionDeniedException - If the logged in user doesn't have read permission to the item
BaseException - If there is another error

setDataCube

private void setDataCube(DataCube cube)
Set the data cube. This cannot be changed after the filter has been created.


getDataCubeNo

public short getDataCubeNo()
Get the number of the data cube this filter belongs to.


getFilterNo

public short getFilterNo()
Get the number of this filter.


setFilterNo

private void setFilterNo(short filterNo)

getBytes

public long getBytes()
Get the number of bytes the data stored in this filter occupies on disk.


addBytes

void addBytes(long bytes)

getVirtualDb

VirtualDb getVirtualDb()
Get the virtual database this filter belongs to.


2.17.2: 2011-06-17