org.ujac.util.template
Class IfToken

java.lang.Object
  extended by org.ujac.util.template.TemplateToken
      extended by org.ujac.util.template.TemplateTokenContainer
          extended by org.ujac.util.template.BaseConditionToken
              extended by org.ujac.util.template.IfToken
All Implemented Interfaces:
Serializable, Cloneable

public class IfToken
extends BaseConditionToken

Name: IfToken
Description: Represents an _if_ statement.

Author:
lauerc
See Also:
Serialized Form

Field Summary
static TokenAncestor[] ancestorRules
          The ancestor rules.
 
Fields inherited from class org.ujac.util.template.TemplateTokenContainer
procedureRegistry
 
Fields inherited from class org.ujac.util.template.TemplateToken
interpreter, nextLegalAncestor, parent, position, source
 
Constructor Summary
IfToken()
          Constructs a IfToken instance with no specific attributes.
 
Method Summary
protected  TemplateToken cloneToken(BaseTemplateInterpreter interpreter, TemplateTokenContainer parent)
          Clones the token for caching reasons.
 void execute(Writer writer, TemplateContext ctx)
          Excecutes the statement token.
 TokenAncestor[] getAncestorRules()
          Gets the ancestor rules for this template.
protected  String getArgumentsAsString()
          Gets the argument list as string.
 BaseConditionToken getRootCondition()
          Gets the root condition.
 String getTokenName()
          Gets the token name.
 void initialize(BaseTemplateInterpreter interpreter, char[] source, int position, int length)
          Initializes the token.
 boolean isResolved()
          Tells whether or not the condition bas been resolved so far.
 boolean isTrue(TemplateContext ctx)
          Tells whether or not the condition is true.
 void setArgument(Operand argument, int idx)
          Sets an argument.
 void setResolved(boolean resolved)
          Tells whether or not the condition bas been resolved so far.
 String toString()
           
 
Methods inherited from class org.ujac.util.template.BaseConditionToken
getPreviousCondition, parseArguments
 
Methods inherited from class org.ujac.util.template.TemplateTokenContainer
addToken, clearTokens, cloneChildTokens, close, getBodyEnd, getBodyStart, getProcedureRegistry, getToken, getTokenCount, isBodyToken, isClosed, setBodyStart, setProcedureRegistry
 
Methods inherited from class org.ujac.util.template.TemplateToken
checkContainer, getEndPosition, getIndention, getLength, getLevel, getParent, getPosition, getSource, isLegalAncestor, isLegalAncestor, parseArguments, setLength, setLevel, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ancestorRules

public static final TokenAncestor[] ancestorRules
The ancestor rules.

Constructor Detail

IfToken

public IfToken()
Constructs a IfToken instance with no specific attributes.

Method Detail

getTokenName

public String getTokenName()
Gets the token name.

Overrides:
getTokenName in class TemplateToken
Returns:
The token name.

getAncestorRules

public TokenAncestor[] getAncestorRules()
Gets the ancestor rules for this template.

Overrides:
getAncestorRules in class TemplateToken
Returns:
An array of template ancestors.

initialize

public void initialize(BaseTemplateInterpreter interpreter,
                       char[] source,
                       int position,
                       int length)
                throws TemplateException
Initializes the token.

Overrides:
initialize in class TemplateToken
Parameters:
interpreter - The template interpreter.
source - The source code.
position - The start position.
length - The length of the interresting area.
Throws:
TemplateException - In case the initialization failed.

setArgument

public void setArgument(Operand argument,
                        int idx)
Sets an argument.

Specified by:
setArgument in class TemplateToken
Parameters:
argument - The argument to set.
idx - The argument index.

execute

public void execute(Writer writer,
                    TemplateContext ctx)
             throws TemplateException,
                    IOException
Excecutes the statement token.

Overrides:
execute in class BaseConditionToken
Parameters:
writer - The writer to write to.
ctx - The template context.
Throws:
TemplateException - If the token could not be successfuly executed.
IOException - In case an output failure occurred.

isTrue

public boolean isTrue(TemplateContext ctx)
               throws ExpressionException
Tells whether or not the condition is true.

Specified by:
isTrue in class BaseConditionToken
Parameters:
ctx - The template context.
Returns:
true or false.
Throws:
ExpressionException - If the token could not be successfuly executed.

toString

public String toString()
Overrides:
toString in class TemplateTokenContainer
See Also:
Object.toString()

getArgumentsAsString

protected String getArgumentsAsString()
Description copied from class: TemplateToken
Gets the argument list as string.

Overrides:
getArgumentsAsString in class TemplateToken
Returns:
The arguements as a comma separated text.
See Also:
TemplateToken.getArgumentsAsString()

isResolved

public boolean isResolved()
Tells whether or not the condition bas been resolved so far.

Overrides:
isResolved in class BaseConditionToken
Returns:
true or false.

setResolved

public void setResolved(boolean resolved)
Tells whether or not the condition bas been resolved so far.

Overrides:
setResolved in class BaseConditionToken
Parameters:
resolved - The value to seet.

getRootCondition

public BaseConditionToken getRootCondition()
Gets the root condition.

Specified by:
getRootCondition in class BaseConditionToken
Returns:
a reference to this instance.

cloneToken

protected TemplateToken cloneToken(BaseTemplateInterpreter interpreter,
                                   TemplateTokenContainer parent)
Clones the token for caching reasons.

Specified by:
cloneToken in class TemplateToken
Parameters:
interpreter - The interpreter to use.
parent - The actual parent in the cloned object tree.
Returns:
The clone.


Copyright © 2003-2004 UJAC.org. All Rights Reserved.