2021-02-01 14:31:20 +09:00
|
|
|
/*
|
|
|
|
|
* ******************************************************************************
|
|
|
|
|
* *
|
|
|
|
|
* *
|
|
|
|
|
* * 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.
|
|
|
|
|
* *
|
2021-02-01 17:47:29 +09:00
|
|
|
* * See the NOTICE file distributed with this work for additional
|
|
|
|
|
* * information regarding copyright ownership.
|
2021-02-01 14:31:20 +09:00
|
|
|
* * 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
|
|
|
|
|
* *****************************************************************************
|
|
|
|
|
*/
|
2019-06-06 15:21:15 +03:00
|
|
|
|
2020-04-29 11:19:26 +10:00
|
|
|
package org.nd4j.common.tools;
|
2019-06-06 15:21:15 +03:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|