--- /dev/null
+/*
+ * Copyright (C) 2018 Free Software Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.jcoreee.utils;
+
+import java.io.Serializable;
+
+/**
+ * An utilities class for comparison of objects/entities
+ * <p>
+ * @author Roland Häder<roland@mxchange.org>
+ */
+public class Comparables implements Serializable {
+
+ /**
+ * Serial number
+ */
+ private static final long serialVersionUID = 19_286_457_671_390L;
+
+ /**
+ * Checks all comparison values if they are not zero and returns proper
+ * value. These comparators should come from an implementation of
+ * Comparable.compareTo().
+ * <p>
+ * @param comparators An array of at least one comparator
+ * <p>
+ * @return Comparison value
+ */
+ public static int checkAll (final int[] comparators) {
+ // Is array empty?
+ if (comparators.length == 0) {
+ // Should not happen
+ throw new IllegalArgumentException("comparators is empty."); //NOI18N
+ }
+
+ // Loop through all
+ for (int i = 0; i < comparators.length; i++) {
+ // Is it smaller or bigger?
+ if (comparators[i] < 0) {
+ return -1;
+ } else if (comparators[i] > 0) {
+ return 1;
+ }
+ }
+
+ // Assume euqality
+ return 0;
+ }
+
+ /**
+ * Utility classes should not have instances
+ */
+ private Comparables () {
+ }
+
+}
/*
- * Copyright (C) 2018 Roland Häder<roland@mxchange.org>
+ * Copyright (C) 2018 Free Software Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* 2 means str0 bigger str2
*/
@SuppressWarnings ("null")
- public static int comareTo (final String str0, final String str1) {
+ public static int compareTo (final String str0, final String str1) {
// Check both strings for null and empty
boolean isStr0Empty = (str0 == null || str0.isEmpty());
boolean isStr1Empty = (str1 == null || str1.isEmpty());
* 2 means str0 bigger str2
*/
@SuppressWarnings ("null")
- public static int comareToIgnoreCase (final String str0, final String str1) {
+ public static int compareToIgnoreCase (final String str0, final String str1) {
// Check both strings for null and empty
boolean isStr0Empty = (str0 == null || str0.isEmpty());
boolean isStr1Empty = (str1 == null || str1.isEmpty());