X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fapi%2FDependencyResolver.java;h=b020000d3d742b93ec71ea602c30e902e759fb27;hb=5b16b5aa030d26cbf2c6dc17b3f7a530fbdb987f;hp=39845454ef5ed17d108255dbf5e47f5b774ab93b;hpb=f467b1de7ed7a25d19d9210c0372bfb8b8fd697f;p=controller.git diff --git a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/DependencyResolver.java b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/DependencyResolver.java index 39845454ef..b020000d3d 100644 --- a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/DependencyResolver.java +++ b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/DependencyResolver.java @@ -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 { T resolveInstance(Class 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 + */ + Class resolveIdentity(IdentityAttributeRef identityRef, Class expectedBaseClass); + + void validateIdentity(IdentityAttributeRef identityRef, Class expectedBaseClass, JmxAttribute jmxAttribute); + }