com.novell.xsl.process
Class BuiltInTemplateRule

java.lang.Object
  extended bycom.novell.xsl.process.Rule
      extended bycom.novell.xsl.process.TemplateRule
          extended bycom.novell.xsl.process.BuiltInTemplateRule
All Implemented Interfaces:
Comparable

public class BuiltInTemplateRule
extends TemplateRule


Nested Class Summary
 
Nested classes inherited from class com.novell.xsl.process.TemplateRule
TemplateRule.RecursionCounter
 
Field Summary
 
Fields inherited from class com.novell.xsl.process.TemplateRule
recursionLevel
 
Constructor Summary
protected BuiltInTemplateRule(BuiltInTemplateRule original, Pattern pattern)
          Constructs a new template rule that is (almost) a shallow copy of the specified rule, with the intent of using the new rule as one of the multiple instances representing a union of path expressions.
  BuiltInTemplateRule(Pattern pattern, int importance, Priority priority, int number, Node nsContext)
          Constructs a new template rule.
 
Method Summary
 Rule cloneForUnion(Pattern pattern)
          Creates a new template rule that is (almost) a shallow copy of this rule and whose actual class is the same as this rule's actual class, with the intent of using the new rule as one of the multiple instances representing a union of path expressions.
 void instantiate(ProcessingEnv env, Node currentNode, Mode currentMode, ResultHandler result)
          Instantiates this rule's template for the specified current node and sends the result to the specified result handler.
 
Methods inherited from class com.novell.xsl.process.TemplateRule
dump, getTemplates, popVariables, pushVariables
 
Methods inherited from class com.novell.xsl.process.Rule
compareTo, getImportance, getMode, getName, getNamespaceContext, getNumber, getPattern, getPriority, indent, matches
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BuiltInTemplateRule

public BuiltInTemplateRule(Pattern pattern,
                           int importance,
                           Priority priority,
                           int number,
                           Node nsContext)
Constructs a new template rule.

Parameters:
pattern - the rule's path match pattern
importance - the rule's importance
priority - the rule's priority; null means use the default priority based on the rule's pattern
number - the rule's identifying number
nsContext - The node in the style sheet from which this rule comes

BuiltInTemplateRule

protected BuiltInTemplateRule(BuiltInTemplateRule original,
                              Pattern pattern)
Constructs a new template rule that is (almost) a shallow copy of the specified rule, with the intent of using the new rule as one of the multiple instances representing a union of path expressions. The new rule is not quite a shallow copy because its pattern is set to a different path expression, and the new and original rules share the same Template objects.

Parameters:
original - the original template rule
pattern - the clone's path expression, represented as a chain of FilterExpr objects
See Also:
cloneForUnion(com.novell.xsl.pattern.Pattern)
Method Detail

cloneForUnion

public Rule cloneForUnion(Pattern pattern)
Creates a new template rule that is (almost) a shallow copy of this rule and whose actual class is the same as this rule's actual class, with the intent of using the new rule as one of the multiple instances representing a union of path expressions. The new rule is not quite a shallow copy because its pattern is set to a different path expression, and the new and original rules share the same Template objects.

Overrides:
cloneForUnion in class TemplateRule
Parameters:
pattern - the clone's path expression, represented as a chain of FilterExpr objects
Returns:
a clone of this template rule, representing one of the path expressions in a union expression

instantiate

public void instantiate(ProcessingEnv env,
                        Node currentNode,
                        Mode currentMode,
                        ResultHandler result)
                 throws XSLException
Instantiates this rule's template for the specified current node and sends the result to the specified result handler.

Overrides:
instantiate in class TemplateRule
Parameters:
env - the current processing environment
currentNode - the current source node
currentMode - the current processing mode, this is really only for built-in rules which handle all modes
result - the handler to which results are sent
Throws:
XSLException - if a fatal error occurs during instantiation