aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java87
1 files changed, 0 insertions, 87 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java
deleted file mode 100644
index f992d727..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/config/SubjectFactory.java
+++ /dev/null
@@ -1,87 +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 configuration subjects from their
- * string key image.
- *
- * @param <S> subject class
- */
-@Beta
-public abstract class SubjectFactory<S> {
-
- private final Class<S> subjectClass;
- private final String subjectClassKey;
-
- /**
- * 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 subjectClass subject class
- * @param subjectClassKey subject class key
- */
- protected SubjectFactory(Class<S> subjectClass, String subjectClassKey) {
- this.subjectClass = subjectClass;
- this.subjectClassKey = subjectClassKey;
- }
-
- /**
- * Returns the class of the subject to which this factory applies.
- *
- * @return subject type
- */
- public Class<S> subjectClass() {
- return subjectClass;
- }
-
- /**
- * Returns the unique key of this configuration subject class.
- * 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 subjectClassKey() {
- return subjectClassKey;
- }
-
- /**
- * Returns the unique key of the specified configuration subject.
- * This is primarily aimed for use in composite JSON trees in external
- * representations and has no bearing on the internal behaviours.
- *
- * @param subject specific subject
- * @return subject key
- */
- public String subjectKey(S subject) {
- return subject.toString();
- }
-
- /**
- * Creates a configuration subject from its key image.
- *
- * @param subjectKey subject class key
- * @return configuration subject
- */
- public abstract S createSubject(String subjectKey);
-
-}