ELAN: skip remote unicast MACs
[netvirt.git] / bgpmanager / impl / src / main / java / org / opendaylight / netvirt / bgpmanager / thrift / gen / BgpUpdater.java
1 /**
2  * Autogenerated by Thrift Compiler (0.9.3)
3  *
4  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5  *  @generated
6  */
7
8  package org.opendaylight.netvirt.bgpmanager.thrift.gen;
9 import org.apache.thrift.scheme.IScheme;
10 import org.apache.thrift.scheme.SchemeFactory;
11 import org.apache.thrift.scheme.StandardScheme;
12
13 import org.apache.thrift.scheme.TupleScheme;
14 import org.apache.thrift.protocol.TTupleProtocol;
15 import org.apache.thrift.protocol.TProtocolException;
16 import org.apache.thrift.EncodingUtils;
17 import org.apache.thrift.TException;
18 import org.apache.thrift.async.AsyncMethodCallback;
19 import org.apache.thrift.server.AbstractNonblockingServer.*;
20 import java.util.List;
21 import java.util.ArrayList;
22 import java.util.Map;
23 import java.util.HashMap;
24 import java.util.EnumMap;
25 import java.util.Set;
26 import java.util.HashSet;
27 import java.util.EnumSet;
28 import java.util.Collections;
29 import java.util.BitSet;
30 import java.nio.ByteBuffer;
31 import java.util.Arrays;
32 import javax.annotation.Generated;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35
36 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
37 @Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2017-09-13")
38 public class BgpUpdater {
39
40   public interface Iface {
41
42     public void onUpdatePushRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi) throws org.apache.thrift.TException;
43
44     public void onUpdateWithdrawRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi) throws org.apache.thrift.TException;
45
46     public void onStartConfigResyncNotification() throws org.apache.thrift.TException;
47
48     public void onNotificationSendEvent(String prefix, byte errCode, byte errSubcode) throws org.apache.thrift.TException;
49
50   }
51
52   public interface AsyncIface {
53
54     public void onUpdatePushRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
55
56     public void onUpdateWithdrawRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
57
58     public void onStartConfigResyncNotification(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
59
60     public void onNotificationSendEvent(String prefix, byte errCode, byte errSubcode, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
61
62   }
63
64   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
65     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
66       public Factory() {}
67       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
68         return new Client(prot);
69       }
70       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
71         return new Client(iprot, oprot);
72       }
73     }
74
75     public Client(org.apache.thrift.protocol.TProtocol prot)
76     {
77       super(prot, prot);
78     }
79
80     public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
81       super(iprot, oprot);
82     }
83
84     public void onUpdatePushRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi) throws org.apache.thrift.TException
85     {
86       send_onUpdatePushRoute(p_type, rd, prefix, prefixlen, nexthop, ethtag, esi, macaddress, l3label, l2label, routermac, afi);
87     }
88
89     public void send_onUpdatePushRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi) throws org.apache.thrift.TException
90     {
91       onUpdatePushRoute_args args = new onUpdatePushRoute_args();
92       args.setP_type(p_type);
93       args.setRd(rd);
94       args.setPrefix(prefix);
95       args.setPrefixlen(prefixlen);
96       args.setNexthop(nexthop);
97       args.setEthtag(ethtag);
98       args.setEsi(esi);
99       args.setMacaddress(macaddress);
100       args.setL3label(l3label);
101       args.setL2label(l2label);
102       args.setRoutermac(routermac);
103       args.setAfi(afi);
104       sendBaseOneway("onUpdatePushRoute", args);
105     }
106
107     public void onUpdateWithdrawRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi) throws org.apache.thrift.TException
108     {
109       send_onUpdateWithdrawRoute(p_type, rd, prefix, prefixlen, nexthop, ethtag, esi, macaddress, l3label, l2label, afi);
110     }
111
112     public void send_onUpdateWithdrawRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi) throws org.apache.thrift.TException
113     {
114       onUpdateWithdrawRoute_args args = new onUpdateWithdrawRoute_args();
115       args.setP_type(p_type);
116       args.setRd(rd);
117       args.setPrefix(prefix);
118       args.setPrefixlen(prefixlen);
119       args.setNexthop(nexthop);
120       args.setEthtag(ethtag);
121       args.setEsi(esi);
122       args.setMacaddress(macaddress);
123       args.setL3label(l3label);
124       args.setL2label(l2label);
125       args.setAfi(afi);
126       sendBaseOneway("onUpdateWithdrawRoute", args);
127     }
128
129     public void onStartConfigResyncNotification() throws org.apache.thrift.TException
130     {
131       send_onStartConfigResyncNotification();
132     }
133
134     public void send_onStartConfigResyncNotification() throws org.apache.thrift.TException
135     {
136       onStartConfigResyncNotification_args args = new onStartConfigResyncNotification_args();
137       sendBaseOneway("onStartConfigResyncNotification", args);
138     }
139
140     public void onNotificationSendEvent(String prefix, byte errCode, byte errSubcode) throws org.apache.thrift.TException
141     {
142       send_onNotificationSendEvent(prefix, errCode, errSubcode);
143     }
144
145     public void send_onNotificationSendEvent(String prefix, byte errCode, byte errSubcode) throws org.apache.thrift.TException
146     {
147       onNotificationSendEvent_args args = new onNotificationSendEvent_args();
148       args.setPrefix(prefix);
149       args.setErrCode(errCode);
150       args.setErrSubcode(errSubcode);
151       sendBaseOneway("onNotificationSendEvent", args);
152     }
153
154   }
155   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
156     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
157       private org.apache.thrift.async.TAsyncClientManager clientManager;
158       private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
159       public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) {
160         this.clientManager = clientManager;
161         this.protocolFactory = protocolFactory;
162       }
163       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
164         return new AsyncClient(protocolFactory, clientManager, transport);
165       }
166     }
167
168     public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) {
169       super(protocolFactory, clientManager, transport);
170     }
171
172     public void onUpdatePushRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
173       checkReady();
174       onUpdatePushRoute_call method_call = new onUpdatePushRoute_call(p_type, rd, prefix, prefixlen, nexthop, ethtag, esi, macaddress, l3label, l2label, routermac, afi, resultHandler, this, ___protocolFactory, ___transport);
175       this.___currentMethod = method_call;
176       ___manager.call(method_call);
177     }
178
179     public static class onUpdatePushRoute_call extends org.apache.thrift.async.TAsyncMethodCall {
180       private protocol_type p_type;
181       private String rd;
182       private String prefix;
183       private int prefixlen;
184       private String nexthop;
185       private int ethtag;
186       private String esi;
187       private String macaddress;
188       private int l3label;
189       private int l2label;
190       private String routermac;
191       private af_afi afi;
192       public onUpdatePushRoute_call(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, String routermac, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
193         super(client, protocolFactory, transport, resultHandler, true);
194         this.p_type = p_type;
195         this.rd = rd;
196         this.prefix = prefix;
197         this.prefixlen = prefixlen;
198         this.nexthop = nexthop;
199         this.ethtag = ethtag;
200         this.esi = esi;
201         this.macaddress = macaddress;
202         this.l3label = l3label;
203         this.l2label = l2label;
204         this.routermac = routermac;
205         this.afi = afi;
206       }
207
208       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
209         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("onUpdatePushRoute", org.apache.thrift.protocol.TMessageType.ONEWAY, 0));
210         onUpdatePushRoute_args args = new onUpdatePushRoute_args();
211         args.setP_type(p_type);
212         args.setRd(rd);
213         args.setPrefix(prefix);
214         args.setPrefixlen(prefixlen);
215         args.setNexthop(nexthop);
216         args.setEthtag(ethtag);
217         args.setEsi(esi);
218         args.setMacaddress(macaddress);
219         args.setL3label(l3label);
220         args.setL2label(l2label);
221         args.setRoutermac(routermac);
222         args.setAfi(afi);
223         args.write(prot);
224         prot.writeMessageEnd();
225       }
226
227       public void getResult() throws org.apache.thrift.TException {
228         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
229           throw new IllegalStateException("Method call not finished!");
230         }
231         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
232         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
233       }
234     }
235
236     public void onUpdateWithdrawRoute(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
237       checkReady();
238       onUpdateWithdrawRoute_call method_call = new onUpdateWithdrawRoute_call(p_type, rd, prefix, prefixlen, nexthop, ethtag, esi, macaddress, l3label, l2label, afi, resultHandler, this, ___protocolFactory, ___transport);
239       this.___currentMethod = method_call;
240       ___manager.call(method_call);
241     }
242
243     public static class onUpdateWithdrawRoute_call extends org.apache.thrift.async.TAsyncMethodCall {
244       private protocol_type p_type;
245       private String rd;
246       private String prefix;
247       private int prefixlen;
248       private String nexthop;
249       private int ethtag;
250       private String esi;
251       private String macaddress;
252       private int l3label;
253       private int l2label;
254       private af_afi afi;
255       public onUpdateWithdrawRoute_call(protocol_type p_type, String rd, String prefix, int prefixlen, String nexthop, int ethtag, String esi, String macaddress, int l3label, int l2label, af_afi afi, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
256         super(client, protocolFactory, transport, resultHandler, true);
257         this.p_type = p_type;
258         this.rd = rd;
259         this.prefix = prefix;
260         this.prefixlen = prefixlen;
261         this.nexthop = nexthop;
262         this.ethtag = ethtag;
263         this.esi = esi;
264         this.macaddress = macaddress;
265         this.l3label = l3label;
266         this.l2label = l2label;
267         this.afi = afi;
268       }
269
270       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
271         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("onUpdateWithdrawRoute", org.apache.thrift.protocol.TMessageType.ONEWAY, 0));
272         onUpdateWithdrawRoute_args args = new onUpdateWithdrawRoute_args();
273         args.setP_type(p_type);
274         args.setRd(rd);
275         args.setPrefix(prefix);
276         args.setPrefixlen(prefixlen);
277         args.setNexthop(nexthop);
278         args.setEthtag(ethtag);
279         args.setEsi(esi);
280         args.setMacaddress(macaddress);
281         args.setL3label(l3label);
282         args.setL2label(l2label);
283         args.setAfi(afi);
284         args.write(prot);
285         prot.writeMessageEnd();
286       }
287
288       public void getResult() throws org.apache.thrift.TException {
289         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
290           throw new IllegalStateException("Method call not finished!");
291         }
292         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
293         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
294       }
295     }
296
297     public void onStartConfigResyncNotification(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
298       checkReady();
299       onStartConfigResyncNotification_call method_call = new onStartConfigResyncNotification_call(resultHandler, this, ___protocolFactory, ___transport);
300       this.___currentMethod = method_call;
301       ___manager.call(method_call);
302     }
303
304     public static class onStartConfigResyncNotification_call extends org.apache.thrift.async.TAsyncMethodCall {
305       public onStartConfigResyncNotification_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
306         super(client, protocolFactory, transport, resultHandler, true);
307       }
308
309       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
310         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("onStartConfigResyncNotification", org.apache.thrift.protocol.TMessageType.ONEWAY, 0));
311         onStartConfigResyncNotification_args args = new onStartConfigResyncNotification_args();
312         args.write(prot);
313         prot.writeMessageEnd();
314       }
315
316       public void getResult() throws org.apache.thrift.TException {
317         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
318           throw new IllegalStateException("Method call not finished!");
319         }
320         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
321         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
322       }
323     }
324
325     public void onNotificationSendEvent(String prefix, byte errCode, byte errSubcode, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
326       checkReady();
327       onNotificationSendEvent_call method_call = new onNotificationSendEvent_call(prefix, errCode, errSubcode, resultHandler, this, ___protocolFactory, ___transport);
328       this.___currentMethod = method_call;
329       ___manager.call(method_call);
330     }
331
332     public static class onNotificationSendEvent_call extends org.apache.thrift.async.TAsyncMethodCall {
333       private String prefix;
334       private byte errCode;
335       private byte errSubcode;
336       public onNotificationSendEvent_call(String prefix, byte errCode, byte errSubcode, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
337         super(client, protocolFactory, transport, resultHandler, true);
338         this.prefix = prefix;
339         this.errCode = errCode;
340         this.errSubcode = errSubcode;
341       }
342
343       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
344         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("onNotificationSendEvent", org.apache.thrift.protocol.TMessageType.ONEWAY, 0));
345         onNotificationSendEvent_args args = new onNotificationSendEvent_args();
346         args.setPrefix(prefix);
347         args.setErrCode(errCode);
348         args.setErrSubcode(errSubcode);
349         args.write(prot);
350         prot.writeMessageEnd();
351       }
352
353       public void getResult() throws org.apache.thrift.TException {
354         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
355           throw new IllegalStateException("Method call not finished!");
356         }
357         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
358         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
359       }
360     }
361
362   }
363
364   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
365     private static final Logger LOG = LoggerFactory.getLogger(Processor.class.getName());
366     public Processor(I iface) {
367       super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
368     }
369
370     protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
371       super(iface, getProcessMap(processMap));
372     }
373
374     private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
375       processMap.put("onUpdatePushRoute", new onUpdatePushRoute());
376       processMap.put("onUpdateWithdrawRoute", new onUpdateWithdrawRoute());
377       processMap.put("onStartConfigResyncNotification", new onStartConfigResyncNotification());
378       processMap.put("onNotificationSendEvent", new onNotificationSendEvent());
379       return processMap;
380     }
381
382     public static class onUpdatePushRoute<I extends Iface> extends org.apache.thrift.ProcessFunction<I, onUpdatePushRoute_args> {
383       public onUpdatePushRoute() {
384         super("onUpdatePushRoute");
385       }
386
387       public onUpdatePushRoute_args getEmptyArgsInstance() {
388         return new onUpdatePushRoute_args();
389       }
390
391       protected boolean isOneway() {
392         return true;
393       }
394
395       public org.apache.thrift.TBase getResult(I iface, onUpdatePushRoute_args args) throws org.apache.thrift.TException {
396         iface.onUpdatePushRoute(args.p_type, args.rd, args.prefix, args.prefixlen, args.nexthop, args.ethtag, args.esi, args.macaddress, args.l3label, args.l2label, args.routermac, args.afi);
397         return null;
398       }
399     }
400
401     public static class onUpdateWithdrawRoute<I extends Iface> extends org.apache.thrift.ProcessFunction<I, onUpdateWithdrawRoute_args> {
402       public onUpdateWithdrawRoute() {
403         super("onUpdateWithdrawRoute");
404       }
405
406       public onUpdateWithdrawRoute_args getEmptyArgsInstance() {
407         return new onUpdateWithdrawRoute_args();
408       }
409
410       protected boolean isOneway() {
411         return true;
412       }
413
414       public org.apache.thrift.TBase getResult(I iface, onUpdateWithdrawRoute_args args) throws org.apache.thrift.TException {
415         iface.onUpdateWithdrawRoute(args.p_type, args.rd, args.prefix, args.prefixlen, args.nexthop, args.ethtag, args.esi, args.macaddress, args.l3label, args.l2label, args.afi);
416         return null;
417       }
418     }
419
420     public static class onStartConfigResyncNotification<I extends Iface> extends org.apache.thrift.ProcessFunction<I, onStartConfigResyncNotification_args> {
421       public onStartConfigResyncNotification() {
422         super("onStartConfigResyncNotification");
423       }
424
425       public onStartConfigResyncNotification_args getEmptyArgsInstance() {
426         return new onStartConfigResyncNotification_args();
427       }
428
429       protected boolean isOneway() {
430         return true;
431       }
432
433       public org.apache.thrift.TBase getResult(I iface, onStartConfigResyncNotification_args args) throws org.apache.thrift.TException {
434         iface.onStartConfigResyncNotification();
435         return null;
436       }
437     }
438
439     public static class onNotificationSendEvent<I extends Iface> extends org.apache.thrift.ProcessFunction<I, onNotificationSendEvent_args> {
440       public onNotificationSendEvent() {
441         super("onNotificationSendEvent");
442       }
443
444       public onNotificationSendEvent_args getEmptyArgsInstance() {
445         return new onNotificationSendEvent_args();
446       }
447
448       protected boolean isOneway() {
449         return true;
450       }
451
452       public org.apache.thrift.TBase getResult(I iface, onNotificationSendEvent_args args) throws org.apache.thrift.TException {
453         iface.onNotificationSendEvent(args.prefix, args.errCode, args.errSubcode);
454         return null;
455       }
456     }
457
458   }
459
460   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
461     private static final Logger LOG = LoggerFactory.getLogger(AsyncProcessor.class.getName());
462     public AsyncProcessor(I iface) {
463       super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
464     }
465
466     protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
467       super(iface, getProcessMap(processMap));
468     }
469
470     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
471       processMap.put("onUpdatePushRoute", new onUpdatePushRoute());
472       processMap.put("onUpdateWithdrawRoute", new onUpdateWithdrawRoute());
473       processMap.put("onStartConfigResyncNotification", new onStartConfigResyncNotification());
474       processMap.put("onNotificationSendEvent", new onNotificationSendEvent());
475       return processMap;
476     }
477
478     public static class onUpdatePushRoute<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, onUpdatePushRoute_args, Void> {
479       public onUpdatePushRoute() {
480         super("onUpdatePushRoute");
481       }
482
483       public onUpdatePushRoute_args getEmptyArgsInstance() {
484         return new onUpdatePushRoute_args();
485       }
486
487       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
488         final org.apache.thrift.AsyncProcessFunction fcall = this;
489         return new AsyncMethodCallback<Void>() { 
490           public void onComplete(Void o) {
491           }
492           public void onError(Exception e) {
493           }
494         };
495       }
496
497       protected boolean isOneway() {
498         return true;
499       }
500
501       public void start(I iface, onUpdatePushRoute_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
502         iface.onUpdatePushRoute(args.p_type, args.rd, args.prefix, args.prefixlen, args.nexthop, args.ethtag, args.esi, args.macaddress, args.l3label, args.l2label, args.routermac, args.afi,resultHandler);
503       }
504     }
505
506     public static class onUpdateWithdrawRoute<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, onUpdateWithdrawRoute_args, Void> {
507       public onUpdateWithdrawRoute() {
508         super("onUpdateWithdrawRoute");
509       }
510
511       public onUpdateWithdrawRoute_args getEmptyArgsInstance() {
512         return new onUpdateWithdrawRoute_args();
513       }
514
515       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
516         final org.apache.thrift.AsyncProcessFunction fcall = this;
517         return new AsyncMethodCallback<Void>() { 
518           public void onComplete(Void o) {
519           }
520           public void onError(Exception e) {
521           }
522         };
523       }
524
525       protected boolean isOneway() {
526         return true;
527       }
528
529       public void start(I iface, onUpdateWithdrawRoute_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
530         iface.onUpdateWithdrawRoute(args.p_type, args.rd, args.prefix, args.prefixlen, args.nexthop, args.ethtag, args.esi, args.macaddress, args.l3label, args.l2label, args.afi,resultHandler);
531       }
532     }
533
534     public static class onStartConfigResyncNotification<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, onStartConfigResyncNotification_args, Void> {
535       public onStartConfigResyncNotification() {
536         super("onStartConfigResyncNotification");
537       }
538
539       public onStartConfigResyncNotification_args getEmptyArgsInstance() {
540         return new onStartConfigResyncNotification_args();
541       }
542
543       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
544         final org.apache.thrift.AsyncProcessFunction fcall = this;
545         return new AsyncMethodCallback<Void>() { 
546           public void onComplete(Void o) {
547           }
548           public void onError(Exception e) {
549           }
550         };
551       }
552
553       protected boolean isOneway() {
554         return true;
555       }
556
557       public void start(I iface, onStartConfigResyncNotification_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
558         iface.onStartConfigResyncNotification(resultHandler);
559       }
560     }
561
562     public static class onNotificationSendEvent<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, onNotificationSendEvent_args, Void> {
563       public onNotificationSendEvent() {
564         super("onNotificationSendEvent");
565       }
566
567       public onNotificationSendEvent_args getEmptyArgsInstance() {
568         return new onNotificationSendEvent_args();
569       }
570
571       public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
572         final org.apache.thrift.AsyncProcessFunction fcall = this;
573         return new AsyncMethodCallback<Void>() { 
574           public void onComplete(Void o) {
575           }
576           public void onError(Exception e) {
577           }
578         };
579       }
580
581       protected boolean isOneway() {
582         return true;
583       }
584
585       public void start(I iface, onNotificationSendEvent_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
586         iface.onNotificationSendEvent(args.prefix, args.errCode, args.errSubcode,resultHandler);
587       }
588     }
589
590   }
591
592   public static class onUpdatePushRoute_args implements org.apache.thrift.TBase<onUpdatePushRoute_args, onUpdatePushRoute_args._Fields>, java.io.Serializable, Cloneable, Comparable<onUpdatePushRoute_args>   {
593     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("onUpdatePushRoute_args");
594
595     private static final org.apache.thrift.protocol.TField P_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("p_type", org.apache.thrift.protocol.TType.I32, (short)1);
596     private static final org.apache.thrift.protocol.TField RD_FIELD_DESC = new org.apache.thrift.protocol.TField("rd", org.apache.thrift.protocol.TType.STRING, (short)2);
597     private static final org.apache.thrift.protocol.TField PREFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("prefix", org.apache.thrift.protocol.TType.STRING, (short)3);
598     private static final org.apache.thrift.protocol.TField PREFIXLEN_FIELD_DESC = new org.apache.thrift.protocol.TField("prefixlen", org.apache.thrift.protocol.TType.I32, (short)4);
599     private static final org.apache.thrift.protocol.TField NEXTHOP_FIELD_DESC = new org.apache.thrift.protocol.TField("nexthop", org.apache.thrift.protocol.TType.STRING, (short)5);
600     private static final org.apache.thrift.protocol.TField ETHTAG_FIELD_DESC = new org.apache.thrift.protocol.TField("ethtag", org.apache.thrift.protocol.TType.I32, (short)6);
601     private static final org.apache.thrift.protocol.TField ESI_FIELD_DESC = new org.apache.thrift.protocol.TField("esi", org.apache.thrift.protocol.TType.STRING, (short)7);
602     private static final org.apache.thrift.protocol.TField MACADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("macaddress", org.apache.thrift.protocol.TType.STRING, (short)8);
603     private static final org.apache.thrift.protocol.TField L3LABEL_FIELD_DESC = new org.apache.thrift.protocol.TField("l3label", org.apache.thrift.protocol.TType.I32, (short)9);
604     private static final org.apache.thrift.protocol.TField L2LABEL_FIELD_DESC = new org.apache.thrift.protocol.TField("l2label", org.apache.thrift.protocol.TType.I32, (short)10);
605     private static final org.apache.thrift.protocol.TField ROUTERMAC_FIELD_DESC = new org.apache.thrift.protocol.TField("routermac", org.apache.thrift.protocol.TType.STRING, (short)11);
606     private static final org.apache.thrift.protocol.TField AFI_FIELD_DESC = new org.apache.thrift.protocol.TField("afi", org.apache.thrift.protocol.TType.I32, (short)12);
607
608     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
609     static {
610       schemes.put(StandardScheme.class, new onUpdatePushRoute_argsStandardSchemeFactory());
611       schemes.put(TupleScheme.class, new onUpdatePushRoute_argsTupleSchemeFactory());
612     }
613
614     /**
615      * 
616      * @see protocol_type
617      */
618     public protocol_type p_type; // required
619     public String rd; // required
620     public String prefix; // required
621     public int prefixlen; // required
622     public String nexthop; // required
623     public int ethtag; // required
624     public String esi; // required
625     public String macaddress; // required
626     public int l3label; // required
627     public int l2label; // required
628     public String routermac; // required
629     /**
630      * 
631      * @see af_afi
632      */
633     public af_afi afi; // required
634
635     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
636     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
637       /**
638        * 
639        * @see protocol_type
640        */
641       P_TYPE((short)1, "p_type"),
642       RD((short)2, "rd"),
643       PREFIX((short)3, "prefix"),
644       PREFIXLEN((short)4, "prefixlen"),
645       NEXTHOP((short)5, "nexthop"),
646       ETHTAG((short)6, "ethtag"),
647       ESI((short)7, "esi"),
648       MACADDRESS((short)8, "macaddress"),
649       L3LABEL((short)9, "l3label"),
650       L2LABEL((short)10, "l2label"),
651       ROUTERMAC((short)11, "routermac"),
652       /**
653        * 
654        * @see af_afi
655        */
656       AFI((short)12, "afi");
657
658       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
659
660       static {
661         for (_Fields field : EnumSet.allOf(_Fields.class)) {
662           byName.put(field.getFieldName(), field);
663         }
664       }
665
666       /**
667        * Find the _Fields constant that matches fieldId, or null if its not found.
668        */
669       public static _Fields findByThriftId(int fieldId) {
670         switch(fieldId) {
671           case 1: // P_TYPE
672             return P_TYPE;
673           case 2: // RD
674             return RD;
675           case 3: // PREFIX
676             return PREFIX;
677           case 4: // PREFIXLEN
678             return PREFIXLEN;
679           case 5: // NEXTHOP
680             return NEXTHOP;
681           case 6: // ETHTAG
682             return ETHTAG;
683           case 7: // ESI
684             return ESI;
685           case 8: // MACADDRESS
686             return MACADDRESS;
687           case 9: // L3LABEL
688             return L3LABEL;
689           case 10: // L2LABEL
690             return L2LABEL;
691           case 11: // ROUTERMAC
692             return ROUTERMAC;
693           case 12: // AFI
694             return AFI;
695           default:
696             return null;
697         }
698       }
699
700       /**
701        * Find the _Fields constant that matches fieldId, throwing an exception
702        * if it is not found.
703        */
704       public static _Fields findByThriftIdOrThrow(int fieldId) {
705         _Fields fields = findByThriftId(fieldId);
706         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
707         return fields;
708       }
709
710       /**
711        * Find the _Fields constant that matches name, or null if its not found.
712        */
713       public static _Fields findByName(String name) {
714         return byName.get(name);
715       }
716
717       private final short _thriftId;
718       private final String _fieldName;
719
720       _Fields(short thriftId, String fieldName) {
721         _thriftId = thriftId;
722         _fieldName = fieldName;
723       }
724
725       public short getThriftFieldId() {
726         return _thriftId;
727       }
728
729       public String getFieldName() {
730         return _fieldName;
731       }
732     }
733
734     // isset id assignments
735     private static final int __PREFIXLEN_ISSET_ID = 0;
736     private static final int __ETHTAG_ISSET_ID = 1;
737     private static final int __L3LABEL_ISSET_ID = 2;
738     private static final int __L2LABEL_ISSET_ID = 3;
739     private byte __isset_bitfield = 0;
740     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
741     static {
742       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
743       tmpMap.put(_Fields.P_TYPE, new org.apache.thrift.meta_data.FieldMetaData("p_type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
744           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, protocol_type.class)));
745       tmpMap.put(_Fields.RD, new org.apache.thrift.meta_data.FieldMetaData("rd", org.apache.thrift.TFieldRequirementType.DEFAULT, 
746           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
747       tmpMap.put(_Fields.PREFIX, new org.apache.thrift.meta_data.FieldMetaData("prefix", org.apache.thrift.TFieldRequirementType.DEFAULT, 
748           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
749       tmpMap.put(_Fields.PREFIXLEN, new org.apache.thrift.meta_data.FieldMetaData("prefixlen", org.apache.thrift.TFieldRequirementType.DEFAULT, 
750           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
751       tmpMap.put(_Fields.NEXTHOP, new org.apache.thrift.meta_data.FieldMetaData("nexthop", org.apache.thrift.TFieldRequirementType.DEFAULT, 
752           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
753       tmpMap.put(_Fields.ETHTAG, new org.apache.thrift.meta_data.FieldMetaData("ethtag", org.apache.thrift.TFieldRequirementType.DEFAULT, 
754           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
755       tmpMap.put(_Fields.ESI, new org.apache.thrift.meta_data.FieldMetaData("esi", org.apache.thrift.TFieldRequirementType.DEFAULT, 
756           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
757       tmpMap.put(_Fields.MACADDRESS, new org.apache.thrift.meta_data.FieldMetaData("macaddress", org.apache.thrift.TFieldRequirementType.DEFAULT, 
758           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
759       tmpMap.put(_Fields.L3LABEL, new org.apache.thrift.meta_data.FieldMetaData("l3label", org.apache.thrift.TFieldRequirementType.DEFAULT, 
760           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
761       tmpMap.put(_Fields.L2LABEL, new org.apache.thrift.meta_data.FieldMetaData("l2label", org.apache.thrift.TFieldRequirementType.DEFAULT, 
762           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
763       tmpMap.put(_Fields.ROUTERMAC, new org.apache.thrift.meta_data.FieldMetaData("routermac", org.apache.thrift.TFieldRequirementType.DEFAULT, 
764           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
765       tmpMap.put(_Fields.AFI, new org.apache.thrift.meta_data.FieldMetaData("afi", org.apache.thrift.TFieldRequirementType.DEFAULT, 
766           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, af_afi.class)));
767       metaDataMap = Collections.unmodifiableMap(tmpMap);
768       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(onUpdatePushRoute_args.class, metaDataMap);
769     }
770
771     public onUpdatePushRoute_args() {
772     }
773
774     public onUpdatePushRoute_args(
775       protocol_type p_type,
776       String rd,
777       String prefix,
778       int prefixlen,
779       String nexthop,
780       int ethtag,
781       String esi,
782       String macaddress,
783       int l3label,
784       int l2label,
785       String routermac,
786       af_afi afi)
787     {
788       this();
789       this.p_type = p_type;
790       this.rd = rd;
791       this.prefix = prefix;
792       this.prefixlen = prefixlen;
793       setPrefixlenIsSet(true);
794       this.nexthop = nexthop;
795       this.ethtag = ethtag;
796       setEthtagIsSet(true);
797       this.esi = esi;
798       this.macaddress = macaddress;
799       this.l3label = l3label;
800       setL3labelIsSet(true);
801       this.l2label = l2label;
802       setL2labelIsSet(true);
803       this.routermac = routermac;
804       this.afi = afi;
805     }
806
807     /**
808      * Performs a deep copy on <i>other</i>.
809      */
810     public onUpdatePushRoute_args(onUpdatePushRoute_args other) {
811       __isset_bitfield = other.__isset_bitfield;
812       if (other.isSetP_type()) {
813         this.p_type = other.p_type;
814       }
815       if (other.isSetRd()) {
816         this.rd = other.rd;
817       }
818       if (other.isSetPrefix()) {
819         this.prefix = other.prefix;
820       }
821       this.prefixlen = other.prefixlen;
822       if (other.isSetNexthop()) {
823         this.nexthop = other.nexthop;
824       }
825       this.ethtag = other.ethtag;
826       if (other.isSetEsi()) {
827         this.esi = other.esi;
828       }
829       if (other.isSetMacaddress()) {
830         this.macaddress = other.macaddress;
831       }
832       this.l3label = other.l3label;
833       this.l2label = other.l2label;
834       if (other.isSetRoutermac()) {
835         this.routermac = other.routermac;
836       }
837       if (other.isSetAfi()) {
838         this.afi = other.afi;
839       }
840     }
841
842     public onUpdatePushRoute_args deepCopy() {
843       return new onUpdatePushRoute_args(this);
844     }
845
846     @Override
847     public void clear() {
848       this.p_type = null;
849       this.rd = null;
850       this.prefix = null;
851       setPrefixlenIsSet(false);
852       this.prefixlen = 0;
853       this.nexthop = null;
854       setEthtagIsSet(false);
855       this.ethtag = 0;
856       this.esi = null;
857       this.macaddress = null;
858       setL3labelIsSet(false);
859       this.l3label = 0;
860       setL2labelIsSet(false);
861       this.l2label = 0;
862       this.routermac = null;
863       this.afi = null;
864     }
865
866     /**
867      * 
868      * @see protocol_type
869      */
870     public protocol_type getP_type() {
871       return this.p_type;
872     }
873
874     /**
875      * 
876      * @see protocol_type
877      */
878     public onUpdatePushRoute_args setP_type(protocol_type p_type) {
879       this.p_type = p_type;
880       return this;
881     }
882
883     public void unsetP_type() {
884       this.p_type = null;
885     }
886
887     /** Returns true if field p_type is set (has been assigned a value) and false otherwise */
888     public boolean isSetP_type() {
889       return this.p_type != null;
890     }
891
892     public void setP_typeIsSet(boolean value) {
893       if (!value) {
894         this.p_type = null;
895       }
896     }
897
898     public String getRd() {
899       return this.rd;
900     }
901
902     public onUpdatePushRoute_args setRd(String rd) {
903       this.rd = rd;
904       return this;
905     }
906
907     public void unsetRd() {
908       this.rd = null;
909     }
910
911     /** Returns true if field rd is set (has been assigned a value) and false otherwise */
912     public boolean isSetRd() {
913       return this.rd != null;
914     }
915
916     public void setRdIsSet(boolean value) {
917       if (!value) {
918         this.rd = null;
919       }
920     }
921
922     public String getPrefix() {
923       return this.prefix;
924     }
925
926     public onUpdatePushRoute_args setPrefix(String prefix) {
927       this.prefix = prefix;
928       return this;
929     }
930
931     public void unsetPrefix() {
932       this.prefix = null;
933     }
934
935     /** Returns true if field prefix is set (has been assigned a value) and false otherwise */
936     public boolean isSetPrefix() {
937       return this.prefix != null;
938     }
939
940     public void setPrefixIsSet(boolean value) {
941       if (!value) {
942         this.prefix = null;
943       }
944     }
945
946     public int getPrefixlen() {
947       return this.prefixlen;
948     }
949
950     public onUpdatePushRoute_args setPrefixlen(int prefixlen) {
951       this.prefixlen = prefixlen;
952       setPrefixlenIsSet(true);
953       return this;
954     }
955
956     public void unsetPrefixlen() {
957       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PREFIXLEN_ISSET_ID);
958     }
959
960     /** Returns true if field prefixlen is set (has been assigned a value) and false otherwise */
961     public boolean isSetPrefixlen() {
962       return EncodingUtils.testBit(__isset_bitfield, __PREFIXLEN_ISSET_ID);
963     }
964
965     public void setPrefixlenIsSet(boolean value) {
966       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PREFIXLEN_ISSET_ID, value);
967     }
968
969     public String getNexthop() {
970       return this.nexthop;
971     }
972
973     public onUpdatePushRoute_args setNexthop(String nexthop) {
974       this.nexthop = nexthop;
975       return this;
976     }
977
978     public void unsetNexthop() {
979       this.nexthop = null;
980     }
981
982     /** Returns true if field nexthop is set (has been assigned a value) and false otherwise */
983     public boolean isSetNexthop() {
984       return this.nexthop != null;
985     }
986
987     public void setNexthopIsSet(boolean value) {
988       if (!value) {
989         this.nexthop = null;
990       }
991     }
992
993     public int getEthtag() {
994       return this.ethtag;
995     }
996
997     public onUpdatePushRoute_args setEthtag(int ethtag) {
998       this.ethtag = ethtag;
999       setEthtagIsSet(true);
1000       return this;
1001     }
1002
1003     public void unsetEthtag() {
1004       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ETHTAG_ISSET_ID);
1005     }
1006
1007     /** Returns true if field ethtag is set (has been assigned a value) and false otherwise */
1008     public boolean isSetEthtag() {
1009       return EncodingUtils.testBit(__isset_bitfield, __ETHTAG_ISSET_ID);
1010     }
1011
1012     public void setEthtagIsSet(boolean value) {
1013       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ETHTAG_ISSET_ID, value);
1014     }
1015
1016     public String getEsi() {
1017       return this.esi;
1018     }
1019
1020     public onUpdatePushRoute_args setEsi(String esi) {
1021       this.esi = esi;
1022       return this;
1023     }
1024
1025     public void unsetEsi() {
1026       this.esi = null;
1027     }
1028
1029     /** Returns true if field esi is set (has been assigned a value) and false otherwise */
1030     public boolean isSetEsi() {
1031       return this.esi != null;
1032     }
1033
1034     public void setEsiIsSet(boolean value) {
1035       if (!value) {
1036         this.esi = null;
1037       }
1038     }
1039
1040     public String getMacaddress() {
1041       return this.macaddress;
1042     }
1043
1044     public onUpdatePushRoute_args setMacaddress(String macaddress) {
1045       this.macaddress = macaddress;
1046       return this;
1047     }
1048
1049     public void unsetMacaddress() {
1050       this.macaddress = null;
1051     }
1052
1053     /** Returns true if field macaddress is set (has been assigned a value) and false otherwise */
1054     public boolean isSetMacaddress() {
1055       return this.macaddress != null;
1056     }
1057
1058     public void setMacaddressIsSet(boolean value) {
1059       if (!value) {
1060         this.macaddress = null;
1061       }
1062     }
1063
1064     public int getL3label() {
1065       return this.l3label;
1066     }
1067
1068     public onUpdatePushRoute_args setL3label(int l3label) {
1069       this.l3label = l3label;
1070       setL3labelIsSet(true);
1071       return this;
1072     }
1073
1074     public void unsetL3label() {
1075       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __L3LABEL_ISSET_ID);
1076     }
1077
1078     /** Returns true if field l3label is set (has been assigned a value) and false otherwise */
1079     public boolean isSetL3label() {
1080       return EncodingUtils.testBit(__isset_bitfield, __L3LABEL_ISSET_ID);
1081     }
1082
1083     public void setL3labelIsSet(boolean value) {
1084       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __L3LABEL_ISSET_ID, value);
1085     }
1086
1087     public int getL2label() {
1088       return this.l2label;
1089     }
1090
1091     public onUpdatePushRoute_args setL2label(int l2label) {
1092       this.l2label = l2label;
1093       setL2labelIsSet(true);
1094       return this;
1095     }
1096
1097     public void unsetL2label() {
1098       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __L2LABEL_ISSET_ID);
1099     }
1100
1101     /** Returns true if field l2label is set (has been assigned a value) and false otherwise */
1102     public boolean isSetL2label() {
1103       return EncodingUtils.testBit(__isset_bitfield, __L2LABEL_ISSET_ID);
1104     }
1105
1106     public void setL2labelIsSet(boolean value) {
1107       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __L2LABEL_ISSET_ID, value);
1108     }
1109
1110     public String getRoutermac() {
1111       return this.routermac;
1112     }
1113
1114     public onUpdatePushRoute_args setRoutermac(String routermac) {
1115       this.routermac = routermac;
1116       return this;
1117     }
1118
1119     public void unsetRoutermac() {
1120       this.routermac = null;
1121     }
1122
1123     /** Returns true if field routermac is set (has been assigned a value) and false otherwise */
1124     public boolean isSetRoutermac() {
1125       return this.routermac != null;
1126     }
1127
1128     public void setRoutermacIsSet(boolean value) {
1129       if (!value) {
1130         this.routermac = null;
1131       }
1132     }
1133
1134     /**
1135      * 
1136      * @see af_afi
1137      */
1138     public af_afi getAfi() {
1139       return this.afi;
1140     }
1141
1142     /**
1143      * 
1144      * @see af_afi
1145      */
1146     public onUpdatePushRoute_args setAfi(af_afi afi) {
1147       this.afi = afi;
1148       return this;
1149     }
1150
1151     public void unsetAfi() {
1152       this.afi = null;
1153     }
1154
1155     /** Returns true if field afi is set (has been assigned a value) and false otherwise */
1156     public boolean isSetAfi() {
1157       return this.afi != null;
1158     }
1159
1160     public void setAfiIsSet(boolean value) {
1161       if (!value) {
1162         this.afi = null;
1163       }
1164     }
1165
1166     public void setFieldValue(_Fields field, Object value) {
1167       switch (field) {
1168       case P_TYPE:
1169         if (value == null) {
1170           unsetP_type();
1171         } else {
1172           setP_type((protocol_type)value);
1173         }
1174         break;
1175
1176       case RD:
1177         if (value == null) {
1178           unsetRd();
1179         } else {
1180           setRd((String)value);
1181         }
1182         break;
1183
1184       case PREFIX:
1185         if (value == null) {
1186           unsetPrefix();
1187         } else {
1188           setPrefix((String)value);
1189         }
1190         break;
1191
1192       case PREFIXLEN:
1193         if (value == null) {
1194           unsetPrefixlen();
1195         } else {
1196           setPrefixlen((Integer)value);
1197         }
1198         break;
1199
1200       case NEXTHOP:
1201         if (value == null) {
1202           unsetNexthop();
1203         } else {
1204           setNexthop((String)value);
1205         }
1206         break;
1207
1208       case ETHTAG:
1209         if (value == null) {
1210           unsetEthtag();
1211         } else {
1212           setEthtag((Integer)value);
1213         }
1214         break;
1215
1216       case ESI:
1217         if (value == null) {
1218           unsetEsi();
1219         } else {
1220           setEsi((String)value);
1221         }
1222         break;
1223
1224       case MACADDRESS:
1225         if (value == null) {
1226           unsetMacaddress();
1227         } else {
1228           setMacaddress((String)value);
1229         }
1230         break;
1231
1232       case L3LABEL:
1233         if (value == null) {
1234           unsetL3label();
1235         } else {
1236           setL3label((Integer)value);
1237         }
1238         break;
1239
1240       case L2LABEL:
1241         if (value == null) {
1242           unsetL2label();
1243         } else {
1244           setL2label((Integer)value);
1245         }
1246         break;
1247
1248       case ROUTERMAC:
1249         if (value == null) {
1250           unsetRoutermac();
1251         } else {
1252           setRoutermac((String)value);
1253         }
1254         break;
1255
1256       case AFI:
1257         if (value == null) {
1258           unsetAfi();
1259         } else {
1260           setAfi((af_afi)value);
1261         }
1262         break;
1263
1264       }
1265     }
1266
1267     public Object getFieldValue(_Fields field) {
1268       switch (field) {
1269       case P_TYPE:
1270         return getP_type();
1271
1272       case RD:
1273         return getRd();
1274
1275       case PREFIX:
1276         return getPrefix();
1277
1278       case PREFIXLEN:
1279         return Integer.valueOf(getPrefixlen());
1280
1281       case NEXTHOP:
1282         return getNexthop();
1283
1284       case ETHTAG:
1285         return Integer.valueOf(getEthtag());
1286
1287       case ESI:
1288         return getEsi();
1289
1290       case MACADDRESS:
1291         return getMacaddress();
1292
1293       case L3LABEL:
1294         return Integer.valueOf(getL3label());
1295
1296       case L2LABEL:
1297         return Integer.valueOf(getL2label());
1298
1299       case ROUTERMAC:
1300         return getRoutermac();
1301
1302       case AFI:
1303         return getAfi();
1304
1305       }
1306       throw new IllegalStateException();
1307     }
1308
1309     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
1310     public boolean isSet(_Fields field) {
1311       if (field == null) {
1312         throw new IllegalArgumentException();
1313       }
1314
1315       switch (field) {
1316       case P_TYPE:
1317         return isSetP_type();
1318       case RD:
1319         return isSetRd();
1320       case PREFIX:
1321         return isSetPrefix();
1322       case PREFIXLEN:
1323         return isSetPrefixlen();
1324       case NEXTHOP:
1325         return isSetNexthop();
1326       case ETHTAG:
1327         return isSetEthtag();
1328       case ESI:
1329         return isSetEsi();
1330       case MACADDRESS:
1331         return isSetMacaddress();
1332       case L3LABEL:
1333         return isSetL3label();
1334       case L2LABEL:
1335         return isSetL2label();
1336       case ROUTERMAC:
1337         return isSetRoutermac();
1338       case AFI:
1339         return isSetAfi();
1340       }
1341       throw new IllegalStateException();
1342     }
1343
1344     @Override
1345     public boolean equals(Object that) {
1346       if (that == null)
1347         return false;
1348       if (that instanceof onUpdatePushRoute_args)
1349         return this.equals((onUpdatePushRoute_args)that);
1350       return false;
1351     }
1352
1353     public boolean equals(onUpdatePushRoute_args that) {
1354       if (that == null)
1355         return false;
1356
1357       boolean this_present_p_type = true && this.isSetP_type();
1358       boolean that_present_p_type = true && that.isSetP_type();
1359       if (this_present_p_type || that_present_p_type) {
1360         if (!(this_present_p_type && that_present_p_type))
1361           return false;
1362         if (!this.p_type.equals(that.p_type))
1363           return false;
1364       }
1365
1366       boolean this_present_rd = true && this.isSetRd();
1367       boolean that_present_rd = true && that.isSetRd();
1368       if (this_present_rd || that_present_rd) {
1369         if (!(this_present_rd && that_present_rd))
1370           return false;
1371         if (!this.rd.equals(that.rd))
1372           return false;
1373       }
1374
1375       boolean this_present_prefix = true && this.isSetPrefix();
1376       boolean that_present_prefix = true && that.isSetPrefix();
1377       if (this_present_prefix || that_present_prefix) {
1378         if (!(this_present_prefix && that_present_prefix))
1379           return false;
1380         if (!this.prefix.equals(that.prefix))
1381           return false;
1382       }
1383
1384       boolean this_present_prefixlen = true;
1385       boolean that_present_prefixlen = true;
1386       if (this_present_prefixlen || that_present_prefixlen) {
1387         if (!(this_present_prefixlen && that_present_prefixlen))
1388           return false;
1389         if (this.prefixlen != that.prefixlen)
1390           return false;
1391       }
1392
1393       boolean this_present_nexthop = true && this.isSetNexthop();
1394       boolean that_present_nexthop = true && that.isSetNexthop();
1395       if (this_present_nexthop || that_present_nexthop) {
1396         if (!(this_present_nexthop && that_present_nexthop))
1397           return false;
1398         if (!this.nexthop.equals(that.nexthop))
1399           return false;
1400       }
1401
1402       boolean this_present_ethtag = true;
1403       boolean that_present_ethtag = true;
1404       if (this_present_ethtag || that_present_ethtag) {
1405         if (!(this_present_ethtag && that_present_ethtag))
1406           return false;
1407         if (this.ethtag != that.ethtag)
1408           return false;
1409       }
1410
1411       boolean this_present_esi = true && this.isSetEsi();
1412       boolean that_present_esi = true && that.isSetEsi();
1413       if (this_present_esi || that_present_esi) {
1414         if (!(this_present_esi && that_present_esi))
1415           return false;
1416         if (!this.esi.equals(that.esi))
1417           return false;
1418       }
1419
1420       boolean this_present_macaddress = true && this.isSetMacaddress();
1421       boolean that_present_macaddress = true && that.isSetMacaddress();
1422       if (this_present_macaddress || that_present_macaddress) {
1423         if (!(this_present_macaddress && that_present_macaddress))
1424           return false;
1425         if (!this.macaddress.equals(that.macaddress))
1426           return false;
1427       }
1428
1429       boolean this_present_l3label = true;
1430       boolean that_present_l3label = true;
1431       if (this_present_l3label || that_present_l3label) {
1432         if (!(this_present_l3label && that_present_l3label))
1433           return false;
1434         if (this.l3label != that.l3label)
1435           return false;
1436       }
1437
1438       boolean this_present_l2label = true;
1439       boolean that_present_l2label = true;
1440       if (this_present_l2label || that_present_l2label) {
1441         if (!(this_present_l2label && that_present_l2label))
1442           return false;
1443         if (this.l2label != that.l2label)
1444           return false;
1445       }
1446
1447       boolean this_present_routermac = true && this.isSetRoutermac();
1448       boolean that_present_routermac = true && that.isSetRoutermac();
1449       if (this_present_routermac || that_present_routermac) {
1450         if (!(this_present_routermac && that_present_routermac))
1451           return false;
1452         if (!this.routermac.equals(that.routermac))
1453           return false;
1454       }
1455
1456       boolean this_present_afi = true && this.isSetAfi();
1457       boolean that_present_afi = true && that.isSetAfi();
1458       if (this_present_afi || that_present_afi) {
1459         if (!(this_present_afi && that_present_afi))
1460           return false;
1461         if (!this.afi.equals(that.afi))
1462           return false;
1463       }
1464
1465       return true;
1466     }
1467
1468     @Override
1469     public int hashCode() {
1470       List<Object> list = new ArrayList<Object>();
1471       boolean present_p_type = true && (isSetP_type());
1472       list.add(present_p_type);
1473       if (present_p_type)
1474         list.add(p_type.getValue());
1475       boolean present_rd = true && (isSetRd());
1476       list.add(present_rd);
1477       if (present_rd)
1478         list.add(rd);
1479       boolean present_prefix = true && (isSetPrefix());
1480       list.add(present_prefix);
1481       if (present_prefix)
1482         list.add(prefix);
1483       boolean present_prefixlen = true;
1484       list.add(present_prefixlen);
1485       if (present_prefixlen)
1486         list.add(prefixlen);
1487       boolean present_nexthop = true && (isSetNexthop());
1488       list.add(present_nexthop);
1489       if (present_nexthop)
1490         list.add(nexthop);
1491       boolean present_ethtag = true;
1492       list.add(present_ethtag);
1493       if (present_ethtag)
1494         list.add(ethtag);
1495       boolean present_esi = true && (isSetEsi());
1496       list.add(present_esi);
1497       if (present_esi)
1498         list.add(esi);
1499       boolean present_macaddress = true && (isSetMacaddress());
1500       list.add(present_macaddress);
1501       if (present_macaddress)
1502         list.add(macaddress);
1503       boolean present_l3label = true;
1504       list.add(present_l3label);
1505       if (present_l3label)
1506         list.add(l3label);
1507       boolean present_l2label = true;
1508       list.add(present_l2label);
1509       if (present_l2label)
1510         list.add(l2label);
1511       boolean present_routermac = true && (isSetRoutermac());
1512       list.add(present_routermac);
1513       if (present_routermac)
1514         list.add(routermac);
1515       boolean present_afi = true && (isSetAfi());
1516       list.add(present_afi);
1517       if (present_afi)
1518         list.add(afi.getValue());
1519       return list.hashCode();
1520     }
1521
1522     @Override
1523     public int compareTo(onUpdatePushRoute_args other) {
1524       if (!getClass().equals(other.getClass())) {
1525         return getClass().getName().compareTo(other.getClass().getName());
1526       }
1527
1528       int lastComparison = 0;
1529
1530       lastComparison = Boolean.valueOf(isSetP_type()).compareTo(other.isSetP_type());
1531       if (lastComparison != 0) {
1532         return lastComparison;
1533       }
1534       if (isSetP_type()) {
1535         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p_type, other.p_type);
1536         if (lastComparison != 0) {
1537           return lastComparison;
1538         }
1539       }
1540       lastComparison = Boolean.valueOf(isSetRd()).compareTo(other.isSetRd());
1541       if (lastComparison != 0) {
1542         return lastComparison;
1543       }
1544       if (isSetRd()) {
1545         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rd, other.rd);
1546         if (lastComparison != 0) {
1547           return lastComparison;
1548         }
1549       }
1550       lastComparison = Boolean.valueOf(isSetPrefix()).compareTo(other.isSetPrefix());
1551       if (lastComparison != 0) {
1552         return lastComparison;
1553       }
1554       if (isSetPrefix()) {
1555         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prefix, other.prefix);
1556         if (lastComparison != 0) {
1557           return lastComparison;
1558         }
1559       }
1560       lastComparison = Boolean.valueOf(isSetPrefixlen()).compareTo(other.isSetPrefixlen());
1561       if (lastComparison != 0) {
1562         return lastComparison;
1563       }
1564       if (isSetPrefixlen()) {
1565         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prefixlen, other.prefixlen);
1566         if (lastComparison != 0) {
1567           return lastComparison;
1568         }
1569       }
1570       lastComparison = Boolean.valueOf(isSetNexthop()).compareTo(other.isSetNexthop());
1571       if (lastComparison != 0) {
1572         return lastComparison;
1573       }
1574       if (isSetNexthop()) {
1575         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nexthop, other.nexthop);
1576         if (lastComparison != 0) {
1577           return lastComparison;
1578         }
1579       }
1580       lastComparison = Boolean.valueOf(isSetEthtag()).compareTo(other.isSetEthtag());
1581       if (lastComparison != 0) {
1582         return lastComparison;
1583       }
1584       if (isSetEthtag()) {
1585         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ethtag, other.ethtag);
1586         if (lastComparison != 0) {
1587           return lastComparison;
1588         }
1589       }
1590       lastComparison = Boolean.valueOf(isSetEsi()).compareTo(other.isSetEsi());
1591       if (lastComparison != 0) {
1592         return lastComparison;
1593       }
1594       if (isSetEsi()) {
1595         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.esi, other.esi);
1596         if (lastComparison != 0) {
1597           return lastComparison;
1598         }
1599       }
1600       lastComparison = Boolean.valueOf(isSetMacaddress()).compareTo(other.isSetMacaddress());
1601       if (lastComparison != 0) {
1602         return lastComparison;
1603       }
1604       if (isSetMacaddress()) {
1605         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.macaddress, other.macaddress);
1606         if (lastComparison != 0) {
1607           return lastComparison;
1608         }
1609       }
1610       lastComparison = Boolean.valueOf(isSetL3label()).compareTo(other.isSetL3label());
1611       if (lastComparison != 0) {
1612         return lastComparison;
1613       }
1614       if (isSetL3label()) {
1615         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l3label, other.l3label);
1616         if (lastComparison != 0) {
1617           return lastComparison;
1618         }
1619       }
1620       lastComparison = Boolean.valueOf(isSetL2label()).compareTo(other.isSetL2label());
1621       if (lastComparison != 0) {
1622         return lastComparison;
1623       }
1624       if (isSetL2label()) {
1625         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l2label, other.l2label);
1626         if (lastComparison != 0) {
1627           return lastComparison;
1628         }
1629       }
1630       lastComparison = Boolean.valueOf(isSetRoutermac()).compareTo(other.isSetRoutermac());
1631       if (lastComparison != 0) {
1632         return lastComparison;
1633       }
1634       if (isSetRoutermac()) {
1635         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.routermac, other.routermac);
1636         if (lastComparison != 0) {
1637           return lastComparison;
1638         }
1639       }
1640       lastComparison = Boolean.valueOf(isSetAfi()).compareTo(other.isSetAfi());
1641       if (lastComparison != 0) {
1642         return lastComparison;
1643       }
1644       if (isSetAfi()) {
1645         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.afi, other.afi);
1646         if (lastComparison != 0) {
1647           return lastComparison;
1648         }
1649       }
1650       return 0;
1651     }
1652
1653     public _Fields fieldForId(int fieldId) {
1654       return _Fields.findByThriftId(fieldId);
1655     }
1656
1657     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
1658       schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
1659     }
1660
1661     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
1662       schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
1663     }
1664
1665     @Override
1666     public String toString() {
1667       StringBuilder sb = new StringBuilder("onUpdatePushRoute_args(");
1668       boolean first = true;
1669
1670       sb.append("p_type:");
1671       if (this.p_type == null) {
1672         sb.append("null");
1673       } else {
1674         sb.append(this.p_type);
1675       }
1676       first = false;
1677       if (!first) sb.append(", ");
1678       sb.append("rd:");
1679       if (this.rd == null) {
1680         sb.append("null");
1681       } else {
1682         sb.append(this.rd);
1683       }
1684       first = false;
1685       if (!first) sb.append(", ");
1686       sb.append("prefix:");
1687       if (this.prefix == null) {
1688         sb.append("null");
1689       } else {
1690         sb.append(this.prefix);
1691       }
1692       first = false;
1693       if (!first) sb.append(", ");
1694       sb.append("prefixlen:");
1695       sb.append(this.prefixlen);
1696       first = false;
1697       if (!first) sb.append(", ");
1698       sb.append("nexthop:");
1699       if (this.nexthop == null) {
1700         sb.append("null");
1701       } else {
1702         sb.append(this.nexthop);
1703       }
1704       first = false;
1705       if (!first) sb.append(", ");
1706       sb.append("ethtag:");
1707       sb.append(this.ethtag);
1708       first = false;
1709       if (!first) sb.append(", ");
1710       sb.append("esi:");
1711       if (this.esi == null) {
1712         sb.append("null");
1713       } else {
1714         sb.append(this.esi);
1715       }
1716       first = false;
1717       if (!first) sb.append(", ");
1718       sb.append("macaddress:");
1719       if (this.macaddress == null) {
1720         sb.append("null");
1721       } else {
1722         sb.append(this.macaddress);
1723       }
1724       first = false;
1725       if (!first) sb.append(", ");
1726       sb.append("l3label:");
1727       sb.append(this.l3label);
1728       first = false;
1729       if (!first) sb.append(", ");
1730       sb.append("l2label:");
1731       sb.append(this.l2label);
1732       first = false;
1733       if (!first) sb.append(", ");
1734       sb.append("routermac:");
1735       if (this.routermac == null) {
1736         sb.append("null");
1737       } else {
1738         sb.append(this.routermac);
1739       }
1740       first = false;
1741       if (!first) sb.append(", ");
1742       sb.append("afi:");
1743       if (this.afi == null) {
1744         sb.append("null");
1745       } else {
1746         sb.append(this.afi);
1747       }
1748       first = false;
1749       sb.append(")");
1750       return sb.toString();
1751     }
1752
1753     public void validate() throws org.apache.thrift.TException {
1754       // check for required fields
1755       // check for sub-struct validity
1756     }
1757
1758     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
1759       try {
1760         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
1761       } catch (org.apache.thrift.TException te) {
1762         throw new java.io.IOException(te);
1763       }
1764     }
1765
1766     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
1767       try {
1768         // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
1769         __isset_bitfield = 0;
1770         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
1771       } catch (org.apache.thrift.TException te) {
1772         throw new java.io.IOException(te);
1773       }
1774     }
1775
1776     private static class onUpdatePushRoute_argsStandardSchemeFactory implements SchemeFactory {
1777       public onUpdatePushRoute_argsStandardScheme getScheme() {
1778         return new onUpdatePushRoute_argsStandardScheme();
1779       }
1780     }
1781
1782     private static class onUpdatePushRoute_argsStandardScheme extends StandardScheme<onUpdatePushRoute_args> {
1783
1784       public void read(org.apache.thrift.protocol.TProtocol iprot, onUpdatePushRoute_args struct) throws org.apache.thrift.TException {
1785         org.apache.thrift.protocol.TField schemeField;
1786         iprot.readStructBegin();
1787         while (true)
1788         {
1789           schemeField = iprot.readFieldBegin();
1790           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
1791             break;
1792           }
1793           switch (schemeField.id) {
1794             case 1: // P_TYPE
1795               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1796                 struct.p_type = protocol_type.findByValue(iprot.readI32());
1797                 struct.setP_typeIsSet(true);
1798               } else { 
1799                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1800               }
1801               break;
1802             case 2: // RD
1803               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1804                 struct.rd = iprot.readString();
1805                 struct.setRdIsSet(true);
1806               } else { 
1807                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1808               }
1809               break;
1810             case 3: // PREFIX
1811               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1812                 struct.prefix = iprot.readString();
1813                 struct.setPrefixIsSet(true);
1814               } else { 
1815                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1816               }
1817               break;
1818             case 4: // PREFIXLEN
1819               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1820                 struct.prefixlen = iprot.readI32();
1821                 struct.setPrefixlenIsSet(true);
1822               } else { 
1823                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1824               }
1825               break;
1826             case 5: // NEXTHOP
1827               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1828                 struct.nexthop = iprot.readString();
1829                 struct.setNexthopIsSet(true);
1830               } else { 
1831                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1832               }
1833               break;
1834             case 6: // ETHTAG
1835               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1836                 struct.ethtag = iprot.readI32();
1837                 struct.setEthtagIsSet(true);
1838               } else { 
1839                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1840               }
1841               break;
1842             case 7: // ESI
1843               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1844                 struct.esi = iprot.readString();
1845                 struct.setEsiIsSet(true);
1846               } else { 
1847                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1848               }
1849               break;
1850             case 8: // MACADDRESS
1851               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1852                 struct.macaddress = iprot.readString();
1853                 struct.setMacaddressIsSet(true);
1854               } else { 
1855                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1856               }
1857               break;
1858             case 9: // L3LABEL
1859               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1860                 struct.l3label = iprot.readI32();
1861                 struct.setL3labelIsSet(true);
1862               } else { 
1863                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1864               }
1865               break;
1866             case 10: // L2LABEL
1867               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1868                 struct.l2label = iprot.readI32();
1869                 struct.setL2labelIsSet(true);
1870               } else { 
1871                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1872               }
1873               break;
1874             case 11: // ROUTERMAC
1875               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
1876                 struct.routermac = iprot.readString();
1877                 struct.setRoutermacIsSet(true);
1878               } else { 
1879                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1880               }
1881               break;
1882             case 12: // AFI
1883               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
1884                 struct.afi = af_afi.findByValue(iprot.readI32());
1885                 struct.setAfiIsSet(true);
1886               } else { 
1887                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1888               }
1889               break;
1890             default:
1891               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
1892           }
1893           iprot.readFieldEnd();
1894         }
1895         iprot.readStructEnd();
1896
1897         // check for required fields of primitive type, which can't be checked in the validate method
1898         struct.validate();
1899       }
1900
1901       public void write(org.apache.thrift.protocol.TProtocol oprot, onUpdatePushRoute_args struct) throws org.apache.thrift.TException {
1902         struct.validate();
1903
1904         oprot.writeStructBegin(STRUCT_DESC);
1905         if (struct.p_type != null) {
1906           oprot.writeFieldBegin(P_TYPE_FIELD_DESC);
1907           oprot.writeI32(struct.p_type.getValue());
1908           oprot.writeFieldEnd();
1909         }
1910         if (struct.rd != null) {
1911           oprot.writeFieldBegin(RD_FIELD_DESC);
1912           oprot.writeString(struct.rd);
1913           oprot.writeFieldEnd();
1914         }
1915         if (struct.prefix != null) {
1916           oprot.writeFieldBegin(PREFIX_FIELD_DESC);
1917           oprot.writeString(struct.prefix);
1918           oprot.writeFieldEnd();
1919         }
1920         oprot.writeFieldBegin(PREFIXLEN_FIELD_DESC);
1921         oprot.writeI32(struct.prefixlen);
1922         oprot.writeFieldEnd();
1923         if (struct.nexthop != null) {
1924           oprot.writeFieldBegin(NEXTHOP_FIELD_DESC);
1925           oprot.writeString(struct.nexthop);
1926           oprot.writeFieldEnd();
1927         }
1928         oprot.writeFieldBegin(ETHTAG_FIELD_DESC);
1929         oprot.writeI32(struct.ethtag);
1930         oprot.writeFieldEnd();
1931         if (struct.esi != null) {
1932           oprot.writeFieldBegin(ESI_FIELD_DESC);
1933           oprot.writeString(struct.esi);
1934           oprot.writeFieldEnd();
1935         }
1936         if (struct.macaddress != null) {
1937           oprot.writeFieldBegin(MACADDRESS_FIELD_DESC);
1938           oprot.writeString(struct.macaddress);
1939           oprot.writeFieldEnd();
1940         }
1941         oprot.writeFieldBegin(L3LABEL_FIELD_DESC);
1942         oprot.writeI32(struct.l3label);
1943         oprot.writeFieldEnd();
1944         oprot.writeFieldBegin(L2LABEL_FIELD_DESC);
1945         oprot.writeI32(struct.l2label);
1946         oprot.writeFieldEnd();
1947         if (struct.routermac != null) {
1948           oprot.writeFieldBegin(ROUTERMAC_FIELD_DESC);
1949           oprot.writeString(struct.routermac);
1950           oprot.writeFieldEnd();
1951         }
1952         if (struct.afi != null) {
1953           oprot.writeFieldBegin(AFI_FIELD_DESC);
1954           oprot.writeI32(struct.afi.getValue());
1955           oprot.writeFieldEnd();
1956         }
1957         oprot.writeFieldStop();
1958         oprot.writeStructEnd();
1959       }
1960
1961     }
1962
1963     private static class onUpdatePushRoute_argsTupleSchemeFactory implements SchemeFactory {
1964       public onUpdatePushRoute_argsTupleScheme getScheme() {
1965         return new onUpdatePushRoute_argsTupleScheme();
1966       }
1967     }
1968
1969     private static class onUpdatePushRoute_argsTupleScheme extends TupleScheme<onUpdatePushRoute_args> {
1970
1971       @Override
1972       public void write(org.apache.thrift.protocol.TProtocol prot, onUpdatePushRoute_args struct) throws org.apache.thrift.TException {
1973         TTupleProtocol oprot = (TTupleProtocol) prot;
1974         BitSet optionals = new BitSet();
1975         if (struct.isSetP_type()) {
1976           optionals.set(0);
1977         }
1978         if (struct.isSetRd()) {
1979           optionals.set(1);
1980         }
1981         if (struct.isSetPrefix()) {
1982           optionals.set(2);
1983         }
1984         if (struct.isSetPrefixlen()) {
1985           optionals.set(3);
1986         }
1987         if (struct.isSetNexthop()) {
1988           optionals.set(4);
1989         }
1990         if (struct.isSetEthtag()) {
1991           optionals.set(5);
1992         }
1993         if (struct.isSetEsi()) {
1994           optionals.set(6);
1995         }
1996         if (struct.isSetMacaddress()) {
1997           optionals.set(7);
1998         }
1999         if (struct.isSetL3label()) {
2000           optionals.set(8);
2001         }
2002         if (struct.isSetL2label()) {
2003           optionals.set(9);
2004         }
2005         if (struct.isSetRoutermac()) {
2006           optionals.set(10);
2007         }
2008         if (struct.isSetAfi()) {
2009           optionals.set(11);
2010         }
2011         oprot.writeBitSet(optionals, 12);
2012         if (struct.isSetP_type()) {
2013           oprot.writeI32(struct.p_type.getValue());
2014         }
2015         if (struct.isSetRd()) {
2016           oprot.writeString(struct.rd);
2017         }
2018         if (struct.isSetPrefix()) {
2019           oprot.writeString(struct.prefix);
2020         }
2021         if (struct.isSetPrefixlen()) {
2022           oprot.writeI32(struct.prefixlen);
2023         }
2024         if (struct.isSetNexthop()) {
2025           oprot.writeString(struct.nexthop);
2026         }
2027         if (struct.isSetEthtag()) {
2028           oprot.writeI32(struct.ethtag);
2029         }
2030         if (struct.isSetEsi()) {
2031           oprot.writeString(struct.esi);
2032         }
2033         if (struct.isSetMacaddress()) {
2034           oprot.writeString(struct.macaddress);
2035         }
2036         if (struct.isSetL3label()) {
2037           oprot.writeI32(struct.l3label);
2038         }
2039         if (struct.isSetL2label()) {
2040           oprot.writeI32(struct.l2label);
2041         }
2042         if (struct.isSetRoutermac()) {
2043           oprot.writeString(struct.routermac);
2044         }
2045         if (struct.isSetAfi()) {
2046           oprot.writeI32(struct.afi.getValue());
2047         }
2048       }
2049
2050       @Override
2051       public void read(org.apache.thrift.protocol.TProtocol prot, onUpdatePushRoute_args struct) throws org.apache.thrift.TException {
2052         TTupleProtocol iprot = (TTupleProtocol) prot;
2053         BitSet incoming = iprot.readBitSet(12);
2054         if (incoming.get(0)) {
2055           struct.p_type = protocol_type.findByValue(iprot.readI32());
2056           struct.setP_typeIsSet(true);
2057         }
2058         if (incoming.get(1)) {
2059           struct.rd = iprot.readString();
2060           struct.setRdIsSet(true);
2061         }
2062         if (incoming.get(2)) {
2063           struct.prefix = iprot.readString();
2064           struct.setPrefixIsSet(true);
2065         }
2066         if (incoming.get(3)) {
2067           struct.prefixlen = iprot.readI32();
2068           struct.setPrefixlenIsSet(true);
2069         }
2070         if (incoming.get(4)) {
2071           struct.nexthop = iprot.readString();
2072           struct.setNexthopIsSet(true);
2073         }
2074         if (incoming.get(5)) {
2075           struct.ethtag = iprot.readI32();
2076           struct.setEthtagIsSet(true);
2077         }
2078         if (incoming.get(6)) {
2079           struct.esi = iprot.readString();
2080           struct.setEsiIsSet(true);
2081         }
2082         if (incoming.get(7)) {
2083           struct.macaddress = iprot.readString();
2084           struct.setMacaddressIsSet(true);
2085         }
2086         if (incoming.get(8)) {
2087           struct.l3label = iprot.readI32();
2088           struct.setL3labelIsSet(true);
2089         }
2090         if (incoming.get(9)) {
2091           struct.l2label = iprot.readI32();
2092           struct.setL2labelIsSet(true);
2093         }
2094         if (incoming.get(10)) {
2095           struct.routermac = iprot.readString();
2096           struct.setRoutermacIsSet(true);
2097         }
2098         if (incoming.get(11)) {
2099           struct.afi = af_afi.findByValue(iprot.readI32());
2100           struct.setAfiIsSet(true);
2101         }
2102       }
2103     }
2104
2105   }
2106
2107   public static class onUpdateWithdrawRoute_args implements org.apache.thrift.TBase<onUpdateWithdrawRoute_args, onUpdateWithdrawRoute_args._Fields>, java.io.Serializable, Cloneable, Comparable<onUpdateWithdrawRoute_args>   {
2108     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("onUpdateWithdrawRoute_args");
2109
2110     private static final org.apache.thrift.protocol.TField P_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("p_type", org.apache.thrift.protocol.TType.I32, (short)1);
2111     private static final org.apache.thrift.protocol.TField RD_FIELD_DESC = new org.apache.thrift.protocol.TField("rd", org.apache.thrift.protocol.TType.STRING, (short)2);
2112     private static final org.apache.thrift.protocol.TField PREFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("prefix", org.apache.thrift.protocol.TType.STRING, (short)3);
2113     private static final org.apache.thrift.protocol.TField PREFIXLEN_FIELD_DESC = new org.apache.thrift.protocol.TField("prefixlen", org.apache.thrift.protocol.TType.I32, (short)4);
2114     private static final org.apache.thrift.protocol.TField NEXTHOP_FIELD_DESC = new org.apache.thrift.protocol.TField("nexthop", org.apache.thrift.protocol.TType.STRING, (short)5);
2115     private static final org.apache.thrift.protocol.TField ETHTAG_FIELD_DESC = new org.apache.thrift.protocol.TField("ethtag", org.apache.thrift.protocol.TType.I32, (short)6);
2116     private static final org.apache.thrift.protocol.TField ESI_FIELD_DESC = new org.apache.thrift.protocol.TField("esi", org.apache.thrift.protocol.TType.STRING, (short)7);
2117     private static final org.apache.thrift.protocol.TField MACADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("macaddress", org.apache.thrift.protocol.TType.STRING, (short)8);
2118     private static final org.apache.thrift.protocol.TField L3LABEL_FIELD_DESC = new org.apache.thrift.protocol.TField("l3label", org.apache.thrift.protocol.TType.I32, (short)9);
2119     private static final org.apache.thrift.protocol.TField L2LABEL_FIELD_DESC = new org.apache.thrift.protocol.TField("l2label", org.apache.thrift.protocol.TType.I32, (short)10);
2120     private static final org.apache.thrift.protocol.TField AFI_FIELD_DESC = new org.apache.thrift.protocol.TField("afi", org.apache.thrift.protocol.TType.I32, (short)11);
2121
2122     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
2123     static {
2124       schemes.put(StandardScheme.class, new onUpdateWithdrawRoute_argsStandardSchemeFactory());
2125       schemes.put(TupleScheme.class, new onUpdateWithdrawRoute_argsTupleSchemeFactory());
2126     }
2127
2128     /**
2129      * 
2130      * @see protocol_type
2131      */
2132     public protocol_type p_type; // required
2133     public String rd; // required
2134     public String prefix; // required
2135     public int prefixlen; // required
2136     public String nexthop; // required
2137     public int ethtag; // required
2138     public String esi; // required
2139     public String macaddress; // required
2140     public int l3label; // required
2141     public int l2label; // required
2142     /**
2143      * 
2144      * @see af_afi
2145      */
2146     public af_afi afi; // required
2147
2148     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
2149     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
2150       /**
2151        * 
2152        * @see protocol_type
2153        */
2154       P_TYPE((short)1, "p_type"),
2155       RD((short)2, "rd"),
2156       PREFIX((short)3, "prefix"),
2157       PREFIXLEN((short)4, "prefixlen"),
2158       NEXTHOP((short)5, "nexthop"),
2159       ETHTAG((short)6, "ethtag"),
2160       ESI((short)7, "esi"),
2161       MACADDRESS((short)8, "macaddress"),
2162       L3LABEL((short)9, "l3label"),
2163       L2LABEL((short)10, "l2label"),
2164       /**
2165        * 
2166        * @see af_afi
2167        */
2168       AFI((short)11, "afi");
2169
2170       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
2171
2172       static {
2173         for (_Fields field : EnumSet.allOf(_Fields.class)) {
2174           byName.put(field.getFieldName(), field);
2175         }
2176       }
2177
2178       /**
2179        * Find the _Fields constant that matches fieldId, or null if its not found.
2180        */
2181       public static _Fields findByThriftId(int fieldId) {
2182         switch(fieldId) {
2183           case 1: // P_TYPE
2184             return P_TYPE;
2185           case 2: // RD
2186             return RD;
2187           case 3: // PREFIX
2188             return PREFIX;
2189           case 4: // PREFIXLEN
2190             return PREFIXLEN;
2191           case 5: // NEXTHOP
2192             return NEXTHOP;
2193           case 6: // ETHTAG
2194             return ETHTAG;
2195           case 7: // ESI
2196             return ESI;
2197           case 8: // MACADDRESS
2198             return MACADDRESS;
2199           case 9: // L3LABEL
2200             return L3LABEL;
2201           case 10: // L2LABEL
2202             return L2LABEL;
2203           case 11: // AFI
2204             return AFI;
2205           default:
2206             return null;
2207         }
2208       }
2209
2210       /**
2211        * Find the _Fields constant that matches fieldId, throwing an exception
2212        * if it is not found.
2213        */
2214       public static _Fields findByThriftIdOrThrow(int fieldId) {
2215         _Fields fields = findByThriftId(fieldId);
2216         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
2217         return fields;
2218       }
2219
2220       /**
2221        * Find the _Fields constant that matches name, or null if its not found.
2222        */
2223       public static _Fields findByName(String name) {
2224         return byName.get(name);
2225       }
2226
2227       private final short _thriftId;
2228       private final String _fieldName;
2229
2230       _Fields(short thriftId, String fieldName) {
2231         _thriftId = thriftId;
2232         _fieldName = fieldName;
2233       }
2234
2235       public short getThriftFieldId() {
2236         return _thriftId;
2237       }
2238
2239       public String getFieldName() {
2240         return _fieldName;
2241       }
2242     }
2243
2244     // isset id assignments
2245     private static final int __PREFIXLEN_ISSET_ID = 0;
2246     private static final int __ETHTAG_ISSET_ID = 1;
2247     private static final int __L3LABEL_ISSET_ID = 2;
2248     private static final int __L2LABEL_ISSET_ID = 3;
2249     private byte __isset_bitfield = 0;
2250     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
2251     static {
2252       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
2253       tmpMap.put(_Fields.P_TYPE, new org.apache.thrift.meta_data.FieldMetaData("p_type", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2254           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, protocol_type.class)));
2255       tmpMap.put(_Fields.RD, new org.apache.thrift.meta_data.FieldMetaData("rd", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2256           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
2257       tmpMap.put(_Fields.PREFIX, new org.apache.thrift.meta_data.FieldMetaData("prefix", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2258           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
2259       tmpMap.put(_Fields.PREFIXLEN, new org.apache.thrift.meta_data.FieldMetaData("prefixlen", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2260           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
2261       tmpMap.put(_Fields.NEXTHOP, new org.apache.thrift.meta_data.FieldMetaData("nexthop", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2262           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
2263       tmpMap.put(_Fields.ETHTAG, new org.apache.thrift.meta_data.FieldMetaData("ethtag", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2264           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
2265       tmpMap.put(_Fields.ESI, new org.apache.thrift.meta_data.FieldMetaData("esi", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2266           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
2267       tmpMap.put(_Fields.MACADDRESS, new org.apache.thrift.meta_data.FieldMetaData("macaddress", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2268           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
2269       tmpMap.put(_Fields.L3LABEL, new org.apache.thrift.meta_data.FieldMetaData("l3label", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2270           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
2271       tmpMap.put(_Fields.L2LABEL, new org.apache.thrift.meta_data.FieldMetaData("l2label", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2272           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
2273       tmpMap.put(_Fields.AFI, new org.apache.thrift.meta_data.FieldMetaData("afi", org.apache.thrift.TFieldRequirementType.DEFAULT, 
2274           new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, af_afi.class)));
2275       metaDataMap = Collections.unmodifiableMap(tmpMap);
2276       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(onUpdateWithdrawRoute_args.class, metaDataMap);
2277     }
2278
2279     public onUpdateWithdrawRoute_args() {
2280     }
2281
2282     public onUpdateWithdrawRoute_args(
2283       protocol_type p_type,
2284       String rd,
2285       String prefix,
2286       int prefixlen,
2287       String nexthop,
2288       int ethtag,
2289       String esi,
2290       String macaddress,
2291       int l3label,
2292       int l2label,
2293       af_afi afi)
2294     {
2295       this();
2296       this.p_type = p_type;
2297       this.rd = rd;
2298       this.prefix = prefix;
2299       this.prefixlen = prefixlen;
2300       setPrefixlenIsSet(true);
2301       this.nexthop = nexthop;
2302       this.ethtag = ethtag;
2303       setEthtagIsSet(true);
2304       this.esi = esi;
2305       this.macaddress = macaddress;
2306       this.l3label = l3label;
2307       setL3labelIsSet(true);
2308       this.l2label = l2label;
2309       setL2labelIsSet(true);
2310       this.afi = afi;
2311     }
2312
2313     /**
2314      * Performs a deep copy on <i>other</i>.
2315      */
2316     public onUpdateWithdrawRoute_args(onUpdateWithdrawRoute_args other) {
2317       __isset_bitfield = other.__isset_bitfield;
2318       if (other.isSetP_type()) {
2319         this.p_type = other.p_type;
2320       }
2321       if (other.isSetRd()) {
2322         this.rd = other.rd;
2323       }
2324       if (other.isSetPrefix()) {
2325         this.prefix = other.prefix;
2326       }
2327       this.prefixlen = other.prefixlen;
2328       if (other.isSetNexthop()) {
2329         this.nexthop = other.nexthop;
2330       }
2331       this.ethtag = other.ethtag;
2332       if (other.isSetEsi()) {
2333         this.esi = other.esi;
2334       }
2335       if (other.isSetMacaddress()) {
2336         this.macaddress = other.macaddress;
2337       }
2338       this.l3label = other.l3label;
2339       this.l2label = other.l2label;
2340       if (other.isSetAfi()) {
2341         this.afi = other.afi;
2342       }
2343     }
2344
2345     public onUpdateWithdrawRoute_args deepCopy() {
2346       return new onUpdateWithdrawRoute_args(this);
2347     }
2348
2349     @Override
2350     public void clear() {
2351       this.p_type = null;
2352       this.rd = null;
2353       this.prefix = null;
2354       setPrefixlenIsSet(false);
2355       this.prefixlen = 0;
2356       this.nexthop = null;
2357       setEthtagIsSet(false);
2358       this.ethtag = 0;
2359       this.esi = null;
2360       this.macaddress = null;
2361       setL3labelIsSet(false);
2362       this.l3label = 0;
2363       setL2labelIsSet(false);
2364       this.l2label = 0;
2365       this.afi = null;
2366     }
2367
2368     /**
2369      * 
2370      * @see protocol_type
2371      */
2372     public protocol_type getP_type() {
2373       return this.p_type;
2374     }
2375
2376     /**
2377      * 
2378      * @see protocol_type
2379      */
2380     public onUpdateWithdrawRoute_args setP_type(protocol_type p_type) {
2381       this.p_type = p_type;
2382       return this;
2383     }
2384
2385     public void unsetP_type() {
2386       this.p_type = null;
2387     }
2388
2389     /** Returns true if field p_type is set (has been assigned a value) and false otherwise */
2390     public boolean isSetP_type() {
2391       return this.p_type != null;
2392     }
2393
2394     public void setP_typeIsSet(boolean value) {
2395       if (!value) {
2396         this.p_type = null;
2397       }
2398     }
2399
2400     public String getRd() {
2401       return this.rd;
2402     }
2403
2404     public onUpdateWithdrawRoute_args setRd(String rd) {
2405       this.rd = rd;
2406       return this;
2407     }
2408
2409     public void unsetRd() {
2410       this.rd = null;
2411     }
2412
2413     /** Returns true if field rd is set (has been assigned a value) and false otherwise */
2414     public boolean isSetRd() {
2415       return this.rd != null;
2416     }
2417
2418     public void setRdIsSet(boolean value) {
2419       if (!value) {
2420         this.rd = null;
2421       }
2422     }
2423
2424     public String getPrefix() {
2425       return this.prefix;
2426     }
2427
2428     public onUpdateWithdrawRoute_args setPrefix(String prefix) {
2429       this.prefix = prefix;
2430       return this;
2431     }
2432
2433     public void unsetPrefix() {
2434       this.prefix = null;
2435     }
2436
2437     /** Returns true if field prefix is set (has been assigned a value) and false otherwise */
2438     public boolean isSetPrefix() {
2439       return this.prefix != null;
2440     }
2441
2442     public void setPrefixIsSet(boolean value) {
2443       if (!value) {
2444         this.prefix = null;
2445       }
2446     }
2447
2448     public int getPrefixlen() {
2449       return this.prefixlen;
2450     }
2451
2452     public onUpdateWithdrawRoute_args setPrefixlen(int prefixlen) {
2453       this.prefixlen = prefixlen;
2454       setPrefixlenIsSet(true);
2455       return this;
2456     }
2457
2458     public void unsetPrefixlen() {
2459       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PREFIXLEN_ISSET_ID);
2460     }
2461
2462     /** Returns true if field prefixlen is set (has been assigned a value) and false otherwise */
2463     public boolean isSetPrefixlen() {
2464       return EncodingUtils.testBit(__isset_bitfield, __PREFIXLEN_ISSET_ID);
2465     }
2466
2467     public void setPrefixlenIsSet(boolean value) {
2468       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PREFIXLEN_ISSET_ID, value);
2469     }
2470
2471     public String getNexthop() {
2472       return this.nexthop;
2473     }
2474
2475     public onUpdateWithdrawRoute_args setNexthop(String nexthop) {
2476       this.nexthop = nexthop;
2477       return this;
2478     }
2479
2480     public void unsetNexthop() {
2481       this.nexthop = null;
2482     }
2483
2484     /** Returns true if field nexthop is set (has been assigned a value) and false otherwise */
2485     public boolean isSetNexthop() {
2486       return this.nexthop != null;
2487     }
2488
2489     public void setNexthopIsSet(boolean value) {
2490       if (!value) {
2491         this.nexthop = null;
2492       }
2493     }
2494
2495     public int getEthtag() {
2496       return this.ethtag;
2497     }
2498
2499     public onUpdateWithdrawRoute_args setEthtag(int ethtag) {
2500       this.ethtag = ethtag;
2501       setEthtagIsSet(true);
2502       return this;
2503     }
2504
2505     public void unsetEthtag() {
2506       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ETHTAG_ISSET_ID);
2507     }
2508
2509     /** Returns true if field ethtag is set (has been assigned a value) and false otherwise */
2510     public boolean isSetEthtag() {
2511       return EncodingUtils.testBit(__isset_bitfield, __ETHTAG_ISSET_ID);
2512     }
2513
2514     public void setEthtagIsSet(boolean value) {
2515       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ETHTAG_ISSET_ID, value);
2516     }
2517
2518     public String getEsi() {
2519       return this.esi;
2520     }
2521
2522     public onUpdateWithdrawRoute_args setEsi(String esi) {
2523       this.esi = esi;
2524       return this;
2525     }
2526
2527     public void unsetEsi() {
2528       this.esi = null;
2529     }
2530
2531     /** Returns true if field esi is set (has been assigned a value) and false otherwise */
2532     public boolean isSetEsi() {
2533       return this.esi != null;
2534     }
2535
2536     public void setEsiIsSet(boolean value) {
2537       if (!value) {
2538         this.esi = null;
2539       }
2540     }
2541
2542     public String getMacaddress() {
2543       return this.macaddress;
2544     }
2545
2546     public onUpdateWithdrawRoute_args setMacaddress(String macaddress) {
2547       this.macaddress = macaddress;
2548       return this;
2549     }
2550
2551     public void unsetMacaddress() {
2552       this.macaddress = null;
2553     }
2554
2555     /** Returns true if field macaddress is set (has been assigned a value) and false otherwise */
2556     public boolean isSetMacaddress() {
2557       return this.macaddress != null;
2558     }
2559
2560     public void setMacaddressIsSet(boolean value) {
2561       if (!value) {
2562         this.macaddress = null;
2563       }
2564     }
2565
2566     public int getL3label() {
2567       return this.l3label;
2568     }
2569
2570     public onUpdateWithdrawRoute_args setL3label(int l3label) {
2571       this.l3label = l3label;
2572       setL3labelIsSet(true);
2573       return this;
2574     }
2575
2576     public void unsetL3label() {
2577       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __L3LABEL_ISSET_ID);
2578     }
2579
2580     /** Returns true if field l3label is set (has been assigned a value) and false otherwise */
2581     public boolean isSetL3label() {
2582       return EncodingUtils.testBit(__isset_bitfield, __L3LABEL_ISSET_ID);
2583     }
2584
2585     public void setL3labelIsSet(boolean value) {
2586       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __L3LABEL_ISSET_ID, value);
2587     }
2588
2589     public int getL2label() {
2590       return this.l2label;
2591     }
2592
2593     public onUpdateWithdrawRoute_args setL2label(int l2label) {
2594       this.l2label = l2label;
2595       setL2labelIsSet(true);
2596       return this;
2597     }
2598
2599     public void unsetL2label() {
2600       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __L2LABEL_ISSET_ID);
2601     }
2602
2603     /** Returns true if field l2label is set (has been assigned a value) and false otherwise */
2604     public boolean isSetL2label() {
2605       return EncodingUtils.testBit(__isset_bitfield, __L2LABEL_ISSET_ID);
2606     }
2607
2608     public void setL2labelIsSet(boolean value) {
2609       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __L2LABEL_ISSET_ID, value);
2610     }
2611
2612     /**
2613      * 
2614      * @see af_afi
2615      */
2616     public af_afi getAfi() {
2617       return this.afi;
2618     }
2619
2620     /**
2621      * 
2622      * @see af_afi
2623      */
2624     public onUpdateWithdrawRoute_args setAfi(af_afi afi) {
2625       this.afi = afi;
2626       return this;
2627     }
2628
2629     public void unsetAfi() {
2630       this.afi = null;
2631     }
2632
2633     /** Returns true if field afi is set (has been assigned a value) and false otherwise */
2634     public boolean isSetAfi() {
2635       return this.afi != null;
2636     }
2637
2638     public void setAfiIsSet(boolean value) {
2639       if (!value) {
2640         this.afi = null;
2641       }
2642     }
2643
2644     public void setFieldValue(_Fields field, Object value) {
2645       switch (field) {
2646       case P_TYPE:
2647         if (value == null) {
2648           unsetP_type();
2649         } else {
2650           setP_type((protocol_type)value);
2651         }
2652         break;
2653
2654       case RD:
2655         if (value == null) {
2656           unsetRd();
2657         } else {
2658           setRd((String)value);
2659         }
2660         break;
2661
2662       case PREFIX:
2663         if (value == null) {
2664           unsetPrefix();
2665         } else {
2666           setPrefix((String)value);
2667         }
2668         break;
2669
2670       case PREFIXLEN:
2671         if (value == null) {
2672           unsetPrefixlen();
2673         } else {
2674           setPrefixlen((Integer)value);
2675         }
2676         break;
2677
2678       case NEXTHOP:
2679         if (value == null) {
2680           unsetNexthop();
2681         } else {
2682           setNexthop((String)value);
2683         }
2684         break;
2685
2686       case ETHTAG:
2687         if (value == null) {
2688           unsetEthtag();
2689         } else {
2690           setEthtag((Integer)value);
2691         }
2692         break;
2693
2694       case ESI:
2695         if (value == null) {
2696           unsetEsi();
2697         } else {
2698           setEsi((String)value);
2699         }
2700         break;
2701
2702       case MACADDRESS:
2703         if (value == null) {
2704           unsetMacaddress();
2705         } else {
2706           setMacaddress((String)value);
2707         }
2708         break;
2709
2710       case L3LABEL:
2711         if (value == null) {
2712           unsetL3label();
2713         } else {
2714           setL3label((Integer)value);
2715         }
2716         break;
2717
2718       case L2LABEL:
2719         if (value == null) {
2720           unsetL2label();
2721         } else {
2722           setL2label((Integer)value);
2723         }
2724         break;
2725
2726       case AFI:
2727         if (value == null) {
2728           unsetAfi();
2729         } else {
2730           setAfi((af_afi)value);
2731         }
2732         break;
2733
2734       }
2735     }
2736
2737     public Object getFieldValue(_Fields field) {
2738       switch (field) {
2739       case P_TYPE:
2740         return getP_type();
2741
2742       case RD:
2743         return getRd();
2744
2745       case PREFIX:
2746         return getPrefix();
2747
2748       case PREFIXLEN:
2749         return Integer.valueOf(getPrefixlen());
2750
2751       case NEXTHOP:
2752         return getNexthop();
2753
2754       case ETHTAG:
2755         return Integer.valueOf(getEthtag());
2756
2757       case ESI:
2758         return getEsi();
2759
2760       case MACADDRESS:
2761         return getMacaddress();
2762
2763       case L3LABEL:
2764         return Integer.valueOf(getL3label());
2765
2766       case L2LABEL:
2767         return Integer.valueOf(getL2label());
2768
2769       case AFI:
2770         return getAfi();
2771
2772       }
2773       throw new IllegalStateException();
2774     }
2775
2776     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
2777     public boolean isSet(_Fields field) {
2778       if (field == null) {
2779         throw new IllegalArgumentException();
2780       }
2781
2782       switch (field) {
2783       case P_TYPE:
2784         return isSetP_type();
2785       case RD:
2786         return isSetRd();
2787       case PREFIX:
2788         return isSetPrefix();
2789       case PREFIXLEN:
2790         return isSetPrefixlen();
2791       case NEXTHOP:
2792         return isSetNexthop();
2793       case ETHTAG:
2794         return isSetEthtag();
2795       case ESI:
2796         return isSetEsi();
2797       case MACADDRESS:
2798         return isSetMacaddress();
2799       case L3LABEL:
2800         return isSetL3label();
2801       case L2LABEL:
2802         return isSetL2label();
2803       case AFI:
2804         return isSetAfi();
2805       }
2806       throw new IllegalStateException();
2807     }
2808
2809     @Override
2810     public boolean equals(Object that) {
2811       if (that == null)
2812         return false;
2813       if (that instanceof onUpdateWithdrawRoute_args)
2814         return this.equals((onUpdateWithdrawRoute_args)that);
2815       return false;
2816     }
2817
2818     public boolean equals(onUpdateWithdrawRoute_args that) {
2819       if (that == null)
2820         return false;
2821
2822       boolean this_present_p_type = true && this.isSetP_type();
2823       boolean that_present_p_type = true && that.isSetP_type();
2824       if (this_present_p_type || that_present_p_type) {
2825         if (!(this_present_p_type && that_present_p_type))
2826           return false;
2827         if (!this.p_type.equals(that.p_type))
2828           return false;
2829       }
2830
2831       boolean this_present_rd = true && this.isSetRd();
2832       boolean that_present_rd = true && that.isSetRd();
2833       if (this_present_rd || that_present_rd) {
2834         if (!(this_present_rd && that_present_rd))
2835           return false;
2836         if (!this.rd.equals(that.rd))
2837           return false;
2838       }
2839
2840       boolean this_present_prefix = true && this.isSetPrefix();
2841       boolean that_present_prefix = true && that.isSetPrefix();
2842       if (this_present_prefix || that_present_prefix) {
2843         if (!(this_present_prefix && that_present_prefix))
2844           return false;
2845         if (!this.prefix.equals(that.prefix))
2846           return false;
2847       }
2848
2849       boolean this_present_prefixlen = true;
2850       boolean that_present_prefixlen = true;
2851       if (this_present_prefixlen || that_present_prefixlen) {
2852         if (!(this_present_prefixlen && that_present_prefixlen))
2853           return false;
2854         if (this.prefixlen != that.prefixlen)
2855           return false;
2856       }
2857
2858       boolean this_present_nexthop = true && this.isSetNexthop();
2859       boolean that_present_nexthop = true && that.isSetNexthop();
2860       if (this_present_nexthop || that_present_nexthop) {
2861         if (!(this_present_nexthop && that_present_nexthop))
2862           return false;
2863         if (!this.nexthop.equals(that.nexthop))
2864           return false;
2865       }
2866
2867       boolean this_present_ethtag = true;
2868       boolean that_present_ethtag = true;
2869       if (this_present_ethtag || that_present_ethtag) {
2870         if (!(this_present_ethtag && that_present_ethtag))
2871           return false;
2872         if (this.ethtag != that.ethtag)
2873           return false;
2874       }
2875
2876       boolean this_present_esi = true && this.isSetEsi();
2877       boolean that_present_esi = true && that.isSetEsi();
2878       if (this_present_esi || that_present_esi) {
2879         if (!(this_present_esi && that_present_esi))
2880           return false;
2881         if (!this.esi.equals(that.esi))
2882           return false;
2883       }
2884
2885       boolean this_present_macaddress = true && this.isSetMacaddress();
2886       boolean that_present_macaddress = true && that.isSetMacaddress();
2887       if (this_present_macaddress || that_present_macaddress) {
2888         if (!(this_present_macaddress && that_present_macaddress))
2889           return false;
2890         if (!this.macaddress.equals(that.macaddress))
2891           return false;
2892       }
2893
2894       boolean this_present_l3label = true;
2895       boolean that_present_l3label = true;
2896       if (this_present_l3label || that_present_l3label) {
2897         if (!(this_present_l3label && that_present_l3label))
2898           return false;
2899         if (this.l3label != that.l3label)
2900           return false;
2901       }
2902
2903       boolean this_present_l2label = true;
2904       boolean that_present_l2label = true;
2905       if (this_present_l2label || that_present_l2label) {
2906         if (!(this_present_l2label && that_present_l2label))
2907           return false;
2908         if (this.l2label != that.l2label)
2909           return false;
2910       }
2911
2912       boolean this_present_afi = true && this.isSetAfi();
2913       boolean that_present_afi = true && that.isSetAfi();
2914       if (this_present_afi || that_present_afi) {
2915         if (!(this_present_afi && that_present_afi))
2916           return false;
2917         if (!this.afi.equals(that.afi))
2918           return false;
2919       }
2920
2921       return true;
2922     }
2923
2924     @Override
2925     public int hashCode() {
2926       List<Object> list = new ArrayList<Object>();
2927       boolean present_p_type = true && (isSetP_type());
2928       list.add(present_p_type);
2929       if (present_p_type)
2930         list.add(p_type.getValue());
2931       boolean present_rd = true && (isSetRd());
2932       list.add(present_rd);
2933       if (present_rd)
2934         list.add(rd);
2935       boolean present_prefix = true && (isSetPrefix());
2936       list.add(present_prefix);
2937       if (present_prefix)
2938         list.add(prefix);
2939       boolean present_prefixlen = true;
2940       list.add(present_prefixlen);
2941       if (present_prefixlen)
2942         list.add(prefixlen);
2943       boolean present_nexthop = true && (isSetNexthop());
2944       list.add(present_nexthop);
2945       if (present_nexthop)
2946         list.add(nexthop);
2947       boolean present_ethtag = true;
2948       list.add(present_ethtag);
2949       if (present_ethtag)
2950         list.add(ethtag);
2951       boolean present_esi = true && (isSetEsi());
2952       list.add(present_esi);
2953       if (present_esi)
2954         list.add(esi);
2955       boolean present_macaddress = true && (isSetMacaddress());
2956       list.add(present_macaddress);
2957       if (present_macaddress)
2958         list.add(macaddress);
2959       boolean present_l3label = true;
2960       list.add(present_l3label);
2961       if (present_l3label)
2962         list.add(l3label);
2963       boolean present_l2label = true;
2964       list.add(present_l2label);
2965       if (present_l2label)
2966         list.add(l2label);
2967       boolean present_afi = true && (isSetAfi());
2968       list.add(present_afi);
2969       if (present_afi)
2970         list.add(afi.getValue());
2971       return list.hashCode();
2972     }
2973
2974     @Override
2975     public int compareTo(onUpdateWithdrawRoute_args other) {
2976       if (!getClass().equals(other.getClass())) {
2977         return getClass().getName().compareTo(other.getClass().getName());
2978       }
2979
2980       int lastComparison = 0;
2981
2982       lastComparison = Boolean.valueOf(isSetP_type()).compareTo(other.isSetP_type());
2983       if (lastComparison != 0) {
2984         return lastComparison;
2985       }
2986       if (isSetP_type()) {
2987         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.p_type, other.p_type);
2988         if (lastComparison != 0) {
2989           return lastComparison;
2990         }
2991       }
2992       lastComparison = Boolean.valueOf(isSetRd()).compareTo(other.isSetRd());
2993       if (lastComparison != 0) {
2994         return lastComparison;
2995       }
2996       if (isSetRd()) {
2997         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rd, other.rd);
2998         if (lastComparison != 0) {
2999           return lastComparison;
3000         }
3001       }
3002       lastComparison = Boolean.valueOf(isSetPrefix()).compareTo(other.isSetPrefix());
3003       if (lastComparison != 0) {
3004         return lastComparison;
3005       }
3006       if (isSetPrefix()) {
3007         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prefix, other.prefix);
3008         if (lastComparison != 0) {
3009           return lastComparison;
3010         }
3011       }
3012       lastComparison = Boolean.valueOf(isSetPrefixlen()).compareTo(other.isSetPrefixlen());
3013       if (lastComparison != 0) {
3014         return lastComparison;
3015       }
3016       if (isSetPrefixlen()) {
3017         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prefixlen, other.prefixlen);
3018         if (lastComparison != 0) {
3019           return lastComparison;
3020         }
3021       }
3022       lastComparison = Boolean.valueOf(isSetNexthop()).compareTo(other.isSetNexthop());
3023       if (lastComparison != 0) {
3024         return lastComparison;
3025       }
3026       if (isSetNexthop()) {
3027         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.nexthop, other.nexthop);
3028         if (lastComparison != 0) {
3029           return lastComparison;
3030         }
3031       }
3032       lastComparison = Boolean.valueOf(isSetEthtag()).compareTo(other.isSetEthtag());
3033       if (lastComparison != 0) {
3034         return lastComparison;
3035       }
3036       if (isSetEthtag()) {
3037         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ethtag, other.ethtag);
3038         if (lastComparison != 0) {
3039           return lastComparison;
3040         }
3041       }
3042       lastComparison = Boolean.valueOf(isSetEsi()).compareTo(other.isSetEsi());
3043       if (lastComparison != 0) {
3044         return lastComparison;
3045       }
3046       if (isSetEsi()) {
3047         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.esi, other.esi);
3048         if (lastComparison != 0) {
3049           return lastComparison;
3050         }
3051       }
3052       lastComparison = Boolean.valueOf(isSetMacaddress()).compareTo(other.isSetMacaddress());
3053       if (lastComparison != 0) {
3054         return lastComparison;
3055       }
3056       if (isSetMacaddress()) {
3057         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.macaddress, other.macaddress);
3058         if (lastComparison != 0) {
3059           return lastComparison;
3060         }
3061       }
3062       lastComparison = Boolean.valueOf(isSetL3label()).compareTo(other.isSetL3label());
3063       if (lastComparison != 0) {
3064         return lastComparison;
3065       }
3066       if (isSetL3label()) {
3067         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l3label, other.l3label);
3068         if (lastComparison != 0) {
3069           return lastComparison;
3070         }
3071       }
3072       lastComparison = Boolean.valueOf(isSetL2label()).compareTo(other.isSetL2label());
3073       if (lastComparison != 0) {
3074         return lastComparison;
3075       }
3076       if (isSetL2label()) {
3077         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.l2label, other.l2label);
3078         if (lastComparison != 0) {
3079           return lastComparison;
3080         }
3081       }
3082       lastComparison = Boolean.valueOf(isSetAfi()).compareTo(other.isSetAfi());
3083       if (lastComparison != 0) {
3084         return lastComparison;
3085       }
3086       if (isSetAfi()) {
3087         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.afi, other.afi);
3088         if (lastComparison != 0) {
3089           return lastComparison;
3090         }
3091       }
3092       return 0;
3093     }
3094
3095     public _Fields fieldForId(int fieldId) {
3096       return _Fields.findByThriftId(fieldId);
3097     }
3098
3099     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
3100       schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
3101     }
3102
3103     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
3104       schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
3105     }
3106
3107     @Override
3108     public String toString() {
3109       StringBuilder sb = new StringBuilder("onUpdateWithdrawRoute_args(");
3110       boolean first = true;
3111
3112       sb.append("p_type:");
3113       if (this.p_type == null) {
3114         sb.append("null");
3115       } else {
3116         sb.append(this.p_type);
3117       }
3118       first = false;
3119       if (!first) sb.append(", ");
3120       sb.append("rd:");
3121       if (this.rd == null) {
3122         sb.append("null");
3123       } else {
3124         sb.append(this.rd);
3125       }
3126       first = false;
3127       if (!first) sb.append(", ");
3128       sb.append("prefix:");
3129       if (this.prefix == null) {
3130         sb.append("null");
3131       } else {
3132         sb.append(this.prefix);
3133       }
3134       first = false;
3135       if (!first) sb.append(", ");
3136       sb.append("prefixlen:");
3137       sb.append(this.prefixlen);
3138       first = false;
3139       if (!first) sb.append(", ");
3140       sb.append("nexthop:");
3141       if (this.nexthop == null) {
3142         sb.append("null");
3143       } else {
3144         sb.append(this.nexthop);
3145       }
3146       first = false;
3147       if (!first) sb.append(", ");
3148       sb.append("ethtag:");
3149       sb.append(this.ethtag);
3150       first = false;
3151       if (!first) sb.append(", ");
3152       sb.append("esi:");
3153       if (this.esi == null) {
3154         sb.append("null");
3155       } else {
3156         sb.append(this.esi);
3157       }
3158       first = false;
3159       if (!first) sb.append(", ");
3160       sb.append("macaddress:");
3161       if (this.macaddress == null) {
3162         sb.append("null");
3163       } else {
3164         sb.append(this.macaddress);
3165       }
3166       first = false;
3167       if (!first) sb.append(", ");
3168       sb.append("l3label:");
3169       sb.append(this.l3label);
3170       first = false;
3171       if (!first) sb.append(", ");
3172       sb.append("l2label:");
3173       sb.append(this.l2label);
3174       first = false;
3175       if (!first) sb.append(", ");
3176       sb.append("afi:");
3177       if (this.afi == null) {
3178         sb.append("null");
3179       } else {
3180         sb.append(this.afi);
3181       }
3182       first = false;
3183       sb.append(")");
3184       return sb.toString();
3185     }
3186
3187     public void validate() throws org.apache.thrift.TException {
3188       // check for required fields
3189       // check for sub-struct validity
3190     }
3191
3192     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
3193       try {
3194         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
3195       } catch (org.apache.thrift.TException te) {
3196         throw new java.io.IOException(te);
3197       }
3198     }
3199
3200     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
3201       try {
3202         // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
3203         __isset_bitfield = 0;
3204         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
3205       } catch (org.apache.thrift.TException te) {
3206         throw new java.io.IOException(te);
3207       }
3208     }
3209
3210     private static class onUpdateWithdrawRoute_argsStandardSchemeFactory implements SchemeFactory {
3211       public onUpdateWithdrawRoute_argsStandardScheme getScheme() {
3212         return new onUpdateWithdrawRoute_argsStandardScheme();
3213       }
3214     }
3215
3216     private static class onUpdateWithdrawRoute_argsStandardScheme extends StandardScheme<onUpdateWithdrawRoute_args> {
3217
3218       public void read(org.apache.thrift.protocol.TProtocol iprot, onUpdateWithdrawRoute_args struct) throws org.apache.thrift.TException {
3219         org.apache.thrift.protocol.TField schemeField;
3220         iprot.readStructBegin();
3221         while (true)
3222         {
3223           schemeField = iprot.readFieldBegin();
3224           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
3225             break;
3226           }
3227           switch (schemeField.id) {
3228             case 1: // P_TYPE
3229               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3230                 struct.p_type = protocol_type.findByValue(iprot.readI32());
3231                 struct.setP_typeIsSet(true);
3232               } else { 
3233                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3234               }
3235               break;
3236             case 2: // RD
3237               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
3238                 struct.rd = iprot.readString();
3239                 struct.setRdIsSet(true);
3240               } else { 
3241                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3242               }
3243               break;
3244             case 3: // PREFIX
3245               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
3246                 struct.prefix = iprot.readString();
3247                 struct.setPrefixIsSet(true);
3248               } else { 
3249                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3250               }
3251               break;
3252             case 4: // PREFIXLEN
3253               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3254                 struct.prefixlen = iprot.readI32();
3255                 struct.setPrefixlenIsSet(true);
3256               } else { 
3257                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3258               }
3259               break;
3260             case 5: // NEXTHOP
3261               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
3262                 struct.nexthop = iprot.readString();
3263                 struct.setNexthopIsSet(true);
3264               } else { 
3265                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3266               }
3267               break;
3268             case 6: // ETHTAG
3269               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3270                 struct.ethtag = iprot.readI32();
3271                 struct.setEthtagIsSet(true);
3272               } else { 
3273                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3274               }
3275               break;
3276             case 7: // ESI
3277               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
3278                 struct.esi = iprot.readString();
3279                 struct.setEsiIsSet(true);
3280               } else { 
3281                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3282               }
3283               break;
3284             case 8: // MACADDRESS
3285               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
3286                 struct.macaddress = iprot.readString();
3287                 struct.setMacaddressIsSet(true);
3288               } else { 
3289                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3290               }
3291               break;
3292             case 9: // L3LABEL
3293               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3294                 struct.l3label = iprot.readI32();
3295                 struct.setL3labelIsSet(true);
3296               } else { 
3297                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3298               }
3299               break;
3300             case 10: // L2LABEL
3301               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3302                 struct.l2label = iprot.readI32();
3303                 struct.setL2labelIsSet(true);
3304               } else { 
3305                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3306               }
3307               break;
3308             case 11: // AFI
3309               if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
3310                 struct.afi = af_afi.findByValue(iprot.readI32());
3311                 struct.setAfiIsSet(true);
3312               } else { 
3313                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3314               }
3315               break;
3316             default:
3317               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3318           }
3319           iprot.readFieldEnd();
3320         }
3321         iprot.readStructEnd();
3322
3323         // check for required fields of primitive type, which can't be checked in the validate method
3324         struct.validate();
3325       }
3326
3327       public void write(org.apache.thrift.protocol.TProtocol oprot, onUpdateWithdrawRoute_args struct) throws org.apache.thrift.TException {
3328         struct.validate();
3329
3330         oprot.writeStructBegin(STRUCT_DESC);
3331         if (struct.p_type != null) {
3332           oprot.writeFieldBegin(P_TYPE_FIELD_DESC);
3333           oprot.writeI32(struct.p_type.getValue());
3334           oprot.writeFieldEnd();
3335         }
3336         if (struct.rd != null) {
3337           oprot.writeFieldBegin(RD_FIELD_DESC);
3338           oprot.writeString(struct.rd);
3339           oprot.writeFieldEnd();
3340         }
3341         if (struct.prefix != null) {
3342           oprot.writeFieldBegin(PREFIX_FIELD_DESC);
3343           oprot.writeString(struct.prefix);
3344           oprot.writeFieldEnd();
3345         }
3346         oprot.writeFieldBegin(PREFIXLEN_FIELD_DESC);
3347         oprot.writeI32(struct.prefixlen);
3348         oprot.writeFieldEnd();
3349         if (struct.nexthop != null) {
3350           oprot.writeFieldBegin(NEXTHOP_FIELD_DESC);
3351           oprot.writeString(struct.nexthop);
3352           oprot.writeFieldEnd();
3353         }
3354         oprot.writeFieldBegin(ETHTAG_FIELD_DESC);
3355         oprot.writeI32(struct.ethtag);
3356         oprot.writeFieldEnd();
3357         if (struct.esi != null) {
3358           oprot.writeFieldBegin(ESI_FIELD_DESC);
3359           oprot.writeString(struct.esi);
3360           oprot.writeFieldEnd();
3361         }
3362         if (struct.macaddress != null) {
3363           oprot.writeFieldBegin(MACADDRESS_FIELD_DESC);
3364           oprot.writeString(struct.macaddress);
3365           oprot.writeFieldEnd();
3366         }
3367         oprot.writeFieldBegin(L3LABEL_FIELD_DESC);
3368         oprot.writeI32(struct.l3label);
3369         oprot.writeFieldEnd();
3370         oprot.writeFieldBegin(L2LABEL_FIELD_DESC);
3371         oprot.writeI32(struct.l2label);
3372         oprot.writeFieldEnd();
3373         if (struct.afi != null) {
3374           oprot.writeFieldBegin(AFI_FIELD_DESC);
3375           oprot.writeI32(struct.afi.getValue());
3376           oprot.writeFieldEnd();
3377         }
3378         oprot.writeFieldStop();
3379         oprot.writeStructEnd();
3380       }
3381
3382     }
3383
3384     private static class onUpdateWithdrawRoute_argsTupleSchemeFactory implements SchemeFactory {
3385       public onUpdateWithdrawRoute_argsTupleScheme getScheme() {
3386         return new onUpdateWithdrawRoute_argsTupleScheme();
3387       }
3388     }
3389
3390     private static class onUpdateWithdrawRoute_argsTupleScheme extends TupleScheme<onUpdateWithdrawRoute_args> {
3391
3392       @Override
3393       public void write(org.apache.thrift.protocol.TProtocol prot, onUpdateWithdrawRoute_args struct) throws org.apache.thrift.TException {
3394         TTupleProtocol oprot = (TTupleProtocol) prot;
3395         BitSet optionals = new BitSet();
3396         if (struct.isSetP_type()) {
3397           optionals.set(0);
3398         }
3399         if (struct.isSetRd()) {
3400           optionals.set(1);
3401         }
3402         if (struct.isSetPrefix()) {
3403           optionals.set(2);
3404         }
3405         if (struct.isSetPrefixlen()) {
3406           optionals.set(3);
3407         }
3408         if (struct.isSetNexthop()) {
3409           optionals.set(4);
3410         }
3411         if (struct.isSetEthtag()) {
3412           optionals.set(5);
3413         }
3414         if (struct.isSetEsi()) {
3415           optionals.set(6);
3416         }
3417         if (struct.isSetMacaddress()) {
3418           optionals.set(7);
3419         }
3420         if (struct.isSetL3label()) {
3421           optionals.set(8);
3422         }
3423         if (struct.isSetL2label()) {
3424           optionals.set(9);
3425         }
3426         if (struct.isSetAfi()) {
3427           optionals.set(10);
3428         }
3429         oprot.writeBitSet(optionals, 11);
3430         if (struct.isSetP_type()) {
3431           oprot.writeI32(struct.p_type.getValue());
3432         }
3433         if (struct.isSetRd()) {
3434           oprot.writeString(struct.rd);
3435         }
3436         if (struct.isSetPrefix()) {
3437           oprot.writeString(struct.prefix);
3438         }
3439         if (struct.isSetPrefixlen()) {
3440           oprot.writeI32(struct.prefixlen);
3441         }
3442         if (struct.isSetNexthop()) {
3443           oprot.writeString(struct.nexthop);
3444         }
3445         if (struct.isSetEthtag()) {
3446           oprot.writeI32(struct.ethtag);
3447         }
3448         if (struct.isSetEsi()) {
3449           oprot.writeString(struct.esi);
3450         }
3451         if (struct.isSetMacaddress()) {
3452           oprot.writeString(struct.macaddress);
3453         }
3454         if (struct.isSetL3label()) {
3455           oprot.writeI32(struct.l3label);
3456         }
3457         if (struct.isSetL2label()) {
3458           oprot.writeI32(struct.l2label);
3459         }
3460         if (struct.isSetAfi()) {
3461           oprot.writeI32(struct.afi.getValue());
3462         }
3463       }
3464
3465       @Override
3466       public void read(org.apache.thrift.protocol.TProtocol prot, onUpdateWithdrawRoute_args struct) throws org.apache.thrift.TException {
3467         TTupleProtocol iprot = (TTupleProtocol) prot;
3468         BitSet incoming = iprot.readBitSet(11);
3469         if (incoming.get(0)) {
3470           struct.p_type = protocol_type.findByValue(iprot.readI32());
3471           struct.setP_typeIsSet(true);
3472         }
3473         if (incoming.get(1)) {
3474           struct.rd = iprot.readString();
3475           struct.setRdIsSet(true);
3476         }
3477         if (incoming.get(2)) {
3478           struct.prefix = iprot.readString();
3479           struct.setPrefixIsSet(true);
3480         }
3481         if (incoming.get(3)) {
3482           struct.prefixlen = iprot.readI32();
3483           struct.setPrefixlenIsSet(true);
3484         }
3485         if (incoming.get(4)) {
3486           struct.nexthop = iprot.readString();
3487           struct.setNexthopIsSet(true);
3488         }
3489         if (incoming.get(5)) {
3490           struct.ethtag = iprot.readI32();
3491           struct.setEthtagIsSet(true);
3492         }
3493         if (incoming.get(6)) {
3494           struct.esi = iprot.readString();
3495           struct.setEsiIsSet(true);
3496         }
3497         if (incoming.get(7)) {
3498           struct.macaddress = iprot.readString();
3499           struct.setMacaddressIsSet(true);
3500         }
3501         if (incoming.get(8)) {
3502           struct.l3label = iprot.readI32();
3503           struct.setL3labelIsSet(true);
3504         }
3505         if (incoming.get(9)) {
3506           struct.l2label = iprot.readI32();
3507           struct.setL2labelIsSet(true);
3508         }
3509         if (incoming.get(10)) {
3510           struct.afi = af_afi.findByValue(iprot.readI32());
3511           struct.setAfiIsSet(true);
3512         }
3513       }
3514     }
3515
3516   }
3517
3518   public static class onStartConfigResyncNotification_args implements org.apache.thrift.TBase<onStartConfigResyncNotification_args, onStartConfigResyncNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<onStartConfigResyncNotification_args>   {
3519     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("onStartConfigResyncNotification_args");
3520
3521
3522     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
3523     static {
3524       schemes.put(StandardScheme.class, new onStartConfigResyncNotification_argsStandardSchemeFactory());
3525       schemes.put(TupleScheme.class, new onStartConfigResyncNotification_argsTupleSchemeFactory());
3526     }
3527
3528
3529     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
3530     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
3531 ;
3532
3533       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
3534
3535       static {
3536         for (_Fields field : EnumSet.allOf(_Fields.class)) {
3537           byName.put(field.getFieldName(), field);
3538         }
3539       }
3540
3541       /**
3542        * Find the _Fields constant that matches fieldId, or null if its not found.
3543        */
3544       public static _Fields findByThriftId(int fieldId) {
3545         switch(fieldId) {
3546           default:
3547             return null;
3548         }
3549       }
3550
3551       /**
3552        * Find the _Fields constant that matches fieldId, throwing an exception
3553        * if it is not found.
3554        */
3555       public static _Fields findByThriftIdOrThrow(int fieldId) {
3556         _Fields fields = findByThriftId(fieldId);
3557         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
3558         return fields;
3559       }
3560
3561       /**
3562        * Find the _Fields constant that matches name, or null if its not found.
3563        */
3564       public static _Fields findByName(String name) {
3565         return byName.get(name);
3566       }
3567
3568       private final short _thriftId;
3569       private final String _fieldName;
3570
3571       _Fields(short thriftId, String fieldName) {
3572         _thriftId = thriftId;
3573         _fieldName = fieldName;
3574       }
3575
3576       public short getThriftFieldId() {
3577         return _thriftId;
3578       }
3579
3580       public String getFieldName() {
3581         return _fieldName;
3582       }
3583     }
3584     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
3585     static {
3586       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
3587       metaDataMap = Collections.unmodifiableMap(tmpMap);
3588       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(onStartConfigResyncNotification_args.class, metaDataMap);
3589     }
3590
3591     public onStartConfigResyncNotification_args() {
3592     }
3593
3594     /**
3595      * Performs a deep copy on <i>other</i>.
3596      */
3597     public onStartConfigResyncNotification_args(onStartConfigResyncNotification_args other) {
3598     }
3599
3600     public onStartConfigResyncNotification_args deepCopy() {
3601       return new onStartConfigResyncNotification_args(this);
3602     }
3603
3604     @Override
3605     public void clear() {
3606     }
3607
3608     public void setFieldValue(_Fields field, Object value) {
3609       switch (field) {
3610       }
3611     }
3612
3613     public Object getFieldValue(_Fields field) {
3614       switch (field) {
3615       }
3616       throw new IllegalStateException();
3617     }
3618
3619     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
3620     public boolean isSet(_Fields field) {
3621       if (field == null) {
3622         throw new IllegalArgumentException();
3623       }
3624
3625       switch (field) {
3626       }
3627       throw new IllegalStateException();
3628     }
3629
3630     @Override
3631     public boolean equals(Object that) {
3632       if (that == null)
3633         return false;
3634       if (that instanceof onStartConfigResyncNotification_args)
3635         return this.equals((onStartConfigResyncNotification_args)that);
3636       return false;
3637     }
3638
3639     public boolean equals(onStartConfigResyncNotification_args that) {
3640       if (that == null)
3641         return false;
3642
3643       return true;
3644     }
3645
3646     @Override
3647     public int hashCode() {
3648       List<Object> list = new ArrayList<Object>();
3649
3650       return list.hashCode();
3651     }
3652
3653     @Override
3654     public int compareTo(onStartConfigResyncNotification_args other) {
3655       if (!getClass().equals(other.getClass())) {
3656         return getClass().getName().compareTo(other.getClass().getName());
3657       }
3658
3659       int lastComparison = 0;
3660
3661       return 0;
3662     }
3663
3664     public _Fields fieldForId(int fieldId) {
3665       return _Fields.findByThriftId(fieldId);
3666     }
3667
3668     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
3669       schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
3670     }
3671
3672     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
3673       schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
3674     }
3675
3676     @Override
3677     public String toString() {
3678       StringBuilder sb = new StringBuilder("onStartConfigResyncNotification_args(");
3679       boolean first = true;
3680
3681       sb.append(")");
3682       return sb.toString();
3683     }
3684
3685     public void validate() throws org.apache.thrift.TException {
3686       // check for required fields
3687       // check for sub-struct validity
3688     }
3689
3690     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
3691       try {
3692         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
3693       } catch (org.apache.thrift.TException te) {
3694         throw new java.io.IOException(te);
3695       }
3696     }
3697
3698     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
3699       try {
3700         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
3701       } catch (org.apache.thrift.TException te) {
3702         throw new java.io.IOException(te);
3703       }
3704     }
3705
3706     private static class onStartConfigResyncNotification_argsStandardSchemeFactory implements SchemeFactory {
3707       public onStartConfigResyncNotification_argsStandardScheme getScheme() {
3708         return new onStartConfigResyncNotification_argsStandardScheme();
3709       }
3710     }
3711
3712     private static class onStartConfigResyncNotification_argsStandardScheme extends StandardScheme<onStartConfigResyncNotification_args> {
3713
3714       public void read(org.apache.thrift.protocol.TProtocol iprot, onStartConfigResyncNotification_args struct) throws org.apache.thrift.TException {
3715         org.apache.thrift.protocol.TField schemeField;
3716         iprot.readStructBegin();
3717         while (true)
3718         {
3719           schemeField = iprot.readFieldBegin();
3720           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
3721             break;
3722           }
3723           switch (schemeField.id) {
3724             default:
3725               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
3726           }
3727           iprot.readFieldEnd();
3728         }
3729         iprot.readStructEnd();
3730
3731         // check for required fields of primitive type, which can't be checked in the validate method
3732         struct.validate();
3733       }
3734
3735       public void write(org.apache.thrift.protocol.TProtocol oprot, onStartConfigResyncNotification_args struct) throws org.apache.thrift.TException {
3736         struct.validate();
3737
3738         oprot.writeStructBegin(STRUCT_DESC);
3739         oprot.writeFieldStop();
3740         oprot.writeStructEnd();
3741       }
3742
3743     }
3744
3745     private static class onStartConfigResyncNotification_argsTupleSchemeFactory implements SchemeFactory {
3746       public onStartConfigResyncNotification_argsTupleScheme getScheme() {
3747         return new onStartConfigResyncNotification_argsTupleScheme();
3748       }
3749     }
3750
3751     private static class onStartConfigResyncNotification_argsTupleScheme extends TupleScheme<onStartConfigResyncNotification_args> {
3752
3753       @Override
3754       public void write(org.apache.thrift.protocol.TProtocol prot, onStartConfigResyncNotification_args struct) throws org.apache.thrift.TException {
3755         TTupleProtocol oprot = (TTupleProtocol) prot;
3756       }
3757
3758       @Override
3759       public void read(org.apache.thrift.protocol.TProtocol prot, onStartConfigResyncNotification_args struct) throws org.apache.thrift.TException {
3760         TTupleProtocol iprot = (TTupleProtocol) prot;
3761       }
3762     }
3763
3764   }
3765
3766   public static class onNotificationSendEvent_args implements org.apache.thrift.TBase<onNotificationSendEvent_args, onNotificationSendEvent_args._Fields>, java.io.Serializable, Cloneable, Comparable<onNotificationSendEvent_args>   {
3767     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("onNotificationSendEvent_args");
3768
3769     private static final org.apache.thrift.protocol.TField PREFIX_FIELD_DESC = new org.apache.thrift.protocol.TField("prefix", org.apache.thrift.protocol.TType.STRING, (short)1);
3770     private static final org.apache.thrift.protocol.TField ERR_CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("errCode", org.apache.thrift.protocol.TType.BYTE, (short)2);
3771     private static final org.apache.thrift.protocol.TField ERR_SUBCODE_FIELD_DESC = new org.apache.thrift.protocol.TField("errSubcode", org.apache.thrift.protocol.TType.BYTE, (short)3);
3772
3773     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
3774     static {
3775       schemes.put(StandardScheme.class, new onNotificationSendEvent_argsStandardSchemeFactory());
3776       schemes.put(TupleScheme.class, new onNotificationSendEvent_argsTupleSchemeFactory());
3777     }
3778
3779     public String prefix; // required
3780     public byte errCode; // required
3781     public byte errSubcode; // required
3782
3783     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
3784     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
3785       PREFIX((short)1, "prefix"),
3786       ERR_CODE((short)2, "errCode"),
3787       ERR_SUBCODE((short)3, "errSubcode");
3788
3789       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
3790
3791       static {
3792         for (_Fields field : EnumSet.allOf(_Fields.class)) {
3793           byName.put(field.getFieldName(), field);
3794         }
3795       }
3796
3797       /**
3798        * Find the _Fields constant that matches fieldId, or null if its not found.
3799        */
3800       public static _Fields findByThriftId(int fieldId) {
3801         switch(fieldId) {
3802           case 1: // PREFIX
3803             return PREFIX;
3804           case 2: // ERR_CODE
3805             return ERR_CODE;
3806           case 3: // ERR_SUBCODE
3807             return ERR_SUBCODE;
3808           default:
3809             return null;
3810         }
3811       }
3812
3813       /**
3814        * Find the _Fields constant that matches fieldId, throwing an exception
3815        * if it is not found.
3816        */
3817       public static _Fields findByThriftIdOrThrow(int fieldId) {
3818         _Fields fields = findByThriftId(fieldId);
3819         if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
3820         return fields;
3821       }
3822
3823       /**
3824        * Find the _Fields constant that matches name, or null if its not found.
3825        */
3826       public static _Fields findByName(String name) {
3827         return byName.get(name);
3828       }
3829
3830       private final short _thriftId;
3831       private final String _fieldName;
3832
3833       _Fields(short thriftId, String fieldName) {
3834         _thriftId = thriftId;
3835         _fieldName = fieldName;
3836       }
3837
3838       public short getThriftFieldId() {
3839         return _thriftId;
3840       }
3841
3842       public String getFieldName() {
3843         return _fieldName;
3844       }
3845     }
3846
3847     // isset id assignments
3848     private static final int __ERRCODE_ISSET_ID = 0;
3849     private static final int __ERRSUBCODE_ISSET_ID = 1;
3850     private byte __isset_bitfield = 0;
3851     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
3852     static {
3853       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
3854       tmpMap.put(_Fields.PREFIX, new org.apache.thrift.meta_data.FieldMetaData("prefix", org.apache.thrift.TFieldRequirementType.DEFAULT, 
3855           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
3856       tmpMap.put(_Fields.ERR_CODE, new org.apache.thrift.meta_data.FieldMetaData("errCode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
3857           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BYTE)));
3858       tmpMap.put(_Fields.ERR_SUBCODE, new org.apache.thrift.meta_data.FieldMetaData("errSubcode", org.apache.thrift.TFieldRequirementType.DEFAULT, 
3859           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BYTE)));
3860       metaDataMap = Collections.unmodifiableMap(tmpMap);
3861       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(onNotificationSendEvent_args.class, metaDataMap);
3862     }
3863
3864     public onNotificationSendEvent_args() {
3865     }
3866
3867     public onNotificationSendEvent_args(
3868       String prefix,
3869       byte errCode,
3870       byte errSubcode)
3871     {
3872       this();
3873       this.prefix = prefix;
3874       this.errCode = errCode;
3875       setErrCodeIsSet(true);
3876       this.errSubcode = errSubcode;
3877       setErrSubcodeIsSet(true);
3878     }
3879
3880     /**
3881      * Performs a deep copy on <i>other</i>.
3882      */
3883     public onNotificationSendEvent_args(onNotificationSendEvent_args other) {
3884       __isset_bitfield = other.__isset_bitfield;
3885       if (other.isSetPrefix()) {
3886         this.prefix = other.prefix;
3887       }
3888       this.errCode = other.errCode;
3889       this.errSubcode = other.errSubcode;
3890     }
3891
3892     public onNotificationSendEvent_args deepCopy() {
3893       return new onNotificationSendEvent_args(this);
3894     }
3895
3896     @Override
3897     public void clear() {
3898       this.prefix = null;
3899       setErrCodeIsSet(false);
3900       this.errCode = 0;
3901       setErrSubcodeIsSet(false);
3902       this.errSubcode = 0;
3903     }
3904
3905     public String getPrefix() {
3906       return this.prefix;
3907     }
3908
3909     public onNotificationSendEvent_args setPrefix(String prefix) {
3910       this.prefix = prefix;
3911       return this;
3912     }
3913
3914     public void unsetPrefix() {
3915       this.prefix = null;
3916     }
3917
3918     /** Returns true if field prefix is set (has been assigned a value) and false otherwise */
3919     public boolean isSetPrefix() {
3920       return this.prefix != null;
3921     }
3922
3923     public void setPrefixIsSet(boolean value) {
3924       if (!value) {
3925         this.prefix = null;
3926       }
3927     }
3928
3929     public byte getErrCode() {
3930       return this.errCode;
3931     }
3932
3933     public onNotificationSendEvent_args setErrCode(byte errCode) {
3934       this.errCode = errCode;
3935       setErrCodeIsSet(true);
3936       return this;
3937     }
3938
3939     public void unsetErrCode() {
3940       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ERRCODE_ISSET_ID);
3941     }
3942
3943     /** Returns true if field errCode is set (has been assigned a value) and false otherwise */
3944     public boolean isSetErrCode() {
3945       return EncodingUtils.testBit(__isset_bitfield, __ERRCODE_ISSET_ID);
3946     }
3947
3948     public void setErrCodeIsSet(boolean value) {
3949       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ERRCODE_ISSET_ID, value);
3950     }
3951
3952     public byte getErrSubcode() {
3953       return this.errSubcode;
3954     }
3955
3956     public onNotificationSendEvent_args setErrSubcode(byte errSubcode) {
3957       this.errSubcode = errSubcode;
3958       setErrSubcodeIsSet(true);
3959       return this;
3960     }
3961
3962     public void unsetErrSubcode() {
3963       __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ERRSUBCODE_ISSET_ID);
3964     }
3965
3966     /** Returns true if field errSubcode is set (has been assigned a value) and false otherwise */
3967     public boolean isSetErrSubcode() {
3968       return EncodingUtils.testBit(__isset_bitfield, __ERRSUBCODE_ISSET_ID);
3969     }
3970
3971     public void setErrSubcodeIsSet(boolean value) {
3972       __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ERRSUBCODE_ISSET_ID, value);
3973     }
3974
3975     public void setFieldValue(_Fields field, Object value) {
3976       switch (field) {
3977       case PREFIX:
3978         if (value == null) {
3979           unsetPrefix();
3980         } else {
3981           setPrefix((String)value);
3982         }
3983         break;
3984
3985       case ERR_CODE:
3986         if (value == null) {
3987           unsetErrCode();
3988         } else {
3989           setErrCode((Byte)value);
3990         }
3991         break;
3992
3993       case ERR_SUBCODE:
3994         if (value == null) {
3995           unsetErrSubcode();
3996         } else {
3997           setErrSubcode((Byte)value);
3998         }
3999         break;
4000
4001       }
4002     }
4003
4004     public Object getFieldValue(_Fields field) {
4005       switch (field) {
4006       case PREFIX:
4007         return getPrefix();
4008
4009       case ERR_CODE:
4010         return Byte.valueOf(getErrCode());
4011
4012       case ERR_SUBCODE:
4013         return Byte.valueOf(getErrSubcode());
4014
4015       }
4016       throw new IllegalStateException();
4017     }
4018
4019     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
4020     public boolean isSet(_Fields field) {
4021       if (field == null) {
4022         throw new IllegalArgumentException();
4023       }
4024
4025       switch (field) {
4026       case PREFIX:
4027         return isSetPrefix();
4028       case ERR_CODE:
4029         return isSetErrCode();
4030       case ERR_SUBCODE:
4031         return isSetErrSubcode();
4032       }
4033       throw new IllegalStateException();
4034     }
4035
4036     @Override
4037     public boolean equals(Object that) {
4038       if (that == null)
4039         return false;
4040       if (that instanceof onNotificationSendEvent_args)
4041         return this.equals((onNotificationSendEvent_args)that);
4042       return false;
4043     }
4044
4045     public boolean equals(onNotificationSendEvent_args that) {
4046       if (that == null)
4047         return false;
4048
4049       boolean this_present_prefix = true && this.isSetPrefix();
4050       boolean that_present_prefix = true && that.isSetPrefix();
4051       if (this_present_prefix || that_present_prefix) {
4052         if (!(this_present_prefix && that_present_prefix))
4053           return false;
4054         if (!this.prefix.equals(that.prefix))
4055           return false;
4056       }
4057
4058       boolean this_present_errCode = true;
4059       boolean that_present_errCode = true;
4060       if (this_present_errCode || that_present_errCode) {
4061         if (!(this_present_errCode && that_present_errCode))
4062           return false;
4063         if (this.errCode != that.errCode)
4064           return false;
4065       }
4066
4067       boolean this_present_errSubcode = true;
4068       boolean that_present_errSubcode = true;
4069       if (this_present_errSubcode || that_present_errSubcode) {
4070         if (!(this_present_errSubcode && that_present_errSubcode))
4071           return false;
4072         if (this.errSubcode != that.errSubcode)
4073           return false;
4074       }
4075
4076       return true;
4077     }
4078
4079     @Override
4080     public int hashCode() {
4081       List<Object> list = new ArrayList<Object>();
4082
4083       boolean present_prefix = true && (isSetPrefix());
4084       list.add(present_prefix);
4085       if (present_prefix)
4086         list.add(prefix);
4087       boolean present_errCode = true;
4088       list.add(present_errCode);
4089       if (present_errCode)
4090         list.add(errCode);
4091       boolean present_errSubcode = true;
4092       list.add(present_errSubcode);
4093       if (present_errSubcode)
4094         list.add(errSubcode);
4095       return list.hashCode();
4096     }
4097
4098     @Override
4099     public int compareTo(onNotificationSendEvent_args other) {
4100       if (!getClass().equals(other.getClass())) {
4101         return getClass().getName().compareTo(other.getClass().getName());
4102       }
4103
4104       int lastComparison = 0;
4105
4106       lastComparison = Boolean.valueOf(isSetPrefix()).compareTo(other.isSetPrefix());
4107       if (lastComparison != 0) {
4108         return lastComparison;
4109       }
4110       if (isSetPrefix()) {
4111         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prefix, other.prefix);
4112         if (lastComparison != 0) {
4113           return lastComparison;
4114         }
4115       }
4116       lastComparison = Boolean.valueOf(isSetErrCode()).compareTo(other.isSetErrCode());
4117       if (lastComparison != 0) {
4118         return lastComparison;
4119       }
4120       if (isSetErrCode()) {
4121         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errCode, other.errCode);
4122         if (lastComparison != 0) {
4123           return lastComparison;
4124         }
4125       }
4126       lastComparison = Boolean.valueOf(isSetErrSubcode()).compareTo(other.isSetErrSubcode());
4127       if (lastComparison != 0) {
4128         return lastComparison;
4129       }
4130       if (isSetErrSubcode()) {
4131         lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errSubcode, other.errSubcode);
4132         if (lastComparison != 0) {
4133           return lastComparison;
4134         }
4135       }
4136       return 0;
4137     }
4138
4139     public _Fields fieldForId(int fieldId) {
4140       return _Fields.findByThriftId(fieldId);
4141     }
4142
4143     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
4144       schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
4145     }
4146
4147     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
4148       schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
4149     }
4150
4151     @Override
4152     public String toString() {
4153       StringBuilder sb = new StringBuilder("onNotificationSendEvent_args(");
4154       boolean first = true;
4155
4156       sb.append("prefix:");
4157       if (this.prefix == null) {
4158         sb.append("null");
4159       } else {
4160         sb.append(this.prefix);
4161       }
4162       first = false;
4163       if (!first) sb.append(", ");
4164       sb.append("errCode:");
4165       sb.append(this.errCode);
4166       first = false;
4167       if (!first) sb.append(", ");
4168       sb.append("errSubcode:");
4169       sb.append(this.errSubcode);
4170       first = false;
4171       sb.append(")");
4172       return sb.toString();
4173     }
4174
4175     public void validate() throws org.apache.thrift.TException {
4176       // check for required fields
4177       // check for sub-struct validity
4178     }
4179
4180     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
4181       try {
4182         write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
4183       } catch (org.apache.thrift.TException te) {
4184         throw new java.io.IOException(te);
4185       }
4186     }
4187
4188     private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
4189       try {
4190         // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
4191         __isset_bitfield = 0;
4192         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
4193       } catch (org.apache.thrift.TException te) {
4194         throw new java.io.IOException(te);
4195       }
4196     }
4197
4198     private static class onNotificationSendEvent_argsStandardSchemeFactory implements SchemeFactory {
4199       public onNotificationSendEvent_argsStandardScheme getScheme() {
4200         return new onNotificationSendEvent_argsStandardScheme();
4201       }
4202     }
4203
4204     private static class onNotificationSendEvent_argsStandardScheme extends StandardScheme<onNotificationSendEvent_args> {
4205
4206       public void read(org.apache.thrift.protocol.TProtocol iprot, onNotificationSendEvent_args struct) throws org.apache.thrift.TException {
4207         org.apache.thrift.protocol.TField schemeField;
4208         iprot.readStructBegin();
4209         while (true)
4210         {
4211           schemeField = iprot.readFieldBegin();
4212           if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
4213             break;
4214           }
4215           switch (schemeField.id) {
4216             case 1: // PREFIX
4217               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
4218                 struct.prefix = iprot.readString();
4219                 struct.setPrefixIsSet(true);
4220               } else { 
4221                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
4222               }
4223               break;
4224             case 2: // ERR_CODE
4225               if (schemeField.type == org.apache.thrift.protocol.TType.BYTE) {
4226                 struct.errCode = iprot.readByte();
4227                 struct.setErrCodeIsSet(true);
4228               } else { 
4229                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
4230               }
4231               break;
4232             case 3: // ERR_SUBCODE
4233               if (schemeField.type == org.apache.thrift.protocol.TType.BYTE) {
4234                 struct.errSubcode = iprot.readByte();
4235                 struct.setErrSubcodeIsSet(true);
4236               } else { 
4237                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
4238               }
4239               break;
4240             default:
4241               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
4242           }
4243           iprot.readFieldEnd();
4244         }
4245         iprot.readStructEnd();
4246
4247         // check for required fields of primitive type, which can't be checked in the validate method
4248         struct.validate();
4249       }
4250
4251       public void write(org.apache.thrift.protocol.TProtocol oprot, onNotificationSendEvent_args struct) throws org.apache.thrift.TException {
4252         struct.validate();
4253
4254         oprot.writeStructBegin(STRUCT_DESC);
4255         if (struct.prefix != null) {
4256           oprot.writeFieldBegin(PREFIX_FIELD_DESC);
4257           oprot.writeString(struct.prefix);
4258           oprot.writeFieldEnd();
4259         }
4260         oprot.writeFieldBegin(ERR_CODE_FIELD_DESC);
4261         oprot.writeByte(struct.errCode);
4262         oprot.writeFieldEnd();
4263         oprot.writeFieldBegin(ERR_SUBCODE_FIELD_DESC);
4264         oprot.writeByte(struct.errSubcode);
4265         oprot.writeFieldEnd();
4266         oprot.writeFieldStop();
4267         oprot.writeStructEnd();
4268       }
4269
4270     }
4271
4272     private static class onNotificationSendEvent_argsTupleSchemeFactory implements SchemeFactory {
4273       public onNotificationSendEvent_argsTupleScheme getScheme() {
4274         return new onNotificationSendEvent_argsTupleScheme();
4275       }
4276     }
4277
4278     private static class onNotificationSendEvent_argsTupleScheme extends TupleScheme<onNotificationSendEvent_args> {
4279
4280       @Override
4281       public void write(org.apache.thrift.protocol.TProtocol prot, onNotificationSendEvent_args struct) throws org.apache.thrift.TException {
4282         TTupleProtocol oprot = (TTupleProtocol) prot;
4283         BitSet optionals = new BitSet();
4284         if (struct.isSetPrefix()) {
4285           optionals.set(0);
4286         }
4287         if (struct.isSetErrCode()) {
4288           optionals.set(1);
4289         }
4290         if (struct.isSetErrSubcode()) {
4291           optionals.set(2);
4292         }
4293         oprot.writeBitSet(optionals, 3);
4294         if (struct.isSetPrefix()) {
4295           oprot.writeString(struct.prefix);
4296         }
4297         if (struct.isSetErrCode()) {
4298           oprot.writeByte(struct.errCode);
4299         }
4300         if (struct.isSetErrSubcode()) {
4301           oprot.writeByte(struct.errSubcode);
4302         }
4303       }
4304
4305       @Override
4306       public void read(org.apache.thrift.protocol.TProtocol prot, onNotificationSendEvent_args struct) throws org.apache.thrift.TException {
4307         TTupleProtocol iprot = (TTupleProtocol) prot;
4308         BitSet incoming = iprot.readBitSet(3);
4309         if (incoming.get(0)) {
4310           struct.prefix = iprot.readString();
4311           struct.setPrefixIsSet(true);
4312         }
4313         if (incoming.get(1)) {
4314           struct.errCode = iprot.readByte();
4315           struct.setErrCodeIsSet(true);
4316         }
4317         if (incoming.get(2)) {
4318           struct.errSubcode = iprot.readByte();
4319           struct.setErrSubcodeIsSet(true);
4320         }
4321       }
4322     }
4323
4324   }
4325
4326 }