diff options
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.java | 87 |
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); - -} |