5ea2f50fc93ff5b5102ae194a8fc2af2522e0a1b
[netconf.git] / opendaylight / netconf / netconf-topology / src / main / java / org / opendaylight / controller / config / yang / netconf / topology / shared / schema / repository / SchemaRepositoryImplModule.java
1 package org.opendaylight.controller.config.yang.netconf.topology.shared.schema.repository;
2
3 import org.opendaylight.netconf.topology.SchemaRepositoryProvider;
4 import org.opendaylight.yangtools.yang.parser.repo.SharedSchemaRepository;
5
6 public class SchemaRepositoryImplModule extends org.opendaylight.controller.config.yang.netconf.topology.shared.schema.repository.AbstractSchemaRepositoryImplModule {
7     public SchemaRepositoryImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
8         super(identifier, dependencyResolver);
9     }
10
11     public SchemaRepositoryImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.netconf.topology.shared.schema.repository.SchemaRepositoryImplModule oldModule, java.lang.AutoCloseable oldInstance) {
12         super(identifier, dependencyResolver, oldModule, oldInstance);
13     }
14
15     @Override
16     public void customValidation() {
17         // add custom validation form module attributes here.
18     }
19
20     @Override
21     public java.lang.AutoCloseable createInstance() {
22         return new SchemaRepositoryProviderAutoCloseAble(this);
23     }
24
25     private static class SchemaRepositoryProviderAutoCloseAble implements SchemaRepositoryProvider, AutoCloseable {
26
27         private final SharedSchemaRepository schemaRepository;
28
29         public SchemaRepositoryProviderAutoCloseAble(SchemaRepositoryImplModule module) {
30             schemaRepository = new SharedSchemaRepository(module.getIdentifier().getInstanceName());
31         }
32
33         @Override
34         public void close() throws Exception {
35             //NOOP
36         }
37
38         @Override
39         public SharedSchemaRepository getSharedSchemaRepository() {
40             return schemaRepository;
41         }
42     }
43 }