aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java279
1 files changed, 0 insertions, 279 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java b/framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java
deleted file mode 100644
index f1b602e8..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/cfg/ConfigProperty.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * 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 org.onosproject.cfg;
-
-import com.google.common.base.MoreObjects;
-
-import java.util.Objects;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-
-/**
- * Component configuration property.
- */
-public final class ConfigProperty {
-
- private final String name;
- private final Type type;
- private final String value;
- private final String defaultValue;
- private final String description;
- private final boolean isSet;
-
- /**
- * Representation of the type of property value.
- */
- public enum Type {
- /**
- * Indicates the value is a string.
- */
- STRING,
-
- /**
- * Indicates the value is an integer.
- */
- INTEGER,
-
- /**
- * Indicates the value is a long.
- */
- LONG,
-
- /**
- * Indicates the value is a float.
- */
- FLOAT,
-
- /**
- * Indicates the value is a double.
- */
- DOUBLE,
-
- /**
- * Indicates the value is a boolean.
- */
- BOOLEAN
- }
-
- /**
- * Creates a new configuration property with its default value.
- *
- * @param name property name
- * @param type value type
- * @param defaultValue default value as a string
- * @param description property description
- * @return newly defined property
- */
- public static ConfigProperty defineProperty(String name, Type type,
- String defaultValue,
- String description) {
- return new ConfigProperty(name, type, description, defaultValue, defaultValue, false);
- }
-
- /**
- * Creates a new configuration property as a copy of an existing one, but
- * with a new value.
- *
- * @param property property to be changed
- * @param newValue new value as a string
- * @return newly updated property
- */
- public static ConfigProperty setProperty(ConfigProperty property, String newValue) {
- return new ConfigProperty(property.name, property.type, property.description,
- property.defaultValue, newValue, true);
- }
-
- /**
- * Creates a new configuration property as a copy of an existing one, but
- * without a specific value, thus making it take its default value.
- *
- * @param property property to be reset
- * @return newly reset property
- */
- public static ConfigProperty resetProperty(ConfigProperty property) {
- return new ConfigProperty(property.name, property.type, property.description,
- property.defaultValue, property.defaultValue, false);
- }
-
- /**
- * Creates a new configuration property with its default value.
- *
- * @param name property name
- * @param type value type
- * @param defaultValue default value as a string
- * @param description property description
- * @param value property value
- * @param isSet indicates whether the property is set or not
- */
- private ConfigProperty(String name, Type type, String description,
- String defaultValue, String value, boolean isSet) {
- this.name = checkNotNull(name, "Property name cannot be null");
- this.type = checkNotNull(type, "Property type cannot be null");
- this.description = checkNotNull(description, "Property description cannot be null");
- this.defaultValue = defaultValue;
- this.value = value;
- this.isSet = isSet;
- }
-
- /**
- * Returns the property name.
- *
- * @return property name
- */
- public String name() {
- return name;
- }
-
- /**
- * Returns the property type.
- *
- * @return property type
- */
- public Type type() {
- return type;
- }
-
- /**
- * Returns the property description.
- *
- * @return string value
- */
- public String description() {
- return description;
- }
-
- /**
- * Returns the property default value as a string.
- *
- * @return string default value
- */
- public String defaultValue() {
- return defaultValue;
- }
-
- /**
- * Returns the property value as a string.
- *
- * @return string value
- */
- public String value() {
- return value;
- }
-
- /**
- * Indicates whether the property is set or whether it assumes its
- * default value.
- *
- * @return true if the property is set
- */
- public boolean isSet() {
- return isSet;
- }
-
- /**
- * Returns the property value as a string.
- *
- * @return string value
- */
- public String asString() {
- return value;
- }
-
- /**
- * Returns the property value as an integer.
- *
- * @return integer value
- */
- public int asInteger() {
- checkState(type == Type.INTEGER, "Value is not an integer");
- return Integer.parseInt(value);
- }
-
- /**
- * Returns the property value as a long.
- *
- * @return long value
- */
- public long asLong() {
- checkState(type == Type.INTEGER || type == Type.LONG, "Value is not a long or integer");
- return Long.parseLong(value);
- }
-
- /**
- * Returns the property value as a float.
- *
- * @return float value
- */
- public float asFloat() {
- checkState(type == Type.FLOAT, "Value is not a float");
- return Float.parseFloat(value);
- }
-
- /**
- * Returns the property value as a double.
- *
- * @return double value
- */
- public double asDouble() {
- checkState(type == Type.FLOAT || type == Type.DOUBLE, "Value is not a float or double");
- return Double.parseDouble(value);
- }
-
- /**
- * Returns the property value as a boolean.
- *
- * @return string value
- */
- public boolean asBoolean() {
- checkState(type == Type.BOOLEAN, "Value is not a boolean");
- return Boolean.parseBoolean(value);
- }
-
- @Override
- public int hashCode() {
- return name.hashCode();
- }
-
- /**
- * {@inheritDoc}
- *
- * Equality is considered only on the basis of property name.
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj instanceof ConfigProperty) {
- final ConfigProperty other = (ConfigProperty) obj;
- return Objects.equals(this.name, other.name);
- }
- return false;
- }
-
- @Override
- public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("name", name)
- .add("type", type)
- .add("value", value)
- .add("defaultValue", defaultValue)
- .add("description", description)
- .add("isSet", isSet)
- .toString();
- }
-}