net.sf.joost.instruction
Class AttributeFactory.Instance

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

public final class AttributeFactory.Instance
extends NodeBase

Represents an instance of the attribute element.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
private  Tree name
           
private  Tree namespace
           
private  Hashtable nsSet
           
private  Tree select
           
private  StringEmitter strEmitter
           
 
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 AttributeFactory.Instance(String elementName, NodeBase parent, ParseContext context, Tree name, Tree namespace, Tree select)
           
 
Method Summary
private  void init()
           
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)
          Evaluate the name attribute; if the select attribute is present, evaluate this attribute too and create an result attribute.
 short processEnd(Context context)
          Called only if there's no select attribute; create a result attribute from the contents of the element.
 
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

name

private Tree name

namespace

private Tree namespace

select

private Tree select

nsSet

private Hashtable nsSet

strEmitter

private StringEmitter strEmitter
Constructor Detail

AttributeFactory.Instance

protected AttributeFactory.Instance(String elementName,
                                    NodeBase parent,
                                    ParseContext context,
                                    Tree name,
                                    Tree namespace,
                                    Tree select)
Method Detail

init

private void init()

process

public short process(Context context)
              throws SAXException
Evaluate the name attribute; if the select attribute is present, evaluate this attribute too and create an result attribute.

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
Called only if there's no select attribute; create a result attribute from the contents of the element.

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