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).


Method Summary
 String getTagName()
          Gets the name of the tag handled by this tag value handler
 void handle(String currentId, String value, String qualifierBlock, String comment)
          Handles a tag.
 

Method Detail

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 tag
qualifierBlock -
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.