BUG 5031:
[bgpcep.git] / bgp / linkstate / src / main / java / org / opendaylight / controller / config / yang / bgp / linkstate / LinkstateModule.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 /**
9  * Generated file
10
11  * Generated from: yang module name: config-bgp-linkstate  yang module local name: bgp-linkstate
12  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
13  * Generated at: Sat Nov 16 08:52:43 CET 2013
14  *
15  * Do not modify this file unless it is present under src/main directory
16  */
17 package org.opendaylight.controller.config.yang.bgp.linkstate;
18
19 import org.opendaylight.protocol.bgp.linkstate.impl.BGPActivator;
20 import org.opendaylight.protocol.bgp.linkstate.impl.RIBActivator;
21 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
22 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
23 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderActivator;
24 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext;
25
26 /**
27  *
28  */
29 public final class LinkstateModule extends org.opendaylight.controller.config.yang.bgp.linkstate.AbstractLinkstateModule {
30
31     public LinkstateModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
32             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
33         super(identifier, dependencyResolver);
34     }
35
36     public LinkstateModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
37             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final LinkstateModule oldModule,
38             final java.lang.AutoCloseable oldInstance) {
39         super(identifier, dependencyResolver, oldModule, oldInstance);
40     }
41
42     @Override
43     public void customValidation() {
44         // Add custom validation for module attributes here.
45     }
46
47     @Override
48     public java.lang.AutoCloseable createInstance() {
49         final class LinkstateExtension implements AutoCloseable, BGPExtensionProviderActivator, RIBExtensionProviderActivator {
50             private final BGPExtensionProviderActivator bgpact = new BGPActivator(getIanaLinkstateAttributeType(),
51                 getRsvpExtensionsDependency().getRsvpRegistry());
52             private final RIBExtensionProviderActivator ribact = new RIBActivator();
53
54             @Override
55             public void close() {
56                 if (bgpact != null) {
57                     bgpact.stop();
58                 }
59                 if (ribact != null) {
60                     ribact.stopRIBExtensionProvider();
61                 }
62             }
63
64             @Override
65             public void startRIBExtensionProvider(final RIBExtensionProviderContext context) {
66                 ribact.startRIBExtensionProvider(context);
67             }
68
69             @Override
70             public void stopRIBExtensionProvider() {
71                 ribact.stopRIBExtensionProvider();
72             }
73
74             @Override
75             public void start(final BGPExtensionProviderContext context) {
76                 bgpact.start(context);
77             }
78
79             @Override
80             public void stop() {
81                 bgpact.stop();
82             }
83         }
84
85         return new LinkstateExtension();
86     }
87 }