X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Frepository%2FRic.java;h=3caadaed025ad936887cd2d6d827d85485ce1b18;hb=abf88f3e93f86f6e0639290a399b05db9b9c6097;hp=066c0054957bf187e7681a0bc35b90fbf06ec404;hpb=7adad623a64bfbb96b3c73ed7c1d0d49aabff659;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java index 066c0054..3caadaed 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/repository/Ric.java @@ -20,9 +20,12 @@ package org.oransc.policyagent.repository; +import java.util.Collections; +import java.util.List; import java.util.Vector; import org.oransc.policyagent.configuration.RicConfig; +import org.oransc.policyagent.repository.Ric.RicState; /** * Represents the dynamic information about a NearRealtime-RIC. @@ -30,6 +33,7 @@ import org.oransc.policyagent.configuration.RicConfig; public class Ric { private final RicConfig ricConfig; private RicState state = RicState.NOT_INITIATED; + private Vector supportedPolicyTypes = new Vector<>(); /** * Creates the Ric. Initial state is {@link RicState.NOT_INITIATED}. @@ -91,6 +95,57 @@ public class Ric { ricConfig.managedElementIds().remove(nodeName); } + /** + * Gets the policy types supported by this Ric. + * + * @return the policy types supported by this Ric in an unmodifiable list. + */ + public List getSupportedPolicyTypes() { + return Collections.unmodifiableList(supportedPolicyTypes); + } + + /** + * Adds a policy type as supported by this Ric. + * + * @param type the policy type to support. + */ + public void addSupportedPolicyType(PolicyType type) { + if (!supportedPolicyTypes.contains(type)) { + supportedPolicyTypes.add(type); + } + } + + /** + * Adds policy types as supported by this Ric. + * + * @param types the policy types to support. + */ + public void addSupportedPolicyTypes(Vector types) { + for (PolicyType type : types) { + addSupportedPolicyType(type); + } + } + + /** + * Removes a policy type as supported by this Ric. + * + * @param type the policy type to remove as supported by this Ric. + */ + public void removeSupportedPolicyType(PolicyType type) { + supportedPolicyTypes.remove(type); + } + + /** + * Checks if a type is supported by this Ric. + * + * @param type the type to check if it is supported. + * + * @return true if the given type issupported by this Ric, false otherwise. + */ + public boolean isSupportingType(PolicyType type) { + return supportedPolicyTypes.contains(type); + } + /** * Represents the states possible for a Ric. */