aboutsummaryrefslogtreecommitdiffstats
path: root/models-base/src/main
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-03-29 10:31:22 +0000
committerliamfallon <liam.fallon@est.tech>2019-03-29 10:31:22 +0000
commitcc5b96bfd33cd7d91fe6994d348e8d6a0ebb54fa (patch)
tree2fee38b739094176421927052b65ce6d9ffd5098 /models-base/src/main
parent6ccec5265d3431a1ca3265876b3df7bb422d9b62 (diff)
Restructure for authorative models
Use authorative models instead of the JPA stored models as the venacular models in the Policy Framework. The next step is to pass the authorative objects over the provider interface rather than the JPA obejcts. This change will be made in the next review. Minor changes to pdp objects to remove JPA things from them. These object will be the authorative in-memory obejcts on the PDP side and new JPA entity object will be introduced in a future review to persist them. Issue-ID: POLICY-1095 Change-Id: I40e7b713903980cb41bb315417111b67a9b17307 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-base/src/main')
-rw-r--r--models-base/src/main/java/org/onap/policy/models/base/PfAuthorative.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/models-base/src/main/java/org/onap/policy/models/base/PfAuthorative.java b/models-base/src/main/java/org/onap/policy/models/base/PfAuthorative.java
new file mode 100644
index 000000000..fd35d20d0
--- /dev/null
+++ b/models-base/src/main/java/org/onap/policy/models/base/PfAuthorative.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.base;
+
+/**
+ * Interface that provides conversion to and from authorative concepts for other concepts.
+ *
+ * @author Liam Fallon (liam.fallon@est.tech)
+ *
+ * @param T the type of the authorative concept
+ */
+public interface PfAuthorative<T> {
+ /**
+ * Create an instance of the authorative concept from the other concept.
+ *
+ * @return the authorative concept
+ */
+ public T toAuthorative();
+
+ /**
+ * Set an instance of the persist concept to the equivalent values as the other concept.
+ */
+ public void fromAuthorative(final T authorativeClass);
+
+}