org.nd4j.common.tools.PropertyParser Maven / Gradle / Ivy
/*
* ******************************************************************************
* *
* *
* * This program and the accompanying materials are made available under the
* * terms of the Apache License, Version 2.0 which is available at
* * https://www.apache.org/licenses/LICENSE-2.0.
* *
* * See the NOTICE file distributed with this work for additional
* * information regarding copyright ownership.
* * 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.
* *
* * SPDX-License-Identifier: Apache-2.0
* *****************************************************************************
*/
package org.nd4j.common.tools;
import java.util.Properties;
/**
* PropertyParser
*
* @author gagatust
*/
public class PropertyParser {
private Properties properties;
public PropertyParser(Properties properties) {
this.properties = properties;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public String parseString(String name) {
String property = getProperties().getProperty(name);
if (property == null) {
throw new NullPointerException();
}
return property;
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public int parseInt(String name) {
return Integer.parseInt(getProperties().getProperty(name));
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public boolean parseBoolean(String name) {
String property = getProperties().getProperty(name);
if (property == null) {
throw new IllegalArgumentException();
}
return Boolean.parseBoolean(property);
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public float parseFloat(String name) {
return Float.parseFloat(getProperties().getProperty(name));
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public double parseDouble(String name) {
return Double.parseDouble(getProperties().getProperty(name));
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public long parseLong(String name) {
return Long.parseLong(getProperties().getProperty(name));
}
/**
* Parse property.
*
* @param name property name
* @return property
*/
public char parseChar(String name) {
String property = getProperties().getProperty(name);
if (property.length() != 1) {
throw new IllegalArgumentException(name + " property is't char");
}
return property.charAt(0);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public String toString(String name) {
return toString(name, "");
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public int toInt(String name) {
return toInt(name, 0);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public boolean toBoolean(String name) {
return toBoolean(name, false);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public float toFloat(String name) {
return toFloat(name, 0.0f);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public double toDouble(String name) {
return toDouble(name, 0.0);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public long toLong(String name) {
return toLong(name, 0);
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @return property
*/
public char toChar(String name) {
return toChar(name, '\u0000');
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public String toString(String name, String defaultValue) {
String property = getProperties().getProperty(name);
return property != null ? property : defaultValue;
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public int toInt(String name, int defaultValue) {
try {
return parseInt(name);
} catch (Exception e) {
return defaultValue;
}
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public boolean toBoolean(String name, boolean defaultValue) {
String property = getProperties().getProperty(name);
return property != null ? Boolean.parseBoolean(property) : defaultValue;
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public float toFloat(String name, float defaultValue) {
try {
return parseFloat(name);
} catch (Exception e) {
return defaultValue;
}
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public double toDouble(String name, double defaultValue) {
try {
return parseDouble(name);
} catch (Exception e) {
return defaultValue;
}
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public long toLong(String name, long defaultValue) {
try {
return parseLong(name);
} catch (Exception e) {
return defaultValue;
}
}
/**
* Get property. The method returns the default value if the property is not parsed.
*
* @param name property name
* @param defaultValue default value
* @return property
*/
public char toChar(String name, char defaultValue) {
try {
return parseChar(name);
} catch (Exception e) {
return defaultValue;
}
}
}