Android Open Source - itude-mobile-android-util Comparison Util






From Project

Back to project page itude-mobile-android-util.

License

The source code is released under:

Apache License

If you think the Android project itude-mobile-android-util listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * (C) Copyright Itude Mobile B.V., The Netherlands
 * /*from   ww  w  . jav  a2s .c om*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.itude.mobile.android.util;

/**
 * Utility class with comparison checks.
 */
public class ComparisonUtil
{
  /**
   * Checks if passed objects are equal. 
   * 
   * @param o1 {@link Object}
   * @param o2 {@link Object}
   * @return true if equal
   */
  public static boolean safeEquals(Object o1, Object o2)
  {
    if (o1 == null && o2 == null) return true;
    if (o1 == null || o2 == null) return false;
    return o1.equals(o2);
  }

  /**
   * Checks if passed objects are equal. 
   * 
   * @param o1 {@link Comparable}
   * @param o2 {@link Comparable}
   * @return -1 if not equal, 0 if objects are null, 1 if objects are equal
   */
  public static <T extends Comparable<T>> int safeCompare(T o1, T o2)
  {
    return safeCompare(o1, o2, true);
  }

  /**
   * Checks if passed objects are equal. 
   * 
   * @param o1 {@link Comparable}
   * @param o2 {@link Comparable}
   * @param nullsFirst true if first object can be null
   * @return -1 if not equal, 0 if objects are null, 1 if objects are equal
   */
  public static <T extends Comparable<T>> int safeCompare(T o1, T o2, boolean nullsFirst)
  {
    if (o1 == null && o2 == null) return 0;
    if (o1 != null && o2 != null) return o1.compareTo(o2);
    if (o1 == null) return nullsFirst ? -1 : 1;
    return nullsFirst ? 1 : -1;
  }

  public static <T> boolean in(T obj, T... args)
  {
    for (T arg : args)
      if (safeEquals(obj, arg)) return true;

    return false;
  }

  public static <T> T coalesce(T... args)
  {
    for (T arg : args)
      if (arg != null) return arg;

    return null;
  }
}




Java Source Code List

com.itude.mobile.android.util.AssertUtil.java
com.itude.mobile.android.util.AssetUtil.java
com.itude.mobile.android.util.ByteUtil.java
com.itude.mobile.android.util.CollectionUtilities.java
com.itude.mobile.android.util.ComparisonUtil.java
com.itude.mobile.android.util.ConvertedList.java
com.itude.mobile.android.util.DataUtil.java
com.itude.mobile.android.util.DateUtil.java
com.itude.mobile.android.util.DeviceUtil.java
com.itude.mobile.android.util.DoubleUtil.java
com.itude.mobile.android.util.FileUtil.java
com.itude.mobile.android.util.ItudeException.java
com.itude.mobile.android.util.MathUtil.java
com.itude.mobile.android.util.RunnableWithParam.java
com.itude.mobile.android.util.ScreenUtil.java
com.itude.mobile.android.util.StringUtil.java
com.itude.mobile.android.util.TwinResult.java
com.itude.mobile.android.util.UIUtil.java
com.itude.mobile.android.util.UniqueIntegerGenerator.java
com.itude.mobile.android.util.ValidationUtil.java
com.itude.mobile.android.util.ViewUtilities.java
com.itude.mobile.android.util.exceptions.DataParsingException.java
com.itude.mobile.android.util.exceptions.DateParsingException.java
com.itude.mobile.android.util.https.EasySSLSocketFactory.java
com.itude.mobile.android.util.https.EasyX509TrustManager.java
com.itude.mobile.android.util.log.MBLog.java