: Class Pattern

com.icl.saxon.pattern
Class Pattern


java.lang.Object

  |

  +--com.icl.saxon.pattern.Pattern

Direct Known Subclasses:
IDPattern, KeyPattern, LocationPathPattern, NodeTest, UnionPattern

public abstract class Pattern
extends java.lang.Object

A Pattern represents the result of parsing an XSLT pattern string.
Patterns are created by calling the static method Pattern.make(string).
The pattern is used to test a particular node by calling match().


Field Summary
protected  java.lang.String originalText
           
protected  StaticContext staticContext
           
 
Constructor Summary
Pattern()
           
 
Method Summary
 double getDefaultPriority()
          Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.
 int getFingerprint()
          Determine the name fingerprint of nodes to which this pattern applies.
 int getLineNumber()
          Get the line number on which the pattern was defined
 short getNodeType()
          Determine the types of nodes to which this pattern applies.
 StaticContext getStaticContext()
          Determine the static context used when the pattern was parsed
 java.lang.String getSystemId()
          Get the system id of the entity in which the pattern occurred
static Pattern make(java.lang.String pattern, StaticContext env)
          Static method to make a Pattern by parsing a String.
abstract  boolean matches(NodeInfo node, Context context)
          Determine whether this Pattern matches the given Node
 void setOriginalText(java.lang.String text)
          Set the original text of the pattern for use in diagnostics
 void setStaticContext(StaticContext sc)
          Set the static context used when the pattern was parsed
 Pattern simplify()
          Simplify the pattern by applying any context-independent optimisations.
 java.lang.String toString()
          Get the original pattern text
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

staticContext


protected StaticContext staticContext

originalText


protected java.lang.String originalText
Constructor Detail

Pattern


public Pattern()
Method Detail

make


public static Pattern make(java.lang.String pattern,
                           StaticContext env)
                    throws XPathException
Static method to make a Pattern by parsing a String.
Parameters:
pattern - The pattern text as a String
env - An object defining the compile-time context for the expression
Returns:
The pattern object

setOriginalText


public void setOriginalText(java.lang.String text)
Set the original text of the pattern for use in diagnostics

simplify


public Pattern simplify()
                 throws XPathException
Simplify the pattern by applying any context-independent optimisations. Default implementation does nothing.
Returns:
the optimised Pattern

setStaticContext


public final void setStaticContext(StaticContext sc)
Set the static context used when the pattern was parsed

getStaticContext


public StaticContext getStaticContext()
Determine the static context used when the pattern was parsed

matches


public abstract boolean matches(NodeInfo node,
                                Context context)
                         throws XPathException
Determine whether this Pattern matches the given Node
Parameters:
node - The NodeInfo representing the Element or other node to be tested against the Pattern
context - The context in which the match is to take place. Only relevant if the pattern uses variables.
Returns:
true if the node matches the Pattern, false otherwise

getNodeType


public short getNodeType()
Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return NodeInfo.NODE
Returns:
the type of node matched by this pattern. e.g. NodeInfo.ELEMENT or NodeInfo.TEXT

getFingerprint


public int getFingerprint()
Determine the name fingerprint of nodes to which this pattern applies. Used for optimisation.
Returns:
A fingerprint that the nodes must match, or null Otherwise return null.

getDefaultPriority


public double getDefaultPriority()
Determine the default priority to use if this pattern appears as a match pattern for a template with no explicit priority attribute.

getSystemId


public java.lang.String getSystemId()
Get the system id of the entity in which the pattern occurred

getLineNumber


public int getLineNumber()
Get the line number on which the pattern was defined

toString


public java.lang.String toString()
Get the original pattern text
Overrides:
toString in class java.lang.Object