summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java
diff options
context:
space:
mode:
authorCNlucius <lukai1@huawei.com>2016-09-13 11:40:12 +0800
committerCNlucius <lukai1@huawei.com>2016-09-13 11:41:53 +0800
commitb731e2f1dd0972409b136aebc7b463dd72c9cfad (patch)
tree5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java
parentee93993458266114c29271a481ef9ce7ce621b2a (diff)
ONOSFW-171
O/S-SFC-ONOS scenario documentation Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365 Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java122
1 files changed, 0 insertions, 122 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java
deleted file mode 100644
index 25a34025..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/ConfigFactory.java
+++ /dev/null
@@ -1,122 +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.net.config;
-
-
-import com.google.common.annotations.Beta;
-
-/**
- * Base abstract factory for creating configurations for the specified subject type.
- *
- * @param <S> type of subject
- * @param <C> type of configuration
- */
-@Beta
-public abstract class ConfigFactory<S, C extends Config<S>> {
-
- private final SubjectFactory<S> subjectFactory;
- private final Class<C> configClass;
- private final String configKey;
- private final boolean isList;
-
- /**
- * Creates a new configuration factory for the specified class of subjects
- * capable of generating the configurations of the specified class. The
- * subject and configuration class keys are used merely as keys for use in
- * composite JSON trees.
- *
- * @param subjectFactory subject factory
- * @param configClass configuration class
- * @param configKey configuration class key
- */
- protected ConfigFactory(SubjectFactory<S> subjectFactory,
- Class<C> configClass, String configKey) {
- this(subjectFactory, configClass, configKey, false);
- }
-
- /**
- * Creates a new configuration factory for the specified class of subjects
- * capable of generating the configurations of the specified class. The
- * subject and configuration class keys are used merely as keys for use in
- * composite JSON trees.
- * <p>
- * Note that configurations backed by JSON array are not easily extensible
- * at the top-level as they are inherently limited to holding an ordered
- * list of items.
- * </p>
- *
- * @param subjectFactory subject factory
- * @param configClass configuration class
- * @param configKey configuration class key
- * @param isList true to indicate backing by JSON array
- */
- protected ConfigFactory(SubjectFactory<S> subjectFactory,
- Class<C> configClass, String configKey,
- boolean isList) {
- this.subjectFactory = subjectFactory;
- this.configClass = configClass;
- this.configKey = configKey;
- this.isList = isList;
- }
-
- /**
- * Returns the class of the subject to which this factory applies.
- *
- * @return subject type
- */
- public SubjectFactory<S> subjectFactory() {
- return subjectFactory;
- }
-
- /**
- * Returns the class of the configuration which this factory generates.
- *
- * @return configuration type
- */
- public Class<C> configClass() {
- return configClass;
- }
-
- /**
- * Returns the unique key (within subject class) of this configuration.
- * This is primarily aimed for use in composite JSON trees in external
- * representations and has no bearing on the internal behaviours.
- *
- * @return configuration key
- */
- public String configKey() {
- return configKey;
- }
-
- /**
- * Creates a new but uninitialized configuration. Framework will initialize
- * the configuration via {@link Config#init} method.
- *
- * @return new uninitialized configuration
- */
- public abstract C createConfig();
-
- /**
- * Indicates whether the configuration is a list and should be backed by
- * a JSON array rather than JSON object.
- *
- * @return true if backed by JSON array
- */
- public boolean isList() {
- return isList;
- }
-
-}