X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fapi%2FServiceReferenceReadableRegistry.java;h=f4ee78784fd93c35672aa1b2b32411ca67c7343b;hp=f84fcd48c9b871913554b26d18b2ef8b945f48f5;hb=c65916d075142dd937cb67e5128a87c05616b834;hpb=0d36679800f7476120476ba371e62d16b17509f6 diff --git a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/ServiceReferenceReadableRegistry.java b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/ServiceReferenceReadableRegistry.java index f84fcd48c9..f4ee78784f 100644 --- a/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/ServiceReferenceReadableRegistry.java +++ b/opendaylight/config/config-api/src/main/java/org/opendaylight/controller/config/api/ServiceReferenceReadableRegistry.java @@ -7,47 +7,78 @@ */ package org.opendaylight.controller.config.api; -import javax.management.InstanceNotFoundException; -import javax.management.ObjectName; import java.util.Map; import java.util.Set; +import javax.management.InstanceNotFoundException; +import javax.management.ObjectName; public interface ServiceReferenceReadableRegistry { /** - * Lookup object name by fully qualified service interface name and service reference name. - * @param serviceInterfaceName service interface name - * @param refName service reference name supplied in - * {@link org.opendaylight.controller.config.api.ConfigTransactionController#saveServiceReference(String, String, javax.management.ObjectName)} - * @throws java.lang.IllegalArgumentException if module not found + * Lookup object name by fully qualified service interface name and service + * reference name. + * + * @param serviceInterfaceQName + * service interface name + * @param refName + * service reference name supplied in + * {@link org.opendaylight.controller.config + * .api .ConfigTransactionController#saveServiceReference(String, String, javax.management.ObjectName)} + * @throws java.lang.IllegalArgumentException + * if module not found */ - ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceName, String refName); + ObjectName lookupConfigBeanByServiceInterfaceName(String serviceInterfaceQName, String refName); /** * Get mapping of services to reference names and module object names. */ - Map> getServiceMapping(); + Map> getServiceMapping(); /** - * Get current mapping between reference names and module object names for given service interface name. - * @param serviceInterfaceName service interface name - * @throws IllegalArgumentException if there is a mismatch between serviceInterfaceName and objectName + * Get current mapping between reference names and module object names for given + * service interface name. + * + * @param serviceInterfaceQName + * service interface name + * @throws IllegalArgumentException + * if there is a mismatch between serviceInterfaceName and + * objectName */ - Map lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceName); + Map lookupServiceReferencesByServiceInterfaceName(String serviceInterfaceQName); /** * Find all available service interface names of a module. - * @param objectName module object name - * @throws InstanceNotFoundException if search did not find exactly one instance + * + * @param objectName + * module object name + * @throws InstanceNotFoundException + * if search did not find exactly one instance */ Set lookupServiceInterfaceNames(ObjectName objectName) throws InstanceNotFoundException; /** - * @param namespace service interface namespace - * @param localName service interface local name - * @return fully qualified name needed by all other service reference mapping methods. - * @throws java.lang.IllegalArgumentException if namespace or localName is not found + * Get the name of the service interface. + * + * @param namespace + * service interface namespace + * @param localName + * service interface local name + * @return fully qualified name needed by all other service reference mapping + * methods. + * @throws java.lang.IllegalArgumentException + * if namespace or localName is not found */ String getServiceInterfaceName(String namespace, String localName); + /** + * Get the reference to that service. + * + * @return ObjectName with type=Service that was created using + * {@link org.opendaylight.controller + * .config .api.ServiceReferenceWritableRegistry#saveServiceReference(String, + * String, javax.management.ObjectName)} + */ + ObjectName getServiceReference(String serviceInterfaceQName, String refName) throws InstanceNotFoundException; + + void checkServiceReferenceExists(ObjectName objectName) throws InstanceNotFoundException; }