This document contains information about the basic classes and interfaces in this package. They are important since all dataclasses must extend/implement these classes when they need certain functionality.
Contents
Each data-class must inherit from one of the already existing
abstract base classes. They contain code that is common to all
classes, for example implementations of the equals()
and hashCode()
methods or how to link with the owner of
an item.
equals()
, hashCode()
and toString()
methods in the Object
class.
It also defines the id
and version
properties.
BasicData
class and adds an owner
property. The owner is a required link to a UserData
object.
OwnerData
class and adds methods for
properties that holds access permission information for an item. Access
permissions are held in ItemKeyData
and/or ProjectKeyData
objects. These objects only exists if the item has been shared.
SharedData
class and implements the NameableData
and RemoveableData
interfaces. For many of the data classes it will be convenient to extend this class
and just add a few new properties.
AnnotationSetData
objects. The annotation set only exists
if annotations has been created for the item.
id
. The
id is unique for all items of a specific type (ie. class). The id is number that is
automatically generated by the database and has no other meaning outside of
the application. The version
property is used for detecting and
preventing concurrent modifications to an item.
owner
. The owner is
represented as a required link to a UserData
object.
ItemKeyData
and/or ProjectKeyData
objects.
name
and, optionally, a description
.
net.sf.basedb.core.User.ROOT
. The system id:s are defined in the core layer
by each item class.
DiskUsageData
contains information about the size, location, owner etc. of the item.
AnnotationSetData
object.