net.objectlab.kit.util.IntegerUtil Maven / Gradle / Ivy
/*
* ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit.
*
* Based in London, we are world leaders in the design and development
* of bespoke applications for the securities financing markets.
*
* Click here to learn more
* ___ _ _ _ _ _
* / _ \| |__ (_) ___ ___| |_| | __ _| |__
* | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \
* | |_| | |_) | | __/ (__| |_| |__| (_| | |_) |
* \___/|_.__// |\___|\___|\__|_____\__,_|_.__/
* |__/
*
* www.ObjectLab.co.uk
*
* $Id: AbstractDateCalculator.java 309 2010-03-23 21:01:49Z marchy $
*
* Copyright 2006 the original author or authors.
*
* 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 net.objectlab.kit.util;
/**
* @author Benoit Xhenseval
*
*/
public final class IntegerUtil {
private IntegerUtil() {
}
/**
* @return true if value !=null and <> 0.
*/
public static boolean isNotZero(final Integer value) {
return value != null && value.intValue() != 0;
}
/**
* @return true if value !=null and 0.
*/
public static boolean isZero(final Integer value) {
return value != null && value.intValue() == 0;
}
/**
* @return true if value ==null OR 0.
*/
public static boolean isNullOrZero(final Integer value) {
return value == null || value.intValue() == 0;
}
/**
* @return true if val1 == val2 (ignoring scale)
*/
public static boolean isSameValue(final Integer val1, final Integer val2) {
return val1 == null && val2 == null || val1 != null && val2 != null && val1.compareTo(val2) == 0;
}
/**
* @return true if val1 != val2 (ignoring scale)
*/
public static boolean isNotSameValue(final Integer val1, final Integer val2) {
return !isSameValue(val1, val2);
}
/**
* Add 2 BigDecimal safely (i.e. handles nulls)
*/
public static Integer safeAdd(final Integer v1, final Integer v2) {
Integer total = v1;
if (v1 != null && v2 != null) {
total = v1 + v2;
} else if (v2 != null) {
total = v2;
}
return total;
}
public static int safeSignum(final Integer v) {
if (v != null) {
return v.intValue() > 0 ? 1 : v.intValue() < 0 ? -1 : 0;
}
return 0;
}
public static int safeCompare(final Integer id, final Integer id2) {
int ret = -1;
if (id != null && id2 != null) {
ret = id.compareTo(id2);
} else if (id == null && id2 == null) {
ret = 0;
} else if (id != null) {
ret = 1;
}
return ret;
}
/**
* Return the value unless it is null, in which case it returns the default value.
* @param value
* @param defaultValueIfNull
* @return
*/
public static Integer assign(final Integer value, final Integer defaultValueIfNull) {
return value != null ? value : defaultValueIfNull;
}
public static boolean isNotZeroOrNegative(final Integer id) {
return id != null && id.intValue() > 0;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy