Detailed Description

NodeComparator is used to compare nodes by given criterias.

The following example shows the usage:

$nodeList = array(...); // array of Node instances
// simple sort by creator attribute
$comparator = new NodeComparator('creator');
usort($nodeList, array($comparator, 'compare'));
// more complex example with different attributes
$sortCriteria = array(
);
$comparator = new NodeComparator($sortCriteria);
usort($nodeList, array($comparator, 'compare'));
Author
ingo herwig ingo@.nosp@m.wemo.nosp@m.ve.co.nosp@m.m

Definition at line 39 of file NodeComparator.php.

Public Member Functions

 __construct (array $sortCriteria)
 
 compare (Node $a, Node $b)
 

Public Attributes

const SORTTYPE_ASC = -1
 
const SORTTYPE_DESC = -2
 
const ATTRIB_OID = -3
 
const ATTRIB_TYPE = -4
 

Constructor & Destructor Documentation

__construct ( array  $sortCriteria)

Constructor.

Parameters
$sortCriteriaAn assoziative array of criteria - SORTTYPE constant pairs OR a single criteria string. possible criteria: NodeComparator::OID, NodeComparator::TYPE or any value/property name (e.g. array(NodeComparator::OID => NodeComparator::SORTTYPE_ASC, 'name' => NodeComparator::SORTTYPE_DESC) OR 'name')
Note
If criteria is only a string we will sort by this criteria with NodeComparator::SORTTYPE_ASC

Definition at line 55 of file NodeComparator.php.

Member Function Documentation

compare ( Node  $a,
Node  $b 
)

Compare function for sorting Nodes by the list of criterias.

Parameters
$aFirst Node instance
$bFirst Node instance
Returns
-1, 0 or 1 whether a is less, equal or greater than b in respect of the criteria

Definition at line 66 of file NodeComparator.php.

Member Data Documentation

const SORTTYPE_ASC = -1

Definition at line 41 of file NodeComparator.php.

const SORTTYPE_DESC = -2

Definition at line 42 of file NodeComparator.php.

const ATTRIB_OID = -3

Definition at line 43 of file NodeComparator.php.

const ATTRIB_TYPE = -4

Definition at line 44 of file NodeComparator.php.