1 <@headerD header=header/>
2 package ${packageName};
4 <@javadocD object=javadoc/>
5 @org.opendaylight.yangtools.yang.binding.annotations.ModuleQName(namespace="${mbe.getYangModuleQName().getNamespace().toString()}",revision="${mbe.getYangModuleQName().getFormattedRevision()}",name="${mbe.getYangModuleQName().getLocalName()}")
6 <@typeDeclarationD object=typeDeclaration/>
9 public static final java.lang.String NAME = "${globallyUniqueName}";
10 private static final java.util.Set<Class<? extends ${abstractServiceInterfaceType}>> serviceIfcs;
11 <#if providedServices??>
13 java.util.Set<Class<? extends ${abstractServiceInterfaceType}>> serviceIfcs2 = new java.util.HashSet<Class<? extends ${abstractServiceInterfaceType}>>();
14 <#list providedServices as refId>
15 serviceIfcs2.add(${refId});
17 serviceIfcs = java.util.Collections.unmodifiableSet(serviceIfcs2);
22 public final boolean isModuleImplementingServiceInterface(Class<? extends ${abstractServiceInterfaceType}> serviceInterface) {
23 for (Class<?> ifc: serviceIfcs) {
24 if (serviceInterface.isAssignableFrom(ifc)){
32 public java.util.Set<Class<? extends ${abstractServiceInterfaceType}>> getImplementedServiceIntefaces() {
38 public ${moduleType} createModule(String instanceName, ${dependencyResolverType} dependencyResolver, ${bundleContextType} bundleContext) {
39 return instantiateModule(instanceName, dependencyResolver, bundleContext);
43 public ${moduleType} createModule(String instanceName, ${dependencyResolverType} dependencyResolver, ${dynamicMBeanWithInstanceType} old, ${bundleContextType} bundleContext) throws Exception {
44 ${moduleInstanceType} oldModule = null;
46 oldModule = (${moduleInstanceType}) old.getModule();
47 } catch(Exception e) {
48 return handleChangedClass(old);
50 ${moduleInstanceType} module = instantiateModule(instanceName, dependencyResolver, oldModule, old.getInstance(), bundleContext);
52 <#list fields as attr>
53 module.set${attr.name}(oldModule.get${attr.name}());
59 public ${moduleInstanceType} instantiateModule(String instanceName, ${dependencyResolverType} dependencyResolver, ${moduleInstanceType} oldModule, ${instanceType} oldInstance, ${bundleContextType} bundleContext) {
60 return new ${moduleInstanceType}(new ${moduleNameType}(NAME, instanceName), dependencyResolver, oldModule, oldInstance);
63 public ${moduleInstanceType} instantiateModule(String instanceName, ${dependencyResolverType} dependencyResolver, ${bundleContextType} bundleContext) {
64 return new ${moduleInstanceType}(new ${moduleNameType}(NAME, instanceName), dependencyResolver);
68 public final String getImplementationName() {
73 public ${moduleInstanceType} handleChangedClass(${dynamicMBeanWithInstanceType} old) throws Exception {
74 throw new UnsupportedOperationException("Class reloading is not supported");
78 public java.util.Set<${moduleInstanceType}> getDefaultModules(org.opendaylight.controller.config.api.DependencyResolverFactory dependencyResolverFactory, ${bundleContextType} bundleContext) {
79 return new java.util.HashSet<${moduleInstanceType}>();