From cc5b96bfd33cd7d91fe6994d348e8d6a0ebb54fa Mon Sep 17 00:00:00 2001 From: liamfallon Date: Fri, 29 Mar 2019 10:31:22 +0000 Subject: 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 --- .../org/onap/policy/models/base/PfAuthorative.java | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 models-base/src/main/java/org/onap/policy/models/base/PfAuthorative.java (limited to 'models-base/src/main/java') 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 { + /** + * 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); + +} -- cgit 1.2.3-korg