org.coode.owlapi.obo.parser
Interface TagValueHandler
- All Known Implementing Classes:
- AbstractTagValueHandler, AltIdTagValueHandler, AsymmetricHandler, DataVersionTagValueHandler, DefaultNamespaceTagValueHandler, DefTagValueHandler, DisjointFromHandler, DomainHandler, IDSpaceTagValueHandler, IDTagValueHandler, IntersectionOfHandler, InverseHandler, IsATagValueHandler, IsObsoleteTagValueHandler, NameTagValueHandler, OntologyTagValueHandler, PartOfTagValueHandler, ReflexiveHandler, RelationshipTagValueHandler, SymmetricTagValueHandler, SynonymTagValueHandler, SynonymTypeDefTagHandler, TransitiveOverHandler, TransitiveTagValueHandler, UnionOfHandler, XRefTagHandler
public interface TagValueHandler
Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group
Date: 10-Jan-2007
Concrete implementations of this interface allow specific behaviour for processing specific tag value pairs in an
OBO
file to be specified.
Tag-Value Pairs (From the OBO 1.4 Guide)
Tag-value pairs consist of a tag name, an unescaped colon, the tag value, and a newline:
<tag>: <value> {<trailing modifiers>} ! <comment>
The tag name is always a string. The value is always a string, but the value string may require special parsing
depending on the tag with which it is associated.
In general, tag-value pairs occur on a single line. Multi-line values are possible using escape characters (see
escape characters).
In general, each stanza type expects a particular set of pre-defined tags. However, a stanza may contain any tag. If
a parser does not recognize a tag name for a particular stanza, no error will be generated. This allows new
experimental tags to be added without breaking existing parsers. See handling unrecognized tags for specifics.
Trailing Modifiers
Any tag-value pair may be followed by a trailing modifier. Trailing modifiers have been introduced into the OBO 1.2
Specification to allow the graceful addition of new features to existing tags.
A trailing modifier has the following structure:
{<name>=<value>, <name=value>, <name=value>}
That is, trailing modifiers are lists of name-value pairs.
Parser implementations may choose to decode and/or round-trip these trailing modifiers. However, this is not
required. A parser may choose to ignore or strip away trailing modifiers.
For this reason, trailing modifiers should only include information that is optional or experimental.
Trailing modifiers may also occur within dbxref definitions (see dbxref formatting).
getTagName
String getTagName()
- Gets the name of the tag handled by this tag value handler
- Returns:
- The name of the tag
handle
void handle(String currentId,
String value,
String qualifierBlock,
String comment)
- Handles a tag. This is called by the OBOConsumer during parsing to handle tags that match the value returned
by the
getTagName() method.
- Parameters:
currentId - The id of the current frame.value - The value of the tagqualifierBlock - comment - The hidden comment. This is made up of any characters between ! and the end of line.
Copyright © 2012 The University of Manchester. All Rights Reserved.