Mega Code Archive

 
Categories / Java / Data Type
 

Converts an Integer to a Boolean specifying the conversion values

/*  * Licensed to the Apache Software Foundation (ASF) under one or more  * contributor license agreements.  See the NOTICE file distributed with  * this work for additional information regarding copyright ownership.  * The ASF licenses this file to You 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.  */ /**  * <p>Operations on boolean primitives and Boolean objects.</p>  *  * <p>This class tries to handle <code>null</code> input gracefully.  * An exception will not be thrown for a <code>null</code> input.  * Each method documents its behaviour in more detail.</p>  *   * @author Stephen Colebourne  * @author Matthew Hawthorne  * @author Gary Gregory  * @since 2.0  * @version $Id: BooleanUtils.java 589050 2007-10-27 05:07:45Z bayard $  */ public class Main {   /**    * <p>Converts an Integer to a Boolean specifying the conversion values.</p>    *     * <pre>    *   BooleanUtils.toBooleanObject(new Integer(0), new Integer(0), new Integer(2), new Integer(3)) = Boolean.TRUE    *   BooleanUtils.toBooleanObject(new Integer(2), new Integer(1), new Integer(2), new Integer(3)) = Boolean.FALSE    *   BooleanUtils.toBooleanObject(new Integer(3), new Integer(1), new Integer(2), new Integer(3)) = null    * </pre>    *    * @param value  the Integer to convert    * @param trueValue  the value to match for <code>true</code>,    *  may be <code>null</code>    * @param falseValue  the value to match for <code>false</code>,    *  may be <code>null</code>    * @param nullValue  the value to to match for <code>null</code>,    *  may be <code>null</code>    * @return Boolean.TRUE, Boolean.FALSE, or <code>null</code>    * @throws IllegalArgumentException if no match    */   public static Boolean toBooleanObject(Integer value, Integer trueValue, Integer falseValue, Integer nullValue) {       if (value == null) {           if (trueValue == null) {               return Boolean.TRUE;           } else if (falseValue == null) {               return Boolean.FALSE;           } else if (nullValue == null) {               return null;           }       } else if (value.equals(trueValue)) {           return Boolean.TRUE;       } else if (value.equals(falseValue)) {           return Boolean.FALSE;       } else if (value.equals(nullValue)) {           return null;       }       // no match       throw new IllegalArgumentException("The Integer did not match any specified value");   } }