com.novell.xsl.pattern
Class OrPattern

java.lang.Object
  extended bycom.novell.xsl.pattern.OrPattern
All Implemented Interfaces:
Pattern

public class OrPattern
extends Object
implements Pattern

Implements XSLT functionality for production: [1] Pattern ::= Pattern '|' LocationPathPattern


Field Summary
 
Fields inherited from interface com.novell.xsl.pattern.Pattern
ANY_TARGET, ATTRIBUTE_NAMED_TARGET, ATTRIBUTE_WILDCARD_TARGET, COMMENT_TARGET, ELEMENT_NAMED_TARGET, ELEMENT_WILDCARD_TARGET, NAMESPACE_TARGET, PI_TARGET, ROOT_TARGET, TEXT_TARGET
 
Constructor Summary
OrPattern(Pattern lhs, Pattern rhs)
          Construct an OrPattern for the passed left-side and right-side patterns.
 
Method Summary
 void dump(PrintWriter writer, int indent)
          Print the pattern in a readable form for debugging.
 double getDefaultPriority()
          Return the default priority for this pattern.
 Pattern[] getPatterns()
          Return each alternative pattern from the OrPattern in an array of Patterns.
 int getTarget()
          Return the target type of this Pattern.
 ExpandedQName getTargetName()
          Return the name of the patterns target, if there is a target name.
 boolean match(Node node, ExpressionContext context)
          Return true or false depending on whether the passed node matches the XSLT Pattern or not.
 String toString()
          Provide a readable description for debugging.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OrPattern

public OrPattern(Pattern lhs,
                 Pattern rhs)
Construct an OrPattern for the passed left-side and right-side patterns.

Parameters:
lhs - The left-hand-side pattern.
rhs - The right-hand-side pattern.
Method Detail

toString

public String toString()
Provide a readable description for debugging.

Returns:
String representation

match

public boolean match(Node node,
                     ExpressionContext context)
              throws XPathEvaluationException
Return true or false depending on whether the passed node matches the XSLT Pattern or not. The passed ExpressionContext is necessary for evaluation of XPath Predicate expressions, which may be part of a Pattern, as well as for namespace resolution.

Specified by:
match in interface Pattern
Parameters:
node - The node to match.
context - The context for matching.
Returns:
True if the node matches the pattern, false otherwise.
Throws:
XPathEvaluationException

getDefaultPriority

public double getDefaultPriority()
Return the default priority for this pattern. See XSLT spec for information on default priority calculation.

Specified by:
getDefaultPriority in interface Pattern
Returns:
-0.5, 0.0, or 0.5

getTarget

public int getTarget()
Return the target type of this Pattern. This is one of the values defined in the Pattern interface (ELEMENT_NAMED_TARGET, ELEMENT_WILDCARD_TARGET, etc.)

Specified by:
getTarget in interface Pattern
Returns:
The target type value for this Pattern.

getTargetName

public ExpandedQName getTargetName()
Return the name of the patterns target, if there is a target name. This may return null if there is no target name for this pattern (text(), node(), etc.). However, if getTarget() returns ELEMENT_NAMED_TARGET or ATTRIBUTE_NAMED_TARGET this will never return null.

Specified by:
getTargetName in interface Pattern
Returns:
The target name or null.

dump

public void dump(PrintWriter writer,
                 int indent)
Print the pattern in a readable form for debugging.

Specified by:
dump in interface Pattern
Parameters:
writer - The output device.
indent - Number of tabs to indent the result.

getPatterns

public Pattern[] getPatterns()
Return each alternative pattern from the OrPattern in an array of Patterns.

Returns:
An array of Objects implementing Pattern, one for each alternative pattern in the OrPattern.