org.apache.xalan.xsltc.dom

## Class NodeSortRecord

- java.lang.Object
- - org.apache.xalan.xsltc.dom.NodeSortRecord

    public abstract class NodeSortRecord
    extends java.lang.Object

Base class for sort records containing application specific sort keys

### Field Summary

Fields
`static int` `COMPARE_ASCENDING`
`static int` `COMPARE_DESCENDING`
`static int` `COMPARE_NUMERIC`
`static int` `COMPARE_STRING`

### Constructor Summary

Constructors
Constructor and Description
`NodeSortRecord()`
`NodeSortRecord(int node)` This constructor is run by a call to ClassLoader in the makeNodeSortRecord method in the NodeSortRecordFactory class.

### Method Summary

Methods
`int` `compareDocOrder(NodeSortRecord other)`
`int` `compareTo(NodeSortRecord other)` Compare this sort element to another.
`abstract java.lang.String` `extractValueFromDOM(DOM dom, int current, int level, AbstractTranslet translet, int last)` Extract the sort value for a level of this key.
`java.text.Collator[]` `getCollator()` Returns the array of Collators used for text comparisons in this object.
`int` `getNode()` Returns the node for this sort object
`void` `initialize(int node, int last, DOM dom, org.apache.xalan.xsltc.dom.SortSettings settings)` This method allows the caller to set the values that could not be passed to the default constructor.

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

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

### Field Detail

#### COMPARE_STRING

    public static final int COMPARE_STRING

See Also:
  Constant Field Values

#### COMPARE_NUMERIC

    public static final int COMPARE_NUMERIC

See Also:
  Constant Field Values

#### COMPARE_ASCENDING

    public static final int COMPARE_ASCENDING

See Also:
  Constant Field Values

#### COMPARE_DESCENDING

    public static final int COMPARE_DESCENDING

See Also:
  Constant Field Values

### Constructor Detail

#### NodeSortRecord

    public NodeSortRecord(int node)

This constructor is run by a call to ClassLoader in the makeNodeSortRecord method in the NodeSortRecordFactory class. Since we cannot pass any parameters to the constructor in that case we just set the default values here and wait for new values through initialize().

#### NodeSortRecord

    public NodeSortRecord()

### Method Detail

#### initialize

    public final void initialize(int node,
                  int last,
                  DOM dom,
                  org.apache.xalan.xsltc.dom.SortSettings settings)
                          throws TransletException

This method allows the caller to set the values that could not be passed to the default constructor.

Throws:
  `TransletException`

#### getNode

    public final int getNode()

Returns the node for this sort object

#### compareDocOrder

    public final int compareDocOrder(NodeSortRecord other)

#### compareTo

    public int compareTo(NodeSortRecord other)

Compare this sort element to another. The first level is checked first, and we proceed to the next level only if the first level keys are identical (and so the key values may not even be extracted from the DOM) !!!!MUST OPTIMISE - THIS IS REALLY, REALLY SLOW!!!!

#### getCollator

    public java.text.Collator[] getCollator()

Returns the array of Collators used for text comparisons in this object. May be overridden by inheriting classes

#### extractValueFromDOM

    public abstract java.lang.String extractValueFromDOM(DOM dom,
                                       int current,
                                       int level,
                                       AbstractTranslet translet,
                                       int last)

Extract the sort value for a level of this key.