All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.internal.helper.IndexedObject Maven / Gradle / Ivy

There is a newer version: 5.0.0-B03
Show newest version
/*
 * Copyright (c) 1998, 2018 Oracle and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     06/10/2009 Andrei Ilitchev
//       - JPA 2.0 - OrderedList support.
package org.eclipse.persistence.internal.helper;

/**
 * 

Purpose: A helper class for sorting index/object pairs. *

*

Responsibilities: * Allows to sort a list of index/object pairs either directly * or with Collections.sort(List) - using IndexedObject.compareTo; * or with Collections.sort(List, Comparator) - using custom-defined Comparator. * * @see Collections * @see Comparator * @see OrderedListContainerPolicy */ public class IndexedObject implements Comparable { private Integer index; private Object object; public IndexedObject(Integer index, Object object) { this.index = index; this.object = object; } public Integer getIndex() { return index; } public void setIndex(Integer index) { this.index = index; } public Object getObject() { return object; } public void setObject(Object object) { this.object = object; } /* * Compares indexes, null is less than any non-null. */ public int compareTo(IndexedObject anotherIndexedObject) { Integer anotherIndex = anotherIndexedObject.getIndex(); if(index == null) { if(anotherIndex == null) { return 0; } else { return -1; } } else { if(anotherIndex == null) { return 1; } else { return index.compareTo(anotherIndex); } } } public String toString() { return "(" + index + ", " + object + ")"; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy