info.bioinfweb.treegraph.document.io.nexus
Class NexusParser

java.lang.Object
  extended by info.bioinfweb.treegraph.document.io.nexus.NexusParser

public class NexusParser
extends java.lang.Object


Field Summary
static java.util.regex.Pattern BLOCK_BEGIN_PATTERN
           
static java.util.regex.Pattern BLOCK_END_PATTERN
           
static java.util.regex.Pattern COMMAND_PATTERN
           
static char COMMAND_SEPARATOR
           
static char COMMENT_END
           
static char COMMENT_START
           
static java.util.regex.Pattern EMPTY_PATTERN
           
static java.util.regex.Pattern ENCLOSED_NAME_PATTERN
           
static java.lang.String NAME_BLOCK_BEGIN
           
static java.lang.String NAME_BLOCK_END
           
static char NAME_DELIMITER
           
static java.lang.String NAME_NEXUS
           
static java.util.regex.Pattern NAME_SEPARATOR_PATTERN
           
static java.lang.String NAME_TRANSL_TABLE
           
static java.lang.String NAME_TREES
           
static java.lang.String ROOTED_COMMAND
           
static java.util.regex.Pattern TRANSL_TABLE_PATTERN
           
static java.util.regex.Pattern TRANSL_TABLE_SEPARATOR_PATTERN
           
static java.lang.String TREE_COMMAND
           
static java.util.regex.Pattern TREE_COMMAND_PATTERN
           
static java.util.regex.Pattern TREES_PATTERN
           
static java.lang.String UNROOTED_COMMAND
           
static java.util.regex.Pattern WHITESPACE_PATTERN
           
 
Constructor Summary
NexusParser()
           
 
Method Summary
private static int findBlockEnd(NexusCommand[] commands, int start, int end)
           
private static int findCommand(NexusCommand[] commands, int start, int end, java.util.regex.Pattern namePattern, java.util.regex.Pattern tokenPattern)
          Searches for thr first occurence of the given command.
static NexusDocument parse(java.lang.String content)
           
private static java.lang.String parseName(java.lang.String name)
           
private static void readTranslTable(NexusCommand command, TranslTable translTable)
           
private static NexusCommand[] scan(java.lang.String content)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME_NEXUS

public static final java.lang.String NAME_NEXUS
See Also:
Constant Field Values

COMMENT_START

public static final char COMMENT_START
See Also:
Constant Field Values

COMMENT_END

public static final char COMMENT_END
See Also:
Constant Field Values

NAME_DELIMITER

public static final char NAME_DELIMITER
See Also:
Constant Field Values

NAME_SEPARATOR_PATTERN

public static final java.util.regex.Pattern NAME_SEPARATOR_PATTERN

ENCLOSED_NAME_PATTERN

public static final java.util.regex.Pattern ENCLOSED_NAME_PATTERN

COMMAND_SEPARATOR

public static final char COMMAND_SEPARATOR
See Also:
Constant Field Values

COMMAND_PATTERN

public static final java.util.regex.Pattern COMMAND_PATTERN

ROOTED_COMMAND

public static final java.lang.String ROOTED_COMMAND
See Also:
Constant Field Values

UNROOTED_COMMAND

public static final java.lang.String UNROOTED_COMMAND
See Also:
Constant Field Values

NAME_BLOCK_BEGIN

public static final java.lang.String NAME_BLOCK_BEGIN
See Also:
Constant Field Values

BLOCK_BEGIN_PATTERN

public static final java.util.regex.Pattern BLOCK_BEGIN_PATTERN

NAME_BLOCK_END

public static final java.lang.String NAME_BLOCK_END
See Also:
Constant Field Values

BLOCK_END_PATTERN

public static final java.util.regex.Pattern BLOCK_END_PATTERN

NAME_TREES

public static final java.lang.String NAME_TREES
See Also:
Constant Field Values

TREES_PATTERN

public static final java.util.regex.Pattern TREES_PATTERN

NAME_TRANSL_TABLE

public static final java.lang.String NAME_TRANSL_TABLE
See Also:
Constant Field Values

TRANSL_TABLE_PATTERN

public static final java.util.regex.Pattern TRANSL_TABLE_PATTERN

TRANSL_TABLE_SEPARATOR_PATTERN

public static final java.util.regex.Pattern TRANSL_TABLE_SEPARATOR_PATTERN

TREE_COMMAND

public static final java.lang.String TREE_COMMAND
See Also:
Constant Field Values

TREE_COMMAND_PATTERN

public static final java.util.regex.Pattern TREE_COMMAND_PATTERN

WHITESPACE_PATTERN

public static final java.util.regex.Pattern WHITESPACE_PATTERN

EMPTY_PATTERN

public static final java.util.regex.Pattern EMPTY_PATTERN
Constructor Detail

NexusParser

public NexusParser()
Method Detail

scan

private static NexusCommand[] scan(java.lang.String content)

findCommand

private static int findCommand(NexusCommand[] commands,
                               int start,
                               int end,
                               java.util.regex.Pattern namePattern,
                               java.util.regex.Pattern tokenPattern)
Searches for thr first occurence of the given command.

Parameters:
commands - - the list if all commands
start - - the command index to start the search
end - - the command index to stop the search
namePattern - - the name of the command (The pattern should describe all possible names. Pattern are not matched case sensitive)
tokenPattern - - describes how the token of the command should look like (The pattern should describe all possible names. Pattern are not matched case sensitive)
Returns:
the index of the first match in the given array of command

findBlockEnd

private static int findBlockEnd(NexusCommand[] commands,
                                int start,
                                int end)

parseName

private static java.lang.String parseName(java.lang.String name)

readTranslTable

private static void readTranslTable(NexusCommand command,
                                    TranslTable translTable)

parse

public static NexusDocument parse(java.lang.String content)
                           throws NexusException
Throws:
NexusException