fc3cc23dfab3bf40f087bcbcc1184f0ea1990db0
[bgpcep.git] / pcep / impl-config / src / main / java / org / opendaylight / controller / config / yang / pcep / impl / PCEPSessionProposalFactoryImplModule.java
1 /**
2  * Generated file
3
4  * Generated from: yang module name: pcep-impl  yang module local name: pcep-session-proposal-factory-impl
5  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
6  * Generated at: Wed Nov 06 13:16:39 CET 2013
7  *
8  * Do not modify this file unless it is present under src/main directory
9  */
10 package org.opendaylight.controller.config.yang.pcep.impl;
11
12 import java.net.InetSocketAddress;
13
14 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
15 import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
16 import org.opendaylight.protocol.pcep.impl.PCEPSessionProposalFactoryImpl;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.Open;
18
19 /**
20 *
21 */
22 public final class PCEPSessionProposalFactoryImplModule
23                 extends
24                 org.opendaylight.controller.config.yang.pcep.impl.AbstractPCEPSessionProposalFactoryImplModule {
25
26         public PCEPSessionProposalFactoryImplModule(
27                         org.opendaylight.controller.config.api.ModuleIdentifier name,
28                         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
29                 super(name, dependencyResolver);
30         }
31
32         public PCEPSessionProposalFactoryImplModule(
33                         org.opendaylight.controller.config.api.ModuleIdentifier name,
34                         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
35                         PCEPSessionProposalFactoryImplModule oldModule,
36                         java.lang.AutoCloseable oldInstance) {
37                 super(name, dependencyResolver, oldModule, oldInstance);
38         }
39
40         @Override
41         public void validate() {
42                 super.validate();
43                 JmxAttributeValidationException
44                                 .checkCondition(
45                                                 getDeadTimerValue() % getKeepAliveTimerValue() != 4,
46                                                 "Parameter 'dead timer value' should be 4 times greater than keepAlive timer value.",
47                                                 deadTimerValueJmxAttribute);
48                 if ((getActive() || getVersioned() || getTimeout() > 0)
49                                 && !getStateful())
50                         setStateful(true);
51         }
52
53         @Override
54         public java.lang.AutoCloseable createInstance() {
55                 PCEPSessionProposalFactoryImpl inner = new PCEPSessionProposalFactoryImpl(
56                                 getDeadTimerValue(), getKeepAliveTimerValue(), getStateful(),
57                                 getActive(), getVersioned(), getInstantiated(), getTimeout());
58                 return new PCEPSessionProposalFactoryCloseable(inner);
59         }
60
61         private static final class PCEPSessionProposalFactoryCloseable implements
62                         PCEPSessionProposalFactory, AutoCloseable {
63
64                 private PCEPSessionProposalFactoryImpl inner;
65
66                 public PCEPSessionProposalFactoryCloseable(
67                                 PCEPSessionProposalFactoryImpl inner) {
68                         this.inner = inner;
69                 }
70
71                 @Override
72                 public void close() throws Exception {
73                 }
74
75                 @Override
76                 public Open getSessionProposal(
77                                 InetSocketAddress inetSocketAddress, int i) {
78                         return inner.getSessionProposal(inetSocketAddress, i);
79                 }
80         }
81 }