- All Known Implementing Classes:
public interface FormatA 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.
- Matthew Pocock
All Methods Instance Methods Abstract Methods Modifier and Type Method Description
getLSID()Retrieve the LSID associated with this format.
getParserListener(TagValueListener listener)Retrieve a ParserListener pair for the format that will pass all events on to a listener.
getType()Get the AnnotationType that constrains the events that will be fired.
ParserListener getParserListener(TagValueListener listener)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 parsing pipeline. 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
- a ParserListener for the format
getTypeGet 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 conform to. 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 information. 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
getLSIDRetrieve the LSID associated with this format.
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.