## org.dom4j.rule
Class Rule

    java.lang.Object
      org.dom4j.rule.Rule

All Implemented Interfaces:
  Comparable

public class Rule
extends Object
implements Comparable

`Rule` matches against DOM4J Node so that some action can be performed such as in the XSLT processing model.

Version:
  $Revision: 1.7 $
Author:
  James Strachan

Constructor Summary
`Rule()`
`Rule(Pattern pattern)`
`Rule(Pattern pattern, Action action)`
`Rule(Rule that, Pattern pattern)` Constructs a new Rule with the same instance data as the given rule but a different pattern.

Method Summary
`int` `compareTo(Object that)`
`int` `compareTo(Rule that)` Compares two rules in XSLT processing model order assuming that the modes are equal.
`boolean` `equals(Object that)`
`Action` `getAction()` Getter for property action.
`int` `getAppearenceCount()` Getter for property appearenceCount.
`int` `getImportPrecedence()` Getter for property importPrecedence.
`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()` DOCUMENT ME!
`String` `getMode()` Getter for property mode.
`Pattern` `getPattern()` Getter for property pattern.
`double` `getPriority()` Getter for property priority.
`Rule[]` `getUnionRules()` If this rule contains a union pattern then this method should return an array of Rules which describe the union rule, which should contain more than one rule.
`int` `hashCode()`
`boolean` `matches(Node node)` DOCUMENT ME!
`void` `setAction(Action action)` Setter for property action.
`void` `setAppearenceCount(int appearenceCount)` Setter for property appearenceCount.
`void` `setImportPrecedence(int importPrecedence)` Setter for property importPrecedence.
`void` `setMode(String mode)` Setter for property mode.
`void` `setPattern(Pattern pattern)` Setter for property pattern.
`void` `setPriority(double priority)` Setter for property priority.
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Rule

    public Rule()

### Rule

    public Rule(Pattern pattern)

### Rule

    public Rule(Pattern pattern,
                Action action)

### Rule

    public Rule(Rule that,
                Pattern pattern)

  Constructs a new Rule with the same instance data as the given rule but a different pattern.

Parameters:
  `that` - DOCUMENT ME!
  `pattern` - DOCUMENT ME!

Method Detail

### equals

    public boolean equals(Object that)

### hashCode

    public int hashCode()

### compareTo

    public int compareTo(Object that)

  Specified by:
    `compareTo` in interface `Comparable`

### compareTo

    public int compareTo(Rule that)

  Compares two rules in XSLT processing model order assuming that the modes are equal.

  Parameters:
    `that` - DOCUMENT ME!
  Returns:
    DOCUMENT ME!

### toString

    public String toString()

### matches

    public final boolean matches(Node node)

  DOCUMENT ME!

  Parameters:
    `node` - DOCUMENT ME!
  Returns:
    true if the pattern matches the given DOM4J node.

### getUnionRules

    public Rule[] getUnionRules()

  If this rule contains a union pattern then this method should return an array of Rules which describe the union rule, which should contain more than one rule. Otherwise this method should return null.

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

### getMatchType

    public final short getMatchType()

  DOCUMENT ME!

  Returns:
    the type of node the pattern matches which by default should return ANY_NODE if it can match any kind of node.

### getMatchesNodeName

    public final 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.

### getMode

    public String getMode()

  Getter for property mode.

  Returns:
    Value of property mode.

### setMode

    public void setMode(String mode)

  Setter for property mode.

  Parameters:
    `mode` - New value of property mode.

### getImportPrecedence

    public int getImportPrecedence()

  Getter for property importPrecedence.

  Returns:
    Value of property importPrecedence.

### setImportPrecedence

    public void setImportPrecedence(int importPrecedence)

  Setter for property importPrecedence.

  Parameters:
    `importPrecedence` - New value of property importPrecedence.

### getPriority

    public double getPriority()

  Getter for property priority.

  Returns:
    Value of property priority.

### setPriority

    public void setPriority(double priority)

  Setter for property priority.

  Parameters:
    `priority` - New value of property priority.

### getAppearenceCount

    public int getAppearenceCount()

  Getter for property appearenceCount.

  Returns:
    Value of property appearenceCount.

### setAppearenceCount

    public void setAppearenceCount(int appearenceCount)

  Setter for property appearenceCount.

  Parameters:
    `appearenceCount` - New value of property appearenceCount.

### getPattern

    public Pattern getPattern()

  Getter for property pattern.

  Returns:
    Value of property pattern.

### setPattern

    public void setPattern(Pattern pattern)

  Setter for property pattern.

  Parameters:
    `pattern` - New value of property pattern.

### getAction

    public Action getAction()

  Getter for property action.

  Returns:
    Value of property action.

### setAction

    public void setAction(Action action)

  Setter for property action.

  Parameters:
    `action` - New value of property action.

Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.