org.jaxen.pattern
Class Pattern

java.lang.Object
  extended by org.jaxen.pattern.Pattern
Direct Known Subclasses:
LocationPathPattern, NodeTest, UnionPattern

public abstract class Pattern
extends Object

Pattern defines the behaviour for pattern in the XSLT processing model.

Version:
$Revision: 1134 $
Author:
James Strachan

Field Summary
static short ANY_NODE
          Matches any node
static short ATTRIBUTE_NODE
          Matches attribute nodes
static short CDATA_SECTION_NODE
          Matches CDATA section nodes
static short COMMENT_NODE
          Matches comment nodes
static short DOCUMENT_NODE
          Matches document nodes
static short DOCUMENT_TYPE_NODE
          Matches DocumentType nodes
static short ELEMENT_NODE
          Matches Element nodes
static short ENTITY_REFERENCE_NODE
          Matches entity reference nodes
static short MAX_NODE_TYPE
          The maximum number of node types for sizing purposes
static short NAMESPACE_NODE
          Matches a Namespace Node
static short NO_NODE
          Matches no nodes
static short PROCESSING_INSTRUCTION_NODE
          Matches ProcessingInstruction
static short TEXT_NODE
          Matches text nodes
static short UNKNOWN_NODE
          Does not match any valid node
 
Constructor Summary
Pattern()
           
 
Method Summary
 String getMatchesNodeName()
          For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then this pattern may return the name of the element or attribute it matches.
 short getMatchType()
          Returns the type of node the pattern matches.
 double getPriority()
          Returns the default resolution policy of the pattern according to the XSLT conflict resolution rules.
abstract  String getText()
          Returns a textual representation of this pattern
 Pattern[] getUnionPatterns()
          If this pattern is a union pattern then this method should return an array of patterns which describe the union pattern, which should contain more than one pattern.
abstract  boolean matches(Object node, Context context)
           
 Pattern simplify()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ELEMENT_NODE

public static final short ELEMENT_NODE
Matches Element nodes

See Also:
Constant Field Values

ATTRIBUTE_NODE

public static final short ATTRIBUTE_NODE
Matches attribute nodes

See Also:
Constant Field Values

TEXT_NODE

public static final short TEXT_NODE
Matches text nodes

See Also:
Constant Field Values

CDATA_SECTION_NODE

public static final short CDATA_SECTION_NODE
Matches CDATA section nodes

See Also:
Constant Field Values

ENTITY_REFERENCE_NODE

public static final short ENTITY_REFERENCE_NODE
Matches entity reference nodes

See Also:
Constant Field Values

PROCESSING_INSTRUCTION_NODE

public static final short PROCESSING_INSTRUCTION_NODE
Matches ProcessingInstruction

See Also:
Constant Field Values

COMMENT_NODE

public static final short COMMENT_NODE
Matches comment nodes

See Also:
Constant Field Values

DOCUMENT_NODE

public static final short DOCUMENT_NODE
Matches document nodes

See Also:
Constant Field Values

DOCUMENT_TYPE_NODE

public static final short DOCUMENT_TYPE_NODE
Matches DocumentType nodes

See Also:
Constant Field Values

NAMESPACE_NODE

public static final short NAMESPACE_NODE
Matches a Namespace Node

See Also:
Constant Field Values

UNKNOWN_NODE

public static final short UNKNOWN_NODE
Does not match any valid node

See Also:
Constant Field Values

MAX_NODE_TYPE

public static final short MAX_NODE_TYPE
The maximum number of node types for sizing purposes

See Also:
Constant Field Values

ANY_NODE

public static final short ANY_NODE
Matches any node

See Also:
Constant Field Values

NO_NODE

public static final short NO_NODE
Matches no nodes

See Also:
Constant Field Values
Constructor Detail

Pattern

public Pattern()
Method Detail

matches

public abstract boolean matches(Object node,
                                Context context)
                         throws JaxenException
Parameters:
node - ????
context - ????
Returns:
true if the pattern matches the given node
Throws:
JaxenException - if ????

getPriority

public double getPriority()
Returns the default resolution policy of the pattern according to the XSLT conflict resolution rules.

Returns:
0.5; the default priority defined in XSLT
See Also:
Section 5.5 of the XSLT specification

getUnionPatterns

public Pattern[] getUnionPatterns()
If this pattern is a union pattern then this method should return an array of patterns which describe the union pattern, which should contain more than one pattern. Otherwise this method should return null.

Returns:
an array of the patterns which make up this union pattern or null if this pattern is not a union pattern

getMatchType

public short getMatchType()
Returns the type of node the pattern matches.

Returns:
ANY_NODE unless overridden

getMatchesNodeName

public String getMatchesNodeName()
For patterns which only match an ATTRIBUTE_NODE or an ELEMENT_NODE then this pattern may return the name of the element or attribute it matches. This allows a more efficient rule matching algorithm to be performed, rather than a brute force approach of evaluating every pattern for a given Node.

Returns:
the name of the element or attribute this pattern matches or null if this pattern matches any or more than one name

simplify

public Pattern simplify()

getText

public abstract String getText()
Returns a textual representation of this pattern

Returns:
the usual string form of this XSLT pattern


Copyright © 2001-2008 Codehaus. All Rights Reserved.