Package org.biojava.bio.annodb
Class SimpleAnnotationDB
- java.lang.Object
-
- org.biojava.bio.annodb.SimpleAnnotationDB
-
- All Implemented Interfaces:
AnnotationDB
public class SimpleAnnotationDB extends Object implements AnnotationDB
A no-frills implementation of AnnotationDB.
- Since:
- 1.3
- Author:
- Matthew Pocock
-
-
Field Summary
-
Fields inherited from interface org.biojava.bio.annodb.AnnotationDB
EMPTY
-
-
Constructor Summary
Constructors Constructor Description SimpleAnnotationDB(String name, Set anns, AnnotationType schema)
Create a no-frills AnnotationDB instancec.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AnnotationDB
filter(AnnotationType at)
Find all Annotation instances in this DB that are of a particular type.String
getName()
The name of this AnnotationDB.AnnotationType
getSchema()
Get an AnnotationType that accepts all Annotation instances in this DB.Iterator
iterator()
Loop over each Annotation in this db.AnnotationDB
search(AnnotationType at)
Find all Annotation instances in this DB and any Annotations that are child properties of these that match an AnnotationType.int
size()
The number of Annotation instances in the DB.
-
-
-
Constructor Detail
-
SimpleAnnotationDB
public SimpleAnnotationDB(String name, Set anns, AnnotationType schema)
Create a no-frills AnnotationDB instancec.- Parameters:
name
- the name of this Annotation DBanns
- a Set of Annotation instances it containsschema
- an AnnotationType schema that applies to them
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:AnnotationDB
The name of this AnnotationDB.
- Specified by:
getName
in interfaceAnnotationDB
- Returns:
- the name of this AnnotationDB
-
size
public int size()
Description copied from interface:AnnotationDB
The number of Annotation instances in the DB.- Specified by:
size
in interfaceAnnotationDB
- Returns:
- the size of this DB
-
getSchema
public AnnotationType getSchema()
Description copied from interface:AnnotationDB
Get an AnnotationType that accepts all Annotation instances in this DB.
The schema should accept all Annotations in the DB. However, it may hit other Annotations. So, AnnotationType.ALL is always a valid schema. Obviously, the more retrictive it is, the more usefull it becomes for introspection.
- Specified by:
getSchema
in interfaceAnnotationDB
- Returns:
- the schema AnnotationType
-
iterator
public Iterator iterator()
Description copied from interface:AnnotationDB
Loop over each Annotation in this db.- Specified by:
iterator
in interfaceAnnotationDB
- Returns:
- an Iterator over each item in the DB
-
filter
public AnnotationDB filter(AnnotationType at)
Description copied from interface:AnnotationDB
Find all Annotation instances in this DB that are of a particular type.- Specified by:
filter
in interfaceAnnotationDB
- Parameters:
at
- the AnnotationType to match- Returns:
- an AnnotationDB with all matching Annotation instances
-
search
public AnnotationDB search(AnnotationType at)
Description copied from interface:AnnotationDB
Find all Annotation instances in this DB and any Annotations that are child properties of these that match an AnnotationType.- Specified by:
search
in interfaceAnnotationDB
- Parameters:
at
- the AnnotationType to search with- Returns:
- an AnnotationDB with all matching Annotation instances, irregardless of how deep in the hieracy they are
-
-