sofie.parsing
Class Tokenizer.PatternRunner

java.lang.Object
  extended by sofie.parsing.Tokenizer.PatternRunner
Enclosing class:
Tokenizer

protected static class Tokenizer.PatternRunner
extends java.lang.Object

A pattern runner is an object that finds one specific pattern in a string. It knows to what token this pattern shall be mapped.


Field Summary
protected  java.util.regex.Matcher matcher
          Matcher if running on a specific charsequence (NULL if pattern could not be found anymore)
protected  java.util.regex.Pattern pattern
          Pattern to be found
protected  Token token
          Token by which an occurence shall be replaced (or NULL if token shall be newly created)
protected  java.lang.Class<? extends Token> tokenType
          Type of token
 
Constructor Summary
Tokenizer.PatternRunner(java.util.regex.Pattern p, java.lang.Class<? extends Token> c)
           
Tokenizer.PatternRunner(java.util.regex.Pattern p, java.lang.Class<? extends Token> c, Token t)
           
Tokenizer.PatternRunner(java.util.regex.Pattern p, Token t)
           
Tokenizer.PatternRunner(java.lang.String p, java.lang.Class<? extends Token> c)
           
Tokenizer.PatternRunner(java.lang.String p, java.lang.Class<? extends Token> c, Token t)
           
Tokenizer.PatternRunner(java.lang.String p, int flags, java.lang.Class<? extends Token> c)
           
Tokenizer.PatternRunner(java.lang.String p, int flags, java.lang.Class<? extends Token> c, Token t)
           
Tokenizer.PatternRunner(java.lang.String p, int flags, Token t)
           
Tokenizer.PatternRunner(java.lang.String p, Token t)
           
 
Method Summary
 Token addReplacement(java.util.List<Token> tokens, Token currentTitle, java.util.Map<Token,Token> uniqueTokens)
          Adds this runner's token to the list of tokens.
 int beatsForPosition(Tokenizer.PatternRunner previousBest, int position)
          Tells whether this pattern runner can find a better pattern for this position than the previousBest.
 int newPosition()
          Returns the position after the match
 java.util.regex.Pattern pattern()
          returns the pattern
 Tokenizer.PatternRunner runOn(java.lang.CharSequence s)
          Sets the pattern runner on this char sequence.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

token

protected Token token
Token by which an occurence shall be replaced (or NULL if token shall be newly created)


tokenType

protected java.lang.Class<? extends Token> tokenType
Type of token


pattern

protected java.util.regex.Pattern pattern
Pattern to be found


matcher

protected java.util.regex.Matcher matcher
Matcher if running on a specific charsequence (NULL if pattern could not be found anymore)

Constructor Detail

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.util.regex.Pattern p,
                               java.lang.Class<? extends Token> c,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               java.lang.Class<? extends Token> c,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               int flags,
                               java.lang.Class<? extends Token> c,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.util.regex.Pattern p,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               int flags,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               Token t)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               int flags,
                               java.lang.Class<? extends Token> c)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.lang.String p,
                               java.lang.Class<? extends Token> c)

Tokenizer.PatternRunner

public Tokenizer.PatternRunner(java.util.regex.Pattern p,
                               java.lang.Class<? extends Token> c)
Method Detail

runOn

public Tokenizer.PatternRunner runOn(java.lang.CharSequence s)
Sets the pattern runner on this char sequence. Returns this


beatsForPosition

public int beatsForPosition(Tokenizer.PatternRunner previousBest,
                            int position)
Tells whether this pattern runner can find a better pattern for this position than the previousBest. Returns 0=no, 1=yes, -1=don't know


addReplacement

public Token addReplacement(java.util.List<Token> tokens,
                            Token currentTitle,
                            java.util.Map<Token,Token> uniqueTokens)
Adds this runner's token to the list of tokens. Changes the current title token if necessary


newPosition

public int newPosition()
Returns the position after the match


pattern

public java.util.regex.Pattern pattern()
returns the pattern


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object