+ public synchronized void removeManagedElement(String managedElementId) {
+ managedElementIds.remove(managedElementId);
+ }
+
+ /**
+ * Gets the policy types supported by this Ric.
+ *
+ * @return the policy types supported by this Ric in an unmodifiable list.
+ */
+ public synchronized Collection<PolicyType> getSupportedPolicyTypes() {
+ return new Vector<>(supportedPolicyTypes.values());
+ }
+
+ public synchronized Collection<String> getSupportedPolicyTypeNames() {
+ return new Vector<>(supportedPolicyTypes.keySet());
+ }
+
+ /**
+ * Adds a policy type as supported by this Ric.
+ *
+ * @param type the policy type to support.
+ */
+ public synchronized void addSupportedPolicyType(PolicyType type) {
+ supportedPolicyTypes.put(type.name(), type);
+ }
+
+ /**
+ * Removes all policy type as supported by this Ric.
+ */
+ public synchronized void clearSupportedPolicyTypes() {
+ supportedPolicyTypes.clear();
+ }
+
+ /**
+ * Checks if a type is supported by this Ric.
+ *
+ * @param typeName the name of the type to check if it is supported.
+ *
+ * @return true if the given type is supported by this Ric, false otherwise.
+ */
+ public synchronized boolean isSupportingType(String typeName) {
+ return supportedPolicyTypes.containsKey(typeName);
+ }
+
+ @Override
+ public synchronized String toString() {
+ return Ric.class.getSimpleName() + ": " + "name: " + name() + ", state: " + state + ", baseUrl: "
+ + ricConfig.baseUrl() + ", managedNodes: " + managedElementIds;