com.dfamaj.textproc.xwm
Class XwmEngineImpl

java.lang.Object
  extended by com.dfamaj.textproc.xwm.XwmEngineImpl
All Implemented Interfaces:
ThreadUnsafe, Tokenizer, XwmEngine

public final class XwmEngineImpl
extends java.lang.Object
implements XwmEngine, Tokenizer, ThreadUnsafe

un moteur, qui travaille sur un certain contexte, à qui on donne un Tokenizer en entrée, et qui est lui-même un Tokenizer, dans le sens où il résout les macros.

Since:
2.0
Version:
2.0 -- 2007-02-01 -- $Revision$
Author:
David Andriana

Constructor Summary
XwmEngineImpl(XwmContext context, Tokenizer source)
          constructeur.
 
Method Summary
 XwmContext getContext()
          
renvoie le contexte courant.
 boolean getLastLogicalCondition()
          
renvoie le résultat de la dernière condition logique qui a été traitée.
 Location getLocation()
          
renvoie le positionnement courant.
 Token innerNextNonVoidToken(java.lang.String primitive, Location location)
          renvoie le prochain Token du moteur, mais sans le développer, et qui ne soit pas une espace ou un saut de ligne.
 Token innerNextToken()
          
renvoie le prochain Token du moteur, mais sans le développer, mais là gère les tokens définis avec "\tokens".
 Token innerNextTokenAssertIsWord(java.lang.String primitive, Location location)
          
renvoie le prochain Token du moteur, en garantissant qu'il s'agit d'un mot, c'est-à-dire qu'il n'est pas vide (fin de source XWM), qu'il n'est pas une espace, et qu'il n'est pas une macro.
 Token[] innerReadNoexpand(java.lang.String primitive)
          
lit des tokens « tels quels » juste après la rencontre de la primitive "\noexpand", et les renvoie sous forme de tableau.
 Token[] innerReadTokens(java.lang.String primitive)
          
lit des tokens « tels quels » juste après la rencontre de la primitive "\tokens", et les renvoie sous forme de tableau.
 Token nextToken()
          renvoie le token suivant.
 void setLastLogicalCondition(boolean result)
          
renseigne le résultat de la condition logique qui vient d'être traitée.
 java.lang.String toString()
          représentation sous forme de chaîne.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XwmEngineImpl

public XwmEngineImpl(XwmContext context,
                     Tokenizer source)
constructeur.

Method Detail

getContext

public XwmContext getContext()
renvoie le contexte courant.

Specified by:
getContext in interface XwmEngine

getLastLogicalCondition

public boolean getLastLogicalCondition()
renvoie le résultat de la dernière condition logique qui a été traitée. true signifie que la condition logique qui a été traitée dernièrement était vraie, donc les "\else" ultérieurs ne devront pas être appliqués.

Specified by:
getLastLogicalCondition in interface XwmEngine

getLocation

public Location getLocation()
renvoie le positionnement courant.

Specified by:
getLocation in interface Tokenizer
Specified by:
getLocation in interface XwmEngine

innerNextNonVoidToken

public Token innerNextNonVoidToken(java.lang.String primitive,
                                   Location location)
                            throws java.io.IOException
renvoie le prochain Token du moteur, mais sans le développer, et qui ne soit pas une espace ou un saut de ligne.

Specified by:
innerNextNonVoidToken in interface XwmEngine
Throws:
java.io.IOException

innerNextToken

public Token innerNextToken()
                     throws java.io.IOException
renvoie le prochain Token du moteur, mais sans le développer, mais là gère les tokens définis avec "\tokens".

Specified by:
innerNextToken in interface XwmEngine
Throws:
java.io.IOException

innerNextTokenAssertIsWord

public Token innerNextTokenAssertIsWord(java.lang.String primitive,
                                        Location location)
                                 throws java.io.IOException,
                                        XwmEngineException
renvoie le prochain Token du moteur, en garantissant qu'il s'agit d'un mot, c'est-à-dire qu'il n'est pas vide (fin de source XWM), qu'il n'est pas une espace, et qu'il n'est pas une macro.

Specified by:
innerNextTokenAssertIsWord in interface XwmEngine
Throws:
java.io.IOException
XwmEngineException

innerReadNoexpand

public final Token[] innerReadNoexpand(java.lang.String primitive)
                                throws java.io.IOException
lit des tokens « tels quels » juste après la rencontre de la primitive "\noexpand", et les renvoie sous forme de tableau.

Specified by:
innerReadNoexpand in interface XwmEngine
Throws:
java.io.IOException

innerReadTokens

public Token[] innerReadTokens(java.lang.String primitive)
                        throws java.io.IOException
lit des tokens « tels quels » juste après la rencontre de la primitive "\tokens", et les renvoie sous forme de tableau.

Specified by:
innerReadTokens in interface XwmEngine
Throws:
java.io.IOException

nextToken

public Token nextToken()
                throws java.io.IOException
renvoie le token suivant.

Specified by:
nextToken in interface Tokenizer
Throws:
java.io.IOException

setLastLogicalCondition

public void setLastLogicalCondition(boolean result)
renseigne le résultat de la condition logique qui vient d'être traitée. true signifie que la condition logique qui vient d'être traitée était vraie, donc les "\else" ultérieurs ne devront pas être appliqués.

Specified by:
setLastLogicalCondition in interface XwmEngine

toString

public java.lang.String toString()
représentation sous forme de chaîne.

Overrides:
toString in class java.lang.Object