All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.co.thebadgerset.junit.extensions.util.ParsedProperties Maven / Gradle / Ivy

Go to download

JUnit Toolkit enhances JUnit with performance testing, asymptotic behaviour analysis, and concurrency testing.

The newest version!
/*
 * Copyright 2007 Rupert Smith.
 *
 * 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 uk.co.thebadgerset.junit.extensions.util;

import java.util.Properties;

/**
 * ParsedProperties extends the basic Properties class with methods to extract properties, not as strings but as strings
 * parsed into basic types.
 *
 * 

*
CRC Card
Responsibilities Collaborations *
* * @author Rupert Smith */ public class ParsedProperties extends Properties { /** * Creates an empty ParsedProperties. */ public ParsedProperties() { super(); } /** * Creates a ParsedProperties initialized with the specified properties. * * @param props The properties to initialize this with. */ public ParsedProperties(Properties props) { super(props); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static boolean setSysPropertyIfNull(String propname, boolean value) { return Boolean.parseBoolean(setSysPropertyIfNull(propname, Boolean.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static short setSysPropertyIfNull(String propname, short value) { return Short.parseShort(setSysPropertyIfNull(propname, Short.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static int setSysPropertyIfNull(String propname, int value) { return Integer.parseInt(setSysPropertyIfNull(propname, Integer.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static long setSysPropertyIfNull(String propname, long value) { return Long.parseLong(setSysPropertyIfNull(propname, Long.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static float setSysPropertyIfNull(String propname, float value) { return Float.parseFloat(setSysPropertyIfNull(propname, Float.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public static double setSysPropertyIfNull(String propname, double value) { return Double.parseDouble(setSysPropertyIfNull(propname, Double.toString(value))); } /** * Helper method for setting system properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the system property after this method call. */ public static String setSysPropertyIfNull(String propname, String value) { String property = System.getProperty(propname); if (property == null) { System.setProperty(propname, value); return value; } else { return property; } } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public boolean setPropertyIfNull(String propname, boolean value) { return Boolean.parseBoolean(setPropertyIfNull(propname, Boolean.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public short setPropertyIfNull(String propname, short value) { return Short.parseShort(setPropertyIfNull(propname, Short.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public int setPropertyIfNull(String propname, int value) { return Integer.parseInt(setPropertyIfNull(propname, Integer.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public long setPropertyIfNull(String propname, long value) { return Long.parseLong(setPropertyIfNull(propname, Long.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public float setPropertyIfNull(String propname, float value) { return Float.parseFloat(setPropertyIfNull(propname, Float.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public double setPropertyIfNull(String propname, double value) { return Double.parseDouble(setPropertyIfNull(propname, Double.toString(value))); } /** * Helper method for setting properties to defaults when they are not already set. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public String setPropertyIfNull(String propname, String value) { String property = super.getProperty(propname); if (property == null) { super.setProperty(propname, value); return value; } else { return property; } } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public boolean setProperty(String propname, boolean value) { setProperty(propname, Boolean.toString(value)); return value; } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public short setProperty(String propname, short value) { setProperty(propname, Short.toString(value)); return value; } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public int setProperty(String propname, int value) { setProperty(propname, Integer.toString(value)); return value; } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public long setProperty(String propname, long value) { setProperty(propname, Long.toString(value)); return value; } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public float setProperty(String propname, float value) { setProperty(propname, Float.toString(value)); return value; } /** * Helper method for setting properties. * * @param propname The name of the system property to set. * @param value The value to set it to. * * @return The value of the property after this method call. */ public double setProperty(String propname, double value) { setProperty(propname, Double.toString(value)); return value; } /** * Parses a property as a boolean. * * @param propName The property. * * @return The property as a boolean, or false if it does not exist. */ public boolean getPropertyAsBoolean(String propName) { String prop = getProperty(propName); return (prop != null) && Boolean.parseBoolean(prop); } /** * Parses a property as an integer. * * @param propName The property. * * @return The property as a integer, or null if it does not exist. */ public Integer getPropertyAsInteger(String propName) { String prop = getProperty(propName); return (prop != null) ? new Integer(prop) : null; } /** * Parses a property as a long. * * @param propName The property. * * @return The property as a long, or null if it does not exist. */ public Long getPropertyAsLong(String propName) { String prop = getProperty(propName); return (prop != null) ? new Long(prop) : null; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy