### org.jfree.layouting.layouter.style

# Class CSSStyleRuleComparator

- `java.lang.Object`
- - `org.jfree.layouting.layouter.style.CSSStyleRuleComparator`

Implemented Interfaces:
  Comparator

`public class CSSStyleRuleComparator`
`extends java.lang.Object`
`implements Comparator`

Creation-Date: 08.12.2005, 21:31:51

Author:
  Thomas Morgner

  ## Constructor Summary

  `CSSStyleRuleComparator()`

  ## Method Summary

  `int`

  `compare(Object o1, Object o2)`
    Compares its two arguments for order.

## Constructor Details

### CSSStyleRuleComparator

    public CSSStyleRuleComparator()

## Method Details

### 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."
> 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.