com.springsource.util.osgi.manifest.parse.standard
Class HeaderTokenStream

java.lang.Object
  extended by com.springsource.util.osgi.manifest.parse.standard.HeaderTokenStream

public class HeaderTokenStream
extends java.lang.Object

Represents a stream of HeaderToken instances as lexed from some input data by the lexer. Concurrent Semantics
Threadsafe.


Field Summary
private  java.util.List<HeaderProblem> problems
           
(package private)  SourceContext sourceContext
           
private  java.util.List<HeaderToken> tokens
           
private  int tokenStreamLen
           
private  int tokenStreamPosition
           
 
Constructor Summary
HeaderTokenStream(java.lang.String header)
           
 
Method Summary
(package private)  void addToken(HeaderToken token)
           
 boolean containsProblems()
           
 boolean containsProblems(Severity severity)
           
 int getCount()
           
 int getPosition()
           
 java.util.List<HeaderProblem> getProblems()
           
 SourceContext getSourceContext()
           
 boolean hasMore()
           
 void lexComplete()
          Called by the lexer to indicate that population of the tokenStream is now complete.
 HeaderToken next()
           
 HeaderToken peek()
           
 HeaderToken peek(int offset)
           
 HeaderToken peekFor(HeaderTokenKind kind)
          Check if the next token is of a particular kind and return it if it is (consuming it in the process).
 HeaderToken peekLast()
           
 void recordProblem(HeaderProblem problem)
           
 void reset()
           
 void setPosition(int newPosition)
           
 void skip()
           
 java.lang.String toFormattedString()
           
 java.lang.String toFormattedString(boolean includePositionsInOutput)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tokens

private java.util.List<HeaderToken> tokens

tokenStreamLen

private int tokenStreamLen

tokenStreamPosition

private int tokenStreamPosition

problems

private java.util.List<HeaderProblem> problems

sourceContext

SourceContext sourceContext
Constructor Detail

HeaderTokenStream

HeaderTokenStream(java.lang.String header)
Method Detail

toString

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

getCount

public int getCount()

getPosition

public int getPosition()

next

public HeaderToken next()

setPosition

public void setPosition(int newPosition)

peek

public HeaderToken peek()

peekLast

public HeaderToken peekLast()

peek

public HeaderToken peek(int offset)

toFormattedString

public java.lang.String toFormattedString()

toFormattedString

public java.lang.String toFormattedString(boolean includePositionsInOutput)

addToken

void addToken(HeaderToken token)

getSourceContext

public SourceContext getSourceContext()

hasMore

public boolean hasMore()

skip

public void skip()

recordProblem

public void recordProblem(HeaderProblem problem)

containsProblems

public boolean containsProblems()

containsProblems

public boolean containsProblems(Severity severity)

getProblems

public java.util.List<HeaderProblem> getProblems()

reset

public void reset()

peekFor

public HeaderToken peekFor(HeaderTokenKind kind)
Check if the next token is of a particular kind and return it if it is (consuming it in the process).

Parameters:
kind - the kind of token wanted
Returns:
the token (if it was the right kind) otherwise null

lexComplete

public void lexComplete()
Called by the lexer to indicate that population of the tokenStream is now complete.