Add support for identity-ref config attributes to config/netconf subsystem
[controller.git] / opendaylight / config / config-api / src / main / java / org / opendaylight / controller / config / api / DependencyResolver.java
index 39845454ef5ed17d108255dbf5e47f5b774ab93b..b020000d3d742b93ec71ea602c30e902e759fb27 100644 (file)
@@ -7,10 +7,11 @@
  */
 package org.opendaylight.controller.config.api;
 
-import javax.management.ObjectName;
-
 import org.opendaylight.controller.config.api.annotations.AbstractServiceInterface;
 import org.opendaylight.yangtools.concepts.Identifiable;
+import org.opendaylight.yangtools.yang.binding.BaseIdentity;
+
+import javax.management.ObjectName;
 
 /**
  * Each new {@link org.opendaylight.controller.config.spi.Module} can receive
@@ -49,4 +50,15 @@ public interface DependencyResolver extends Identifiable<ModuleIdentifier> {
     <T> T resolveInstance(Class<T> expectedType, ObjectName objectName,
             JmxAttribute jmxAttribute);
 
+    // TODO finish javadoc
+
+    /**
+     * To be used during commit phase to resolve identity-ref config attributes.
+     *
+     * @return actual class object generated from identity
+     */
+    <T extends BaseIdentity> Class<? extends T> resolveIdentity(IdentityAttributeRef identityRef, Class<T> expectedBaseClass);
+
+    <T extends BaseIdentity> void validateIdentity(IdentityAttributeRef identityRef, Class<T> expectedBaseClass, JmxAttribute jmxAttribute);
+
 }