net.sf.joost.instruction
Class VariableFactory.Instance

java.lang.Object
  extended by net.sf.joost.instruction.AbstractInstruction
      extended by net.sf.joost.instruction.NodeBase
          extended by net.sf.joost.instruction.VariableBase
              extended by net.sf.joost.instruction.VariableFactory.Instance
All Implemented Interfaces:
Cloneable, Constants
Enclosing class:
VariableFactory

public class VariableFactory.Instance
extends VariableBase

Represents an instance of the variable element.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
private  String errorMessage
           
private  boolean isGroupVar
           
private  Tree select
           
private  String varName
           
 
Fields inherited from class net.sf.joost.instruction.VariableBase
expName, keepValue
 
Fields inherited from class net.sf.joost.instruction.NodeBase
lastChild, localFieldStack, nodeEnd, parent, preserveSpace, publicId, qName, scopedVariables, systemId
 
Fields inherited from class net.sf.joost.instruction.AbstractInstruction
colNo, lineNo, next
 
Fields inherited from interface net.sf.joost.Constants
DEBUG, DEFAULT_ENCODING, FEAT_NS, FEAT_NSPREFIX, FEATURE_URI_PREFIX, FUNC_NS, JOOST_EXT_NS, PR_ATTRIBUTES, PR_BUFFER, PR_CHILDREN, PR_CONTINUE, PR_ERROR, PR_SELF, PR_SIBLINGS, STX_NS
 
Constructor Summary
protected VariableFactory.Instance(String qName, ParseContext context, String varName, String expName, Tree select, boolean keepValue, NodeBase parent)
           
 
Method Summary
protected  void onDeepCopy(AbstractInstruction copy, HashMap copies)
          Callback that will be called when a clone of this instance has been created.
 short process(Context context)
          Save local variables if needed.
 short processEnd(Context context)
          Called when the end tag will be processed.
private  void processVar(Value v, Context context)
          Declares a variable
 
Methods inherited from class net.sf.joost.instruction.NodeBase
compile, declareVariable, getNode, getNodeEnd, insert, mayDropEnd, processable, setEndLocation, toString
 
Methods inherited from class net.sf.joost.instruction.AbstractInstruction
deepCopy, deepHashtableCopy, deepTemplateArrayCopy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

varName

private String varName

select

private Tree select

errorMessage

private String errorMessage

isGroupVar

private final boolean isGroupVar
Constructor Detail

VariableFactory.Instance

protected VariableFactory.Instance(String qName,
                                   ParseContext context,
                                   String varName,
                                   String expName,
                                   Tree select,
                                   boolean keepValue,
                                   NodeBase parent)
Method Detail

process

public short process(Context context)
              throws SAXException
Description copied from class: NodeBase
Save local variables if needed.

Overrides:
process in class NodeBase
Parameters:
context - the current context
Returns:
Constants.PR_CONTINUE
Throws:
SAXException - if an error occurs (in a derived class)

processEnd

public short processEnd(Context context)
                 throws SAXException
Description copied from class: NodeBase
Called when the end tag will be processed. This instance removes local variables declared in this node.

Overrides:
processEnd in class NodeBase
Parameters:
context - the current context
Returns:
Constants.PR_CONTINUE
Throws:
SAXException - if an error occurs (in a derived class)

processVar

private void processVar(Value v,
                        Context context)
                 throws SAXException
Declares a variable

Throws:
SAXException

onDeepCopy

protected void onDeepCopy(AbstractInstruction copy,
                          HashMap copies)
Description copied from class: AbstractInstruction
Callback that will be called when a clone of this instance has been created. To be overridden in subclasses.

Overrides:
onDeepCopy in class NodeBase
Parameters:
copy - the created clones
copies - the map of already copied objects