Oracle Coherence for C++ API
Release 3.6.0.0
E15728-01

- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# ChainedComparator Class Reference

`#include <coherence/util/comparator/ChainedComparator.hpp>`

Inherits Object, Comparator, QueryMapComparator, EntryAwareComparator, and PortableObject.

List of all members.

## Detailed Description

Composite comparator implementation based on a collection of comparators.

The comparators in the array assumed to be sorted according to their priorities; only in a case when the n-th comparator cannot determine the order of the passed objects:

       vaComparator[n]->compare(o1, o2) == 0

the (n+1)-th comparator will be applied to calculate the value.

Author:
  gm 2008.08.04

## Public Types
typedef spec::Handle | Handle
| ChainedComparator Handle definition.
typedef spec::View | View
| ChainedComparator View definition.
typedef spec::Holder | Holder
| ChainedComparator Holder definition.
## Public Member Functions
virtual int32_t | compare (Object::View vO1, Object::View vO2) const
| Compares its two arguments for order.
virtual int32_t | compareEntries (QueryMap::Entry::View vEntry1, QueryMap::Entry::View vEntry2) const
| Compare two entries using the underlying comparator.This implementation simply passes on this invocation to the wrapped Comparator objects if they too implement this interface, or invokes their default compare method passing the values extracted from the passed entries.
virtual bool | isKeyComparator () const
| Specifies whether this comparator expects to compare keys or values. Returns: true if Entry keys are expected; false otherwise
virtual void | readExternal (PofReader::Handle hIn)
virtual void | writeExternal (PofWriter::Handle hOut) const
virtual bool | equals (Object::View v) const
virtual ObjectArray::View | getComparators () const
| Obtain the underlying Comparator array.
## Static Public Member Functions
static bool | isKeyComparator (Comparator::View vComparator)
| Check whether the specified comparator expects to compare keys or values.
static ChainedComparator::Handle | getInstance ()
| An instance of the ChainedComparator.
## Protected Member Functions
| ChainedComparator ()
| Default constructor (necessary for the PortableObject interface).
| ChainedComparator (ObjectArray::View vaComparator)
| Construct a ChainedComparator.
## Protected Attributes
MemberView< ObjectArray > | m_vaComparator
| The wrapped Comparator array.

## Constructor & Destructor Documentation

ChainedComparator | ( | ObjectArray::View | vaComparator | ) | `[protected]`

Construct a ChainedComparator.

Parameters:

  | vaComparator | the comparator array

## Member Function Documentation

virtual int32_t compare | ( | Object::View | vO1,
|  | Object::View | vO2 |
| ) |  |  | const `[virtual]`

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.

Parameters:

  | vO1 | the first object to be compared
  | vO2 | 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

Exceptions:

  | ClassCastException | if the arguments' types prevent them from being compared by this Comparator.

Implements Comparator.

static bool isKeyComparator | ( | Comparator::View | vComparator | ) | `[static]`

Check whether the specified comparator expects to compare keys or values.

Parameters:

  | vComparator | a Comparator to check

Returns:
  true if the comparator expects keys; false otherwise

virtual ObjectArray::View getComparators | ( |  | ) | const `[virtual]`

Obtain the underlying Comparator array.

Returns:
  the Comparator array

## Member Data Documentation

MemberView<ObjectArray> m_vaComparator `[protected]`

The wrapped Comparator array.

Could be null.

The documentation for this class was generated from the following file:

- coherence/util/comparator/ChainedComparator.hpp

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.