297 lines
7.7 KiB
Java
Raw Normal View History

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
Refactor packages to fix split package issues (#411) * Refactor nd4j-common: org.nd4j.* -> org.nd4j.common.* Signed-off-by: Alex Black <blacka101@gmail.com> * Fix CUDA (missed nd4j-common package refactoring changes) Signed-off-by: Alex Black <blacka101@gmail.com> * nd4j-kryo: org.nd4j -> org.nd4j.kryo Signed-off-by: Alex Black <blacka101@gmail.com> * Fix nd4j-common for deeplearning4j-cuda Signed-off-by: Alex Black <blacka101@gmail.com> * nd4j-grppc-client: org.nd4j.graph -> org.nd4j.remote.grpc Signed-off-by: Alex Black <blacka101@gmail.com> * deeplearning4j-common: org.deeplearning4.* -> org.deeplearning4j.common.* Signed-off-by: Alex Black <blacka101@gmail.com> * deeplearning4j-core: org.deeplearning4j.* -> org.deeplearning.core.* Signed-off-by: Alex Black <blacka101@gmail.com> * deeplearning4j-cuda: org.deeplearning4j.nn.layers.* -> org.deeplearning4j.cuda.* Signed-off-by: Alex Black <blacka101@gmail.com> * Import fixes Signed-off-by: Alex Black <blacka101@gmail.com> * deeplearning4j-nlp-*: org.deeplearning4.text.* -> org.deeplearning4j.nlp.(language).* Signed-off-by: Alex Black <blacka101@gmail.com> * deeplearning4j-ui-model: org.deeplearning4j.ui -> org.deeplearning4j.ui.model Signed-off-by: Alex Black <blacka101@gmail.com> * datavec-spark-inference-{server/model/client}: org.datavec.spark.transform -> org.datavec.spark.inference.{server/model/client} Signed-off-by: Alex Black <blacka101@gmail.com> * datavec-jdbc: org.datavec.api -> org.datavec.jdbc Signed-off-by: Alex Black <blacka101@gmail.com> * Delete org.deeplearning4j.datasets.iterator.impl.MultiDataSetIteratorAdapter in favor of (essentially identical) org.nd4j.linalg.dataset.adapter.MultiDataSetIteratorAdapter Signed-off-by: Alex Black <blacka101@gmail.com> * ND4S fixes Signed-off-by: Alex Black <blacka101@gmail.com> * Fixes Signed-off-by: Alex Black <blacka101@gmail.com> * nd4j-common-tests: org.nd4j.* -> org.nd4j.common.tests Signed-off-by: Alex Black <blacka101@gmail.com> * Trigger CI Signed-off-by: Alex Black <blacka101@gmail.com> * Fixes Signed-off-by: Alex Black <blacka101@gmail.com> * #8878 Ignore CUDA tests on modules with 'nd4j-native under cuda' issue Signed-off-by: Alex Black <blacka101@gmail.com> * Fix bad imports in tests Signed-off-by: Alex Black <blacka101@gmail.com> * Add ignore on test (already failing) due to #8882 Signed-off-by: Alex Black <blacka101@gmail.com> * Import fixes Signed-off-by: Alex Black <blacka101@gmail.com> * Additional import fixes Signed-off-by: Alex Black <blacka101@gmail.com>
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;
}
}
}