net.sf.joost.instruction
Class PSiblingsFactory.Instance

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

public class PSiblingsFactory.Instance
extends ProcessBase

The inner Instance class


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
private  GroupBase parentGroup
           
private  Tree untilPattern
           
private  Tree whilePattern
           
 
Fields inherited from class net.sf.joost.instruction.ProcessBase
children, filter, targetGroup, useBufExpName, useBufQName
 
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
PSiblingsFactory.Instance(String qName, NodeBase parent, ParseContext context, String groupQName, Tree whilePattern, Tree untilPattern)
           
 
Method Summary
 boolean matches(Context context)
          Tests if the current node matches the while and until conditions of this stx:process-siblings instruction.
protected  void onDeepCopy(AbstractInstruction copy, HashMap copies)
          Callback that will be called when a clone of this instance has been created.
 short processEnd(Context context)
          Called when the end tag will be processed.
 
Methods inherited from class net.sf.joost.instruction.ProcessBase
compile, getProcessHandler, insert, process
 
Methods inherited from class net.sf.joost.instruction.NodeBase
declareVariable, getNode, getNodeEnd, 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

whilePattern

private Tree whilePattern

untilPattern

private Tree untilPattern

parentGroup

private GroupBase parentGroup
Constructor Detail

PSiblingsFactory.Instance

public PSiblingsFactory.Instance(String qName,
                                 NodeBase parent,
                                 ParseContext context,
                                 String groupQName,
                                 Tree whilePattern,
                                 Tree untilPattern)
                          throws SAXParseException
Throws:
SAXParseException
Method Detail

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_SELF if the context node can have siblings
Throws:
SAXException - if an error occurs (in a derived class)

matches

public boolean matches(Context context)
                throws SAXException
Tests if the current node matches the while and until conditions of this stx:process-siblings instruction.

Returns:
true if the current node matches the pattern in the while attribute and doesn't match the pattern in the until attribute; and false otherwise
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 ProcessBase
Parameters:
copy - the created clones
copies - the map of already copied objects