Package net.sf.basedb.core.snapshot
Class AnnotationSetSnapshot
- java.lang.Object
-
- net.sf.basedb.core.snapshot.AnnotationSetSnapshot
-
- All Implemented Interfaces:
Serializable
public class AnnotationSetSnapshot extends Object implements Serializable
A snapshot of an annotation set that is used to store information as a file. This will make it quicker to load annotation values than if we have to do it from the database each time. The snapshot will store information about:- The item the annotation set is linked to
- The primary annotations (including their values)
- Unit the values should be displayed in (values are always stored in the unit of the annotation type)
- Inherited annotations (not including the values)
- Inherited annotation sets (not including the values)
IMPORTANT NOTE TO DEVELOPERS!!
Do not forget to synchronize all serialization code and to increment the
FILE_VERSION
in case the number of variables that needs serialization in this class or in theAnnotationSnapshot
changes.- Version:
- 2.14
- Author:
- Nicklas
- See Also:
- Serialized Form
- Last modified
- $Date: 2019-02-27 14:18:43 +0100 (ons, 27 feb. 2019) $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
AnnotationSetSnapshot.SortByProjectComparator
Comparator for sorting annotation snapshots so that project-specific annotations appear before default annotations.
-
Field Summary
Fields Modifier and Type Field Description private List<AnnotationSnapshot>
annotations
private int
annotationSetId
private long
created
static int
FILE_VERSION
The version number for the file format in use when serializing this data.private int
itemId
private Item
itemType
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description AnnotationSetSnapshot()
Creates a new, empty snapshot.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) List<AnnotationSnapshot>
getAnnotations()
Get a list with the all annotations in this snapshot.AnnotationSet
getAnnotationSet(DbControl dc)
Get the annotation set this is a snapshot of.int
getAnnotationSetId()
Get the id of the annotation set this is a snapshot of.Annotatable
getItem(DbControl dc)
Get item the annotations belong to.int
getItemId()
Get the ID of the item the annotations in this snapshot belong to.Item
getItemType()
Get the item type of the item the annotations in this snapshot belong to.int
getSize()
Get the number of annotations.Date
getSnapshotDate()
Get the date and time this snapshot was created.void
init(AnnotationSetData set)
Initialise the snapshot with data from the given annotation set, including values for all primary annotations and information about inherited annotations.private void
readObject(ObjectInputStream in)
private void
writeObject(ObjectOutputStream out)
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
FILE_VERSION
public static final int FILE_VERSION
The version number for the file format in use when serializing this data. If the format changes in an incompatible way, this number must be increased. This will make sure that the old files are not used and that new files are generated instead.
-
created
private transient long created
-
annotationSetId
private transient int annotationSetId
-
itemId
private transient int itemId
-
itemType
private transient Item itemType
-
annotations
private transient List<AnnotationSnapshot> annotations
-
-
Method Detail
-
init
public void init(AnnotationSetData set)
Initialise the snapshot with data from the given annotation set, including values for all primary annotations and information about inherited annotations.
-
getSnapshotDate
public Date getSnapshotDate()
Get the date and time this snapshot was created.
-
getItemId
public int getItemId()
Get the ID of the item the annotations in this snapshot belong to.
-
getItem
public Annotatable getItem(DbControl dc)
Get item the annotations belong to.- Parameters:
dc
- A DbControl to use for database access
-
getItemType
public Item getItemType()
Get the item type of the item the annotations in this snapshot belong to.
-
getSize
public int getSize()
Get the number of annotations.
-
getAnnotations
List<AnnotationSnapshot> getAnnotations()
Get a list with the all annotations in this snapshot.
-
getAnnotationSetId
public int getAnnotationSetId()
Get the id of the annotation set this is a snapshot of.
-
getAnnotationSet
public AnnotationSet getAnnotationSet(DbControl dc)
Get the annotation set this is a snapshot of.
-
writeObject
private void writeObject(ObjectOutputStream out) throws IOException
- Throws:
IOException
-
readObject
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
- Throws:
IOException
ClassNotFoundException
-
-