net.sf.joost.instruction
Class TemplateBase

java.lang.Object
  extended by net.sf.joost.instruction.AbstractInstruction
      extended by net.sf.joost.instruction.NodeBase
          extended by net.sf.joost.instruction.TemplateBase
All Implemented Interfaces:
Cloneable, Constants
Direct Known Subclasses:
ProcedureFactory.Instance, TemplateFactory.Instance

public abstract class TemplateBase
extends NodeBase

Common base class for TemplateFactory.Instance and ProcedureFactory.Instance.

Version:
$Revision: 2.9 $ $Date: 2008/10/04 17:13:14 $
Author:
Oliver Becker

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
static int GLOBAL_VISIBLE
          Visibility values
static int GROUP_VISIBLE
          Visibility values
 boolean isPublic
          Whether this template is public
static int LOCAL_VISIBLE
          Visibility values
private  boolean newScope
          Does this template establish a new scope for group variables?
 GroupBase parentGroup
          The parent of this template
 int visibility
          The visibility of this template
protected static String[] VISIBILITY_VALUES
          Attribute value strings for the above visibility values
 
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 TemplateBase(String qName, NodeBase parent, ParseContext context, int visibility, boolean isPublic, boolean newScope)
           
 
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.
 
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

LOCAL_VISIBLE

public static final int LOCAL_VISIBLE
Visibility values

See Also:
Constant Field Values

GROUP_VISIBLE

public static final int GROUP_VISIBLE
Visibility values

See Also:
Constant Field Values

GLOBAL_VISIBLE

public static final int GLOBAL_VISIBLE
Visibility values

See Also:
Constant Field Values

VISIBILITY_VALUES

protected static final String[] VISIBILITY_VALUES
Attribute value strings for the above visibility values


visibility

public int visibility
The visibility of this template


isPublic

public boolean isPublic
Whether this template is public


newScope

private boolean newScope
Does this template establish a new scope for group variables?


parentGroup

public GroupBase parentGroup
The parent of this template

Constructor Detail

TemplateBase

protected TemplateBase(String qName,
                       NodeBase parent,
                       ParseContext context,
                       int visibility,
                       boolean isPublic,
                       boolean newScope)
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)

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