Get a property value as a boolean. - Java java.util

Java examples for java.util:Properties File

Description

Get a property value as a boolean.

Demo Code

/*// w w  w .jav a2 s .  c o  m
 * 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.
 */
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.StringTokenizer;

public class Main{
    /**
     * Get a property value as a boolean. Shorthand for calling
     * {@link #getBoolean(String, java.util.Properties, boolean)} with
     * <tt>false</tt> as the default value.
     * 
     * @param propertyName
     *            The name of the property for which to retrieve value
     * @param properties
     *            The properties object
     * @return The property value.
     */
    public static boolean getBoolean(String propertyName,
            Properties properties) {
        return getBoolean(propertyName, properties, false);
    }
    /**
     * Get a property value as a boolean.
     * <p/>
     * First, the string value is extracted, and then
     * {@link Boolean#valueOf(String)} is used to determine the correct boolean
     * value.
     * 
     * @see #extractPropertyValue(String, java.util.Properties)
     * 
     * @param propertyName
     *            The name of the property for which to retrieve value
     * @param properties
     *            The properties object
     * @param defaultValue
     *            The default property value to use.
     * @return The property value.
     */
    public static boolean getBoolean(String propertyName,
            Properties properties, boolean defaultValue) {
        String value = extractPropertyValue(propertyName, properties);
        return value == null ? defaultValue : Boolean.valueOf(value)
                .booleanValue();
    }
    /**
     * Extract a property value by name from the given properties object.
     * <p/>
     * Both <tt>null</tt> and <tt>empty string</tt> are viewed as the same, and
     * return null.
     * 
     * @param propertyName
     *            The name of the property for which to extract value
     * @param properties
     *            The properties object
     * @return The property value; may be null.
     */
    public static String extractPropertyValue(String propertyName,
            Properties properties) {
        String value = properties.getProperty(propertyName);
        if (value == null) {
            return null;
        }
        value = value.trim();
        if (StringHelper.isEmpty(value)) {
            return null;
        }
        return value;
    }
}

Related Tutorials