de.dante.extex.scanner.type.token
Class ControlSequenceToken

java.lang.Object
  extended byde.dante.extex.scanner.type.token.AbstractToken
      extended byde.dante.extex.scanner.type.token.ControlSequenceToken
All Implemented Interfaces:
CodeToken, java.io.Serializable, Token

public class ControlSequenceToken
extends AbstractToken
implements CodeToken

This class represents a control sequence token.

This class has a protected constructor only. Use the factory TokenFactory to get an instance of this class.

Note that in contrast to TeX the escape character leading to this control sequence token is stored in the character code of the abstract base class.

Version:
$Revision: 1.9 $
Author:
Gerd Neugebauer
See Also:
Serialized Form

Field Summary
protected static long serialVersionUID
          The constant serialVersionUID contains the id for serialization.
 
Constructor Summary
protected ControlSequenceToken(UnicodeChar esc, java.lang.String name, java.lang.String namespace)
          Creates a new object from the first character of a String.
 
Method Summary
 CodeToken cloneInDefaultNamespace()
          Create a new instance of the token where the name space is the default name space and the other attributes are the same as for the current token.
 CodeToken cloneInNamespace(java.lang.String theNamespace)
          Create a new instance of the token where the name space is the given one and the other attributes are the same as for the current token.
 boolean equals(Catcode cc, char c)
          Compare the current token with a pair of catcode and character value.
 boolean equals(Catcode cc, java.lang.String s)
          Compare the current token with a pair of catcode and String value.
 boolean equals(char c)
          Compare the current token with a character value.
 boolean equals(java.lang.Object other)
          Compare the current token to another token.
 Catcode getCatcode()
          Getter for the catcode.
 java.lang.String getName()
          Getter for the name.
 java.lang.String getNamespace()
          Getter for the namespace.
 int hashCode()
           
 java.lang.String toString()
          Get the string representation of this object for debugging purposes.
 void toString(java.lang.StringBuffer sb)
          Print the token into a StringBuffer.
 java.lang.String toText()
          This method returns the textual representation for the Token.
 java.lang.String toText(UnicodeChar esc)
          Return the printable representation of this token as it can be read back in.
 java.lang.Object visit(TokenVisitor visitor, java.lang.Object arg1)
          Invoke the appropriate visit method for the current class.
 
Methods inherited from class de.dante.extex.scanner.type.token.AbstractToken
getChar, getLocalizer, isa
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.dante.extex.scanner.type.token.Token
getChar, isa
 

Field Detail

serialVersionUID

protected static final long serialVersionUID
The constant serialVersionUID contains the id for serialization.

See Also:
Constant Field Values
Constructor Detail

ControlSequenceToken

protected ControlSequenceToken(UnicodeChar esc,
                               java.lang.String name,
                               java.lang.String namespace)
Creates a new object from the first character of a String. If the string is empty then a space character is used instead.

Parameters:
esc - the escape character
name - the name of the control sequence – without the leading escape character token
namespace - the name space
Method Detail

cloneInDefaultNamespace

public CodeToken cloneInDefaultNamespace()
Create a new instance of the token where the name space is the default name space and the other attributes are the same as for the current token.

Specified by:
cloneInDefaultNamespace in interface CodeToken
Returns:
the new token
See Also:
CodeToken.cloneInDefaultNamespace()

cloneInNamespace

public CodeToken cloneInNamespace(java.lang.String theNamespace)
Create a new instance of the token where the name space is the given one and the other attributes are the same as for the current token.

Specified by:
cloneInNamespace in interface CodeToken
Parameters:
theNamespace - the name space to use
Returns:
the new token
See Also:
CodeToken.cloneInNamespace( java.lang.String)

equals

public boolean equals(Catcode cc,
                      char c)
Description copied from interface: Token
Compare the current token with a pair of catcode and character value. This pair constitutes a virtual token. They are the same if the catcode and the value are the same.

Specified by:
equals in interface Token
Overrides:
equals in class AbstractToken
See Also:
AbstractToken.equals( de.dante.extex.scanner.type.Catcode, char)

equals

public boolean equals(Catcode cc,
                      java.lang.String s)
Description copied from interface: Token
Compare the current token with a pair of catcode and String value. This pair constitutes a virtual token. They are the same if the catcode and the value are the same.

Specified by:
equals in interface Token
Overrides:
equals in class AbstractToken
See Also:
Token.equals( de.dante.extex.scanner.type.Catcode, java.lang.String)

equals

public boolean equals(char c)
Description copied from interface: Token
Compare the current token with a character value. They are the same if the values are the same.

Specified by:
equals in interface Token
Overrides:
equals in class AbstractToken
See Also:
AbstractToken.equals(char)

equals

public boolean equals(java.lang.Object other)
Description copied from interface: Token
Compare the current token to another token. They are the same if the catcode and the value are the same.

Specified by:
equals in interface Token
Overrides:
equals in class AbstractToken
See Also:
Object.equals(java.lang.Object)

getCatcode

public Catcode getCatcode()
Description copied from interface: Token
Getter for the catcode.

Specified by:
getCatcode in interface Token
Specified by:
getCatcode in class AbstractToken
See Also:
Token.getCatcode()

getName

public java.lang.String getName()
Description copied from interface: CodeToken
Getter for the name. The name is the string representation without the escape character in front.

Specified by:
getName in interface CodeToken
Returns:
the name of the token
See Also:
CodeToken.getName()

getNamespace

public java.lang.String getNamespace()
Description copied from interface: CodeToken
Getter for the namespace.

Specified by:
getNamespace in interface CodeToken
Returns:
the namespace
See Also:
CodeToken.getNamespace()

hashCode

public int hashCode()
Overrides:
hashCode in class AbstractToken
See Also:
Object.hashCode()

toString

public java.lang.String toString()
Get the string representation of this object for debugging purposes.

Overrides:
toString in class AbstractToken
Returns:
the string representation

toString

public void toString(java.lang.StringBuffer sb)
Print the token into a StringBuffer.

Specified by:
toString in interface Token
Parameters:
sb - the target string buffer
See Also:
Token.toString(java.lang.StringBuffer)

toText

public java.lang.String toText()
Description copied from interface: Token
This method returns the textual representation for the Token. This textual representation might not contain the full information but can be used as an abbreviated form to be shown to the end user. A representation with more complete information can be received with the method toString().

Specified by:
toText in interface Token
Overrides:
toText in class AbstractToken
Returns:
the text representation
See Also:
AbstractToken.toText()

toText

public java.lang.String toText(UnicodeChar esc)
Description copied from interface: Token
Return the printable representation of this token as it can be read back in.

Specified by:
toText in interface Token
Overrides:
toText in class AbstractToken
See Also:
Token.toText( de.dante.util.UnicodeChar)

visit

public java.lang.Object visit(TokenVisitor visitor,
                              java.lang.Object arg1)
                       throws java.lang.Exception
Description copied from interface: Token
Invoke the appropriate visit method for the current class.

Specified by:
visit in interface Token
Parameters:
visitor - the calling visitor
arg1 - the first argument to pass
Returns:
the result object
Throws:
java.lang.Exception - in case of an error
See Also:
Token.visit( de.dante.extex.scanner.type.token.TokenVisitor, java.lang.Object)