net.sf.saxon.trans

## Class Rule

- java.lang.Object
- - net.sf.saxon.trans.Rule

- All Implemented Interfaces:
    Serializable

      public final class Rule
      extends Object
      implements Serializable

  Rule: a template rule, or a strip-space rule used to support the implementation
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Rule(Pattern p, RuleTarget o, int prec, int min, double prio, int seq)` Create a Rule.
    `Rule(Rule r)` Copy a rule, including the chain of rules linked to it

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareComputedRank(Rule other)` Rules have an ordering, based on their precedence and priority.
    `int` | `compareRank(Rule other)` Rules have an ordering, based on their precedence and priority.
    `RuleTarget` | `getAction()`
    `int` | `getMinImportPrecedence()`
    `Rule` | `getNext()`
    `Pattern` | `getPattern()`
    `int` | `getPrecedence()`
    `double` | `getPriority()`
    `int` | `getRank()`
    `int` | `getSequence()`
    `boolean` | `isAlwaysMatches()`
    `void` | `setAction(RuleTarget action)`
    `void` | `setAlwaysMatches(boolean matches)`
    `void` | `setNext(Rule next)`
    `void` | `setRank(int rank)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Rule

          public Rule(Pattern p,
              RuleTarget o,
              int prec,
              int min,
              double prio,
              int seq)

      Create a Rule.
      Parameters:
        `p` - the pattern that this rule matches
        `o` - the object invoked by this rule (usually a Template)
        `prec` - the precedence of the rule
        `min` - the minumum import precedence for xsl:apply-imports
        `prio` - the priority of the rule
        `seq` - a sequence number for ordering of rules

    - #### Rule

          public Rule(Rule r)

      Copy a rule, including the chain of rules linked to it
      Parameters:
        `r` - the rule to be copied

  - ### Method Detail

    - #### getSequence

          public int getSequence()

    - #### setAction

          public void setAction(RuleTarget action)

    - #### getAction

          public RuleTarget getAction()

    - #### getNext

          public Rule getNext()

    - #### setNext

          public void setNext(Rule next)

    - #### getPattern

          public Pattern getPattern()

    - #### getPrecedence

          public int getPrecedence()

    - #### getMinImportPrecedence

          public int getMinImportPrecedence()

    - #### getPriority

          public double getPriority()

    - #### setAlwaysMatches

          public void setAlwaysMatches(boolean matches)

    - #### isAlwaysMatches

          public boolean isAlwaysMatches()

    - #### setRank

          public void setRank(int rank)

    - #### getRank

          public int getRank()

    - #### compareRank

          public int compareRank(Rule other)

      Rules have an ordering, based on their precedence and priority. This method compares them using the precomputed rank value.
      Parameters:
        `other` - Another rule whose ordering rank is to be compared with this one
      Returns:
        <0 if this rule has lower rank, that is if it has lower precedence or equal precedence and lower priority. 0 if the two rules have equal precedence and priority. >0 if this rule has higher rank in precedence/priority order

    - #### compareComputedRank

          public int compareComputedRank(Rule other)

      Rules have an ordering, based on their precedence and priority.
      Parameters:
        `other` - Another rule whose ordering rank is to be compared with this one
      Returns:
        <0 if this rule has lower rank, that is if it has lower precedence or equal precedence and lower priority. 0 if the two rules have equal precedence and priority. >0 if this rule has higher rank in precedence/priority order

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.