## org.dom4j.util
Class NodeComparator

    java.lang.Object
      org.dom4j.util.NodeComparator

All Implemented Interfaces:
  Comparator

public class NodeComparator
extends Object
implements Comparator

`NodeComparator` is a `Comparator`of Node instances which is capable of comparing Nodes for equality based on their values.

Version:
  $Revision: 1.10 $
Author:
  James Strachan

Constructor Summary
`NodeComparator()`

Method Summary
`int` `compare(Attribute n1, Attribute n2)`
`int` `compare(CharacterData t1, CharacterData t2)`
`int` `compare(Document n1, Document n2)`
`int` `compare(DocumentType o1, DocumentType o2)`
`int` `compare(Element n1, Element n2)`
`int` `compare(Entity n1, Entity n2)`
`int` `compare(Namespace n1, Namespace n2)`
`int` `compare(Node n1, Node n2)`
`int` `compare(Object o1, Object o2)` Compares its two arguments for order.
`int` `compare(ProcessingInstruction n1, ProcessingInstruction n2)`
`int` `compare(QName n1, QName n2)`
`int` `compare(String o1, String o2)`
`int` `compareContent(Branch b1, Branch b2)`

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

Methods inherited from interface java.util.Comparator
`equals`

Constructor Detail

### NodeComparator

    public NodeComparator()

Method Detail

### compare

    public int compare(Object o1,
                       Object o2)

  Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

  The implementor must ensure that `sgn(compare(x, y)) == -sgn(compare(y, x))` for all `x` and `y`. (This implies that `compare(x, y)` must throw an exception if and only if `compare(y, x)` throws an exception.)

  The implementor must also ensure that the relation is transitive: `((compare(x, y)>0) && (compare(y, z)>0))` implies `compare(x, z)>0`.

  Finally, the implementer must ensure that `compare(x, y)==0` implies that `sgn(compare(x, z))==sgn(compare(y, z))` for all `z`.

  It is generally the case, but not strictly required that `(compare(x, y)==0) == (x.equals(y))`. Generally speaking, any comparator that violates this condition should clearly indicate this fact. The recommended language is "Note: this comparator imposes orderings that are inconsistent with equals."

  Specified by:
    `compare` in interface `Comparator`
  Parameters:
    `o1` - the first object to be compared.
    `o2` - the second object to be compared.
  Returns:
    a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

### compare

    public int compare(Node n1,
                       Node n2)

### compare

    public int compare(Document n1,
                       Document n2)

### compare

    public int compare(Element n1,
                       Element n2)

### compare

    public int compare(Attribute n1,
                       Attribute n2)

### compare

    public int compare(QName n1,
                       QName n2)

### compare

    public int compare(Namespace n1,
                       Namespace n2)

### compare

    public int compare(CharacterData t1,
                       CharacterData t2)

### compare

    public int compare(DocumentType o1,
                       DocumentType o2)

### compare

    public int compare(Entity n1,
                       Entity n2)

### compare

    public int compare(ProcessingInstruction n1,
                       ProcessingInstruction n2)

### compareContent

    public int compareContent(Branch b1,
                              Branch b2)

### compare

    public int compare(String o1,
                       String o2)

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