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