net.sf.joost.instruction
Class AnalyzeTextFactory.Instance

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

public final class AnalyzeTextFactory.Instance
extends NodeBase

Represents an instance of the analyze-text element.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.joost.instruction.NodeBase
NodeBase.End
 
Field Summary
protected  String[] capSubstr
          For the regex-group function (accessed from the stx:match and stx:no-match children, so they cannot be private)
private  boolean continued
           
private  MatchFactory.Instance[] matchChildren
           
private  Vector mVector
           
private  NodeBase noMatchChild
           
protected  String[] noMatchStr
          For the regex-group function (accessed from the stx:match and stx:no-match children, so they cannot be private)
private  Tree select
           
private  AbstractInstruction successor
           
 
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 AnalyzeTextFactory.Instance(String qName, NodeBase parent, ParseContext context, Tree select)
           
 
Method Summary
 boolean compile(int pass, ParseContext context)
          Check if there is at least one stx:match child and establish a loop
 void insert(NodeBase node)
          Ensures that only stx:match or stx:no-match children will be inserted.
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 expression given in the select attribute; find and process the child with the matching regular expression
 short processEnd(Context context)
          Called when the end tag will be processed.
 
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

select

private Tree select

successor

private AbstractInstruction successor

mVector

private Vector mVector

matchChildren

private MatchFactory.Instance[] matchChildren

noMatchChild

private NodeBase noMatchChild

continued

private boolean continued

capSubstr

protected String[] capSubstr
For the regex-group function (accessed from the stx:match and stx:no-match children, so they cannot be private)

See Also:
RegexGroup

noMatchStr

protected String[] noMatchStr
For the regex-group function (accessed from the stx:match and stx:no-match children, so they cannot be private)

See Also:
RegexGroup
Constructor Detail

AnalyzeTextFactory.Instance

protected AnalyzeTextFactory.Instance(String qName,
                                      NodeBase parent,
                                      ParseContext context,
                                      Tree select)
Method Detail

insert

public void insert(NodeBase node)
            throws SAXParseException
Ensures that only stx:match or stx:no-match children will be inserted.

Overrides:
insert in class NodeBase
Parameters:
node - the node to be inserted
Throws:
SAXParseException

compile

public boolean compile(int pass,
                       ParseContext context)
                throws SAXParseException
Check if there is at least one stx:match child and establish a loop

Overrides:
compile in class NodeBase
Parameters:
pass - the number of invocations already performed on this node
context - the parse context
Returns:
true if another invocation in the next pass is necessary, false if the compiling is complete. This instance returns false.
Throws:
SAXParseException

process

public short process(Context context)
              throws SAXException
Evaluate the expression given in the select attribute; find and process the child with the matching regular expression

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