A file format supported by the tag-value event-based parsing system.
Format should be implemented to provide pre-canned access to common
formats such as Embl, genbank, swissprot, enzyme etc. so that people do not
need to work out which events should be produced by a given file format.
It is expcected that implementations of Format will publish meta-data
about what tags are associated with which values.
Retrieve a ParserListener pair for the format that will pass all events
on to a listener.
Call this method to get a working parser that can be fed into a tag-value
This method may well be called many times during the lifetime of an
applications.. You should make this threadsafe. To avoid buring too much
memory, and to facilitate the comparrison of object by the == operator,
it is usefull to shair as much data as possible between the parsers and
handlers returned by this method.
listener - a TagValueListener that all events should be passed onto
Get the AnnotationType that constrains the events that will be fired.
If you feed the events from the ParserListener into somethign that builds
Annotation bundles, this is the AnnotationType that those bundles will
In the cases where the events have been sensibly crafted, it will be
possible to introspect a great deal about the parsing events from this
AnntoationType. Use it to dynamicaly bind events to object models, generate
gui componets, and to work out which formats contain cross-refferenceable
It is polite to return a full and constrained description of the types of
oevents that may be generated, how many of them could come (cardinality)
and what types of values will be associated with them. The use of
OmtologyTerm instances as property names is encouraged.
an AnnotationType representingchema for the events
The OBDA recomends taht file formats have identifiers assopciated with
them. This allows the format to be specified unambiguously across
different projects and groups. Idealy, a format LSID should conform to
the odda formats specification.