Example usage for org.jfree.data ComparableObjectItem compareTo

List of usage examples for org.jfree.data ComparableObjectItem compareTo

Introduction

In this page you can find the example usage for org.jfree.data ComparableObjectItem compareTo.

Prototype

@Override
public int compareTo(Object o1) 

Source Link

Document

Returns an integer indicating the order of this object relative to another object.

Usage

From source file:org.jfree.data.ComparableObjectItemTest.java

/**
 * Some checks for the compareTo() method.
 *//*w  w  w  . ja  v a  2  s  .com*/
@Test
public void testCompareTo() {
    ComparableObjectItem item1 = new ComparableObjectItem(new Integer(1), "XYZ");
    ComparableObjectItem item2 = new ComparableObjectItem(new Integer(2), "XYZ");
    ComparableObjectItem item3 = new ComparableObjectItem(new Integer(3), "XYZ");
    ComparableObjectItem item4 = new ComparableObjectItem(new Integer(1), "XYZ");
    assertTrue(item2.compareTo(item1) > 0);
    assertTrue(item3.compareTo(item1) > 0);
    assertTrue(item4.compareTo(item1) == 0);
    assertTrue(item1.compareTo(item2) < 0);
}

From source file:org.jfree.data.ComparableObjectSeries.java

/**
 * Adds a data item to the series and, if requested, sends a
 * {@link SeriesChangeEvent} to all registered listeners.
 *
 * @param item  the (x, y) item (<code>null</code> not permitted).
 * @param notify  a flag that controls whether or not a
 *                {@link SeriesChangeEvent} is sent to all registered
 *                listeners.//from   www . j a v  a2s  .c om
 */
protected void add(ComparableObjectItem item, boolean notify) {

    ParamChecks.nullNotPermitted(item, "item");
    if (this.autoSort) {
        int index = Collections.binarySearch(this.data, item);
        if (index < 0) {
            this.data.add(-index - 1, item);
        } else {
            if (this.allowDuplicateXValues) {
                // need to make sure we are adding *after* any duplicates
                int size = this.data.size();
                while (index < size && item.compareTo(this.data.get(index)) == 0) {
                    index++;
                }
                if (index < this.data.size()) {
                    this.data.add(index, item);
                } else {
                    this.data.add(item);
                }
            } else {
                throw new SeriesException("X-value already exists.");
            }
        }
    } else {
        if (!this.allowDuplicateXValues) {
            // can't allow duplicate values, so we need to check whether
            // there is an item with the given x-value already
            int index = indexOf(item.getComparable());
            if (index >= 0) {
                throw new SeriesException("X-value already exists.");
            }
        }
        this.data.add(item);
    }
    if (getItemCount() > this.maximumItemCount) {
        this.data.remove(0);
    }
    if (notify) {
        fireSeriesChanged();
    }
}