From ca0e255aff4a20fd4a14f1c06951282f1b95efce Mon Sep 17 00:00:00 2001 From: Andrew Kyle Purtell Date: Tue, 5 May 2009 07:26:49 +0000 Subject: [PATCH] HBASE-1367 Get rid of Thrift exception 'NotFound' git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@771604 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + lib/libthrift-20080411p1.jar | Bin 56897 -> 0 bytes lib/libthrift-r771587.jar | Bin 0 -> 171994 bytes .../apache/hadoop/hbase/thrift/Hbase.thrift | 65 +- .../hadoop/hbase/thrift/ThriftServer.java | 80 +- .../hadoop/hbase/thrift/ThriftUtilities.java | 56 +- .../hbase/thrift/generated/AlreadyExists.java | 142 +- .../hbase/thrift/generated/BatchMutation.java | 233 +- .../thrift/generated/ColumnDescriptor.java | 658 +- .../hbase/thrift/generated/Constants.java | 36 - .../hadoop/hbase/thrift/generated/Hbase.java | 15331 +++++++++++++--- .../hbase/thrift/generated/IOError.java | 142 +- .../thrift/generated/IllegalArgument.java | 142 +- .../hbase/thrift/generated/Mutation.java | 265 +- .../hbase/thrift/generated/NotFound.java | 141 - .../thrift/generated/RegionDescriptor.java | 0 .../hbase/thrift/generated/ScanEntry.java | 0 .../hadoop/hbase/thrift/generated/TCell.java | 196 +- .../hbase/thrift/generated/TRegionInfo.java | 388 +- .../hbase/thrift/generated/TRowResult.java | 242 +- .../apache/hadoop/hbase/thrift/package.html | 3 - .../thrift/DisabledTestThriftServer.java | 77 +- 22 files changed, 14555 insertions(+), 3643 deletions(-) delete mode 100644 lib/libthrift-20080411p1.jar create mode 100644 lib/libthrift-r771587.jar delete mode 100644 src/java/org/apache/hadoop/hbase/thrift/generated/Constants.java delete mode 100644 src/java/org/apache/hadoop/hbase/thrift/generated/NotFound.java delete mode 100644 src/java/org/apache/hadoop/hbase/thrift/generated/RegionDescriptor.java delete mode 100644 src/java/org/apache/hadoop/hbase/thrift/generated/ScanEntry.java diff --git a/CHANGES.txt b/CHANGES.txt index c48b6ffb5a0..33148801ec6 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ Release 0.20.0 - Unreleased (Ryan Rawson and Stack) HBASE-1342 Add to filesystem info needed to rebuild .META. HBASE-1361 Disable bloom filters + HBASE-1367 Get rid of Thrift exception 'NotFound' BUG FIXES HBASE-1140 "ant clean test" fails (Nitay Joffe via Stack) diff --git a/lib/libthrift-20080411p1.jar b/lib/libthrift-20080411p1.jar deleted file mode 100644 index 7e4602abed661843676e5d9c8c6e7bbf1f989220..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56897 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 QNCAG%Z~%Mzj_-f{AJmNYGXMYp diff --git a/lib/libthrift-r771587.jar b/lib/libthrift-r771587.jar new file mode 100644 index 0000000000000000000000000000000000000000..3988da771f5b8459ec56ec175cdfe263cbde2f0a GIT binary patch literal 171994 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%0DJ0N_oae1$8Dp7>irYt4CzNR z4Jg#NI`eH^`R}nz|Ko7^{~RnD7Rt)YXrJ&CwkAP5f+EVSr--b+0{cWv2s5Ctn6&)B zrvBI`fR?_$j4t*^ek;jlY3x>O1=9^Oud?YW4Qr;vF#{<@R%@h17uk=0vb)zC*YvEG zPfxdwwpz7^fv{N3+ExF!PPHCoeRyqe9c6eu{T=+%`A+Ra{!SgD$vZMR-1-8_fnawh z0hSG&3yBbXyfY7t4@DFrhUQ5hV8A;TpM7))1Kouw7|M57h{(Rf)bzdE7C6>v@3H9ozqbe-T=EEMvWlw+FGmEGs+?ivDG*6t5? zfarUS*fbRS=goYhSD!P1ooW$lv*36t4U*&JfoR;~8q5H=h5;4d4 zt*28cKI4bTls0x!`GroC;ixEl-!SWb+^S_oO-tcwIn4ga{D;k<>l*7ONYJ^YSjiJ1 z5a3;(Uz``dIj!p*MN1)AKMfX(og4%?&fc7HMtcL0c(CQ*pTEg<=LVAE_h#Pbp5526W-fNK9tqrt!c91dnmqw`jHs0|FDb6L2p|&{9;zOI>K~yV+YXrHy zpBkvAjrpOh)DWur25*&iPU?S$>`9DCNxN_Xjx{J`rBW0QSGOCOj-xu`FjskM_(G}T zK^u!_N2?nzh6<;CZS+*=GB7Y6&rq0CmKj=tEaZKKzCjQpVS5kgsWPxIQ zcpG|XSWL`dj6#;NsH$go!Q~sQiU8ao**v6|&uL&L^_YvLTqNK7XEjB~sFAW13_f31 z+nAannvO_)2WK>UjrwWDN&G9Ss#1%|r)jM;VYjC=-X`JjwLQk(e{j5kvNI6x)tm@e z>nhHMRZ{B?>7yNSAzwj=96@sA^A%$gPdK zBT3n-l|6ssU^0J#l)3u*zmap0!-gs0Pf@!{4T^MB?qWQXNu;eW=w`Fv!;JX>C#q2@ zaUEDs9Kk~hV|X71s@v01N579np10j%({=}meAm574Ft1>f8{Y2$vkSm9>KqsCO%mF z`Sn}Ld$x5h$hZ=NvhIqtaD$6qPkDI;?(Z0(<^>hpBW%>%ceTgF%m-VPT_uUm!!WX_ z=JcC|y~-c=>v1iaK`1p=Wjnn2sMEdD)wv?d%LFR2`mzIp?UFE@rOHjmr4tuOuTc}d zCr$F$8$Byi0dhj8#pLRgx4US`1p^cx;)>lXw8*uWco8q4KT{=oV+1Ux$##m#ckBCi zl8}<-F7oT5avnQEL=RGVM+ysiJRpEQSYVTbS7&pf1rP|NAtK9Sg#q12o>`y~1qx?G z^yo`Lj7sDCO!&4aA8kFf%1u}N-cPK6jj9yx#S>%1siFltK2hET6?y>LR=Bl<#zF4J zf&5TTj8sq9IOW-?aSds@G3w36OT8$KnvsvGk`|r*>ey+A)(&vM3w5W*U1dy8a z43bj1f*n3tLw6yIt6Wpcu=vEDL&&JGK9d1Fw}C8*xzB5w1`~@qHk@oOp=PdhF0DH} zU|wAm;Ygl8uusFc91_|!4%nMRXR-KLlRwglGt``y1ng<0r|K`Znr$Ra%MhCO9(0u* z*fOV|n`4NgkKoeNZjA?9pm2GJtlI#TvW8YWR8WXH zo1Ig+I`o~c{-)antIeiT40*6NQf&vI178Fz;>`lC>`9?!;ccj}NR5~7?SnV$zm=-T z`6;`}leS%Pp*UUntGw|dAS4i~D~l`;PokOUEJ`wZACwU935ygCTpN1#X3cL+I`?8b zkGjbiyv6pm=hJ`whWiY`xu#eyXWL(71n@Uib}f_(LGKorE(?M|~ksil3u?0iiEXo|cs#R?-&^_Ap*{WL+&!7!xXykK6m-@TFPwQ*3L z7PSxM4gFJ0`Qcylc@k>85^0Pa1k$uPds(c$Xk-;k=_7~QMr;=A0r#Fzc}1c`pf(Dx zj8nOzB9J6(J8Rj32%NV9g5kL1$F6Pm!%Q7syVF5+Md*tPqfA`3$$jJ2FhhUD6?hnT z?`$8(K5?oS%l4hOslh&u9|S86IJxNh-p`ajX1?XO{t&@HFzz0YX_GvDx_6y!@g@%& zMi3tT;!sRJf)ZTs&g+P_>8rtv?B7q^UJR3}bIi?!=r#yPf0TDytYb_|Pb4P>dBO3u zz)H{;AJ9)s?4E6}pMVBU1NgkyS8{GGq*D$hf&r5fLFhTQ7uu&U@c--v4uCSL1pYRK z6Mc_W|9w*A-$tr`I9>iRM@_1(%dUTC1JXH}B=D@s0`8%K6m5~UDLVxjsFBSJOE7#( zUgcHDoqAbUsxAnL9vZ*qmQ}-IG)oC)qRY73*^5A7LKY->jf|aLoTpM(@oc<5K0i@< zaPdc5vcUQ)B5*WFnbJkzo9m7TErTl7wKsNl=`o&K)c+bN40&N8V1nZ=TVrOKw2!;@ zH*an>!^S(UZ_YT1*;rzyb)TeNd09P(1aAWib(^&C1ht=@CLOI*$!VDwG`+r^t(}hT zz@ZwhG-MhR5OW7J@WYHR$FTh)h|7ASDu~8q+wO8!*#Y6wUZMB$H#S>xx*G> zX8fIa6nLg`-ufYU!l@oK{Y6quFPD;>yM2`ccyq*MlC_*?E*Ky)5tj}9y!BkyAE{cQYu2Yt?+8z*$zsuZjgr+1uPV#W z2`P&RhIJSQe6BP&y0~O-2oK0c(H@inur3vqo_PEB6vm-nXR3ey@Q0o<6c@+}*GEN- z$mwBpS6o&ixJhUzvbHjvUT%&6Z)|aQPn*N!BkH{WQAlJ*ZzPcsH8UW7>{$|;JVPRQ zhbN+)LvcnN341@24;E3Lc#2T7>>(~pEg=cLh_9$OO6My@T3_G`NRS@})QS2dw)mC% z)QE;6qby;@Nmq-t0gJ*li7*C279sZ8T4dD8LidD1%8Q0M z%KktvG{Bv}q1+$QKLj~~B**C8Cr;6Z?5~snP6YkU1^ODhBob@2yNfs{)_X01$Y-D)g_%SW z1ki@TN@5a8BCRmnO+!wSRMj*n$&oZXrJDnK3&Whh@=@26_C)?GS%c|E!AMdNl%AKc zFnM2Wil6%LIUUG<&FMTw#h`6`qn8~}fBc~RUlo&o(A@she@X4c1w{q*tCM^(!Ex=E zP-GIEx)K*ajj8D%ukohBm))boMX0yrW|b1owBB zclyt*amTcQ+#)eP_qndtyRFTwt4)`yOuau}mk>WJu2X|N@(^1%!r(WWe@NMN7vRVA z!ZXvP_RUQOgIsi$7M;e4Es+@Vlm7dj!v=!pqv;Xrz|KxYm^C3|LiXcmxBcNvKPI zp39V*gazfSO%$vz{enq}FsbSGuxEcjw+hF@A;U~!9gBp+oHNPuiM;=^MFkb|Hm@XM zK7>tSB$Z5QW7MxN!T~sW`hvHUQq`Su=4Uq^l;=w{F)K&&bo1g!OVgb#B2V+x8WvBn zr~CqJz3`u0twKRUF1d8!O8HWa92?yz$lQ$VnlF6?T2{(AlUa@+80a*< zxu+WEyPCKA!)YfS|VQGYMZ8TTJY;f(Ohdr|SIc3;VKg%0}DA;%lcg&XT(Cw1AHT*O} zmmN3?cX9BVC^92j7Znd`^JX5TNI{bp5#zX%_OQ4L9BKO(Qa}2}xR%C-SN2R%=xR#jMPt;#5#ipp+jI)%xgN~eVhheyN2c)=Ve|JVD z--Jb})r$68aO)1^aBmG@66Iea24v6bPeO??;*z{kc3rRSSm7o79Xbatk^^Gl!QErQJnrY zC=iSSyD(!Z=IBI6L~DDXw_u|3qs*P6DXQ~M!n>onkPu1TK6WTULNv4Fmy5~jCc#Gg z_5`Eb)YSF!h0v`v)iklFXjW0eX&E00Z5h4kMobplCi8vMa>j4Jb5+MID_^H<^0&jp zJt_Jm{kAikR#zm`Bv1|#5977uvfG}QEH`Bo-y!4)-D|jyN;**E{idGF5O4FXT)llM zieDO5+B)wcWz+lT#4Jz1G*`?K6ae8NV?$?$sTgOrORt_3!fgZ5v-8^;n)#^r9HRaS zr{lAC7BMhLv}`Bo8L5{=sD)e|ato1K(Cbzog4FR^zdgyW3sFoW{=Lm@q4P_w@V2db zNT=W~f#(L~)BTkS_1BpI`i7irk`nFETpT{1Joix|)Wv90vcgoAtW@CB7mzjM$$PRs z69ocOGdlD+QJN~1q@^TMFDa|8LiXvn0@XVZ-hvVfN+i{#>W7M-2$4T?I{V!7_>s86 z#d9EVYEqg|Rtk7mbmJcROrQRB8+OWqxM;~zR#)I~-D=(wRYW>a8M`ybXeI03+H_Eu zuql+rz^*NXb=Z6o`sSdjc^?B(Y_9LM@DG_zvq8?+v5<5M<^jKlJyDppg(tSnCm?uK z!5>AZ&*Sk|ZsJy3mCLmR0!9q`vBIO5rw;s*qg z!@1`%V+s1Gf@XnO8{pT1W** zUQySmjn@|~x7|#==37{i_@je_Qx+BiXXiH@_@;S=47EgRvTw46YlZpbn9PNs_nO@( zdph^KvfshU@c(wM^*=yhMPn5OG8KWwYrlmkC$&Vgl+l@U{StN<@bWLQ@%n7qg7c`Ht%mU)ujZRnWzh9!q{@CF87>v*|{V_p2tmld(UqLU!F}WHG4z_p0su2^%0u<2|#%Z{=Dq+t*|4AF>h!Ucx`hGgTfA9Z$2=N~pu)K|p4kGUe^nT2L4}eo_P1XDz?YPEIvH}C z@Ze2($*O(>=>b;oA^ar{iQ>?RRV_6bpr3}GbYN!_A-S@(GBtHe4&|RXm0(vm)vS$n zh?ygof}IZI7OT;lM{Vg=7VyR!N-*In`-5oBbke!Bz~LOy4h}=|RQnv>WQw|P|Bo^6 z?ErY!{JozIU4vKC%+1yv&MQut)`r(V9lg+OT4L?Dt77ciRl)hc&IteI=>LCL;X%h6Eb{*W|!O=7Mwb@k_V7I^f(bnP$c&p*El764=Q2??9iFXPJcv zqA2+cPgx#^Q+y7Wmrn%E+ds|?+JOn=JQHpjo&n6MoC~%)snKY>E~bn9ZNYFsYw~4E zR{T)&c$mG@ir~)Yrk^hy?nI653yDIxEbDtvLJt_b`Eg15g-)Z@t_d2c!nLY)#u4)D z_Iy=4X#MA1q_#cs8(Sw#32Cp=GX+V?yQDae5>Zbm2B&m*cLl?djt>d6tG)%nt{1V1 znn=)5iO5B%*Q{vDmyHdrA^QbWtiM7%QtgsB+co~_QRhekWfLzNBMiUhlYwWNza!u~Sv$ECrgn6^X z5mTfo_De=G183xkzw9jBm6Lr^%>X)PM|4c}tGv7-+R2&G3@OT`BL&<|`a$s$Zgvue zk=TL?3gUIQ&xE~n{YwMNu2G5|zO<|{b*(IUgUEJ$2vQ*>{Pa@VWp-=B zz9vKJVhwhK(Xn%%j5@ht`Z+WBNW&p2ld|7Y8sLl-?+jqd6I?E92Zx&Hh*HJsZJ2A} z^*xA~Ow2`jk7jw;7N11(^ilGHe3yx~Kb{~fMEW*YrehNrAu{`8V){BjQOw|_1i@jD zr%34Zk)&`LB-MwckadUR0@SXl3zhr8I))Ib>Yg#-H>yraJEAx+;Um`~a?I0$uvk&a z4AV}HY?%$s-HB7^_!u4L8Zng(c^^!t#Q<|FDcL{0AjJpUZOW5V^ocNpihoJ$a~seK|AIDN5C&gSmgo#w zUC{AyVCX$WZKbc<(3C(N z`XsU3*Tt`O{1tj}yn9wmNvP>O(M-0r`g0eh9xu9k4ZCPStltg3c-d!gy=E0}ZS8Qr z1i#Q}73{|{6%KDSO;{brI!EnyU(^yUYKW(OpN|EktQ=A*aFuAimP;hKL8wq1YL7yT z(5M?o;|O;t|4hxBY&IVFX1Zxu-|b7VjqHu`grXwEt0(}H_5;Vm2Y-h+e$vzqww^&e z8s$m}-4MhwMud;{6i&zY3>x&hq94OS{4$0N1pZ_?&L18Na{E^)j6$@Kq!qkbdRtW8 zlft6rQR&@Q4?f41zm3)2AvShi7u$lE*K%!hUENf3R2f?Wk5QvcP&X(-b$(IgZ=Bxo z{fYoLb<{8)sgjx<>PzA%@qW+)l;tT_Ebj;krU*VNpI%w-Po_I9fGge&ior zO&Dc7A11tLo7gxjnLZ%T@jS>qC2-;x%zKny=z!q|cNB$_f7r;{9{Rf}8oh zx&?vv;|Jsa>4y7nn&F2B>LQvq#i|keIH~aMqE8H%pS55gvgB->si|PkOaLL2Kt&RK zI*~?Q>gv=~+<>_V^+(2Z9sR?p&ZCSczN0LUtJZOxuhwT~AGT*Pe7_boUigug>0nFT1iNkoF3w}aqvXLo z8s@H3A^fhxeBhs5m;QeKf=4w7+dUj2XCa85zlNGU)d{6>C-W!#ckO5)rm};0c>`?T z2=LO#r+U_u0ueeh9^k#P_n}oFsxZl!-tb}>tqSdSjIN;k!893beK%;%a<@sSe>0|8VtGeICFw_fu_Ls0#2Jl_b6d>J+t4giX~lJHCYbXSDucP_F5X#jjl8R5L>gWv zu61cJ^RtY>+uL5HWiD2YF=J)hi%ORFYSw9`X?Wzv>8ffWjy-HHq?a#jz`XQLOzi$K6FaAkzPYpET-4$sY z3uP9FOXHWU_~OfW83n#vYC$(SvG+PWt#nXFct{Ph9x!YoZ2p)VO`Nu6)%e(8QjWPD180(cMmHrKtdP^G5>{JJy zkGwQZmJ)wzqACAawj;i=kQUj}lcXsjybSJS7(<{Hf>^}!iMp-jB*il6x-jRixO$|q z0~D!c?m=Pr+v3PY)BKxA5xHh}=;cesU+$HZo)?q!S4qfE2(Wp&$UDTs#Rs_27<}ci zFntJ!Wa}Hs`?bhg*xl@V<8*4JSB%6Vv{qD;@;OH{QH?xB-GY>@JmZtDt~_bBNV(z@ z6H$-6B;8D$*4JhZPq8dg=s`b9W$YXR;ibbL9w`)(H6Fq>-=}EHf(`hl_(#J)FXij5 zw8g7jSD=Gq=!>>Owe0Ii_KMuoV2X7|V4!sbB!kV!p>_DtF?$#NJ%VIHJ8W@G$)YPV zOYtT#5_)>}*fmzadJyYllA2%DB->K~>+WGddx!2$vfX>rVeq@OVAfT;2KOe>&y*Uf z1{e|6v6z>-i{IgRe1J6MJerrIzN^Z=;0Z!|GZm@^~KV9`8-O~a4Gq{b~5!}tC9zP6wePv#kWa~vSNXCu_G@0&bkL>S-PvQ z&8gqzkix=FxRVCTkeiZVOeUyb*x6WFxi~p0=p+xPrIR+Qt(NKK;P$%+6&1otm$UUM z<^dGwje^U4yIezS5y)LHL)!-ar_{Mm9%Ifg=1_AGHA!hNV?!!Gb&wwaz+F~j8mSCf zPmWOk)z8D(K^GuW>&fih`cOUWj*&wTw}-JbJEJRX|6#9#>%?@|NCEuXNY=ZPJ)D&Q zfa#!U(|Z(DLk)tn1&cM2k7=U;Od;5Q@e%BaOt2-zeiIepI%gVuD;p4&-^9odfZDI6 zCF5&L2uZtiIHik{Rz^UT2>=Rn_LQ*H66bme_18_hEkBTj#W>$V7A#|SAn;<4#u;Qg z;|slX7fgKg#c@ODR5K7C`|o8|AGLt$WS_U9AJRcK zYPb$k4=070cG<7#qT*n*cilC2fs=E1fVBNGE#1zStO{Zbo1JSDE#h1G1P*&avAVDM zM-A{(sWSH7>nTh4qhCxEID0L8tsd~(oPQAXdzJL`qI!ELXK%wrY#$uCyu9fA%cq}# z+a}2G@GJ+N&Yy)4<=XiDY$rS16Ym~9MfIBs=|o>~j$_)~0Q$^2P`ueTe;gl6ly(+@ z^X!p5y&OCHzobLvxG z6Kv7%tm+=ENt{7ZCRTflTg4aZ*EAo4POIStk4Cb%Y7#pbTM;}Pv-vmVd40InQOzlm zH3*=!s-o@zG+uu!tIccieX z9Q!mw0ts0fHm~jm#D;%f(D=ZG+d!WUu?8;c!sPG( z8I{M5boOx$l$AdLS(r7<+tK6X97eMbd!(OW(x+h_rBB8{b7m{BK~Ulnd&f96`7Cl7 z#lX~6ZHsop?7M7w<+L$q|M4UIlBA+Fx^AC;DC~_B=5qLkJZnJ9720O~t|d9-?zuX6 zy;V2>`SITVajCW%L7#aegxG^M9Cyin{iJxqE=rWK$Bi@SWk!F6#ho}7?yVMEAxhFn z!GF3waWWGmW1M%(&47Oz02)Ikw9)zU!GH?*z(K>8YmRV5YJ8+HNz;fuuryx8H&NtD zE+<#j@Woqmf%FbNxvjd0iCg)wqz=@DHK5d|9cjiKM^gH%upnK&ge{^x`puc^iP04! z-?fCl(>g)R1$NWzSlXt$abd3;8#BQmc#W%?Ew+gzPGUyw1lm1ZbS>iPcLmVKB`78W zqL%b=!c}Sx?Ei{O`wsE{H@GxMdwpvMTN``FeelN~k zelO1a3w7ZWxt#M_>}O`Di}~bE2Xu4N+O?Ea;(M0 zr9)uINa=%_1>qWuxKp0h+K6Wd5U%qhTqH000!ycM`KS3Dt|mU7J-s00`z98Vg7PBUTiP!&Pa5zh& z3yS~hKP@n@xrwID1{UUJu?Wj5Q~y{W(gWPfuja{cew^pSE^egD{$lA z&+$K`Hty&A4Rz2TKWe@aR{#AX;{SZ6{xQ%eDsQUd08lsMrM<<$p$Ji>!XAgQ;{>Ud zE6_`PW{Qe@$iS#7ogh&#VN*F%8)m|*y8M#2o?16wpmc&PVM1fJ7%zpF>P#3eVcRG-b3;3_FlboYb5wGYfI6 z(kNBITlT0RN_5$HsL)^w$5CBcx4no;vi$NGqR}s#33is8kuJODP9va^K3%(lVq~(M@+LJh5AjF+D%RvQ)JKD)AO`3s1;`l^UtB z{iq}e(zoa}Ri>S(8zH+4F`TU~dp>>%m8d(L$Eh{^^;D#ZZ`J-2b?FqWoR+ibE+Ow!09O#O2MrDj3q7`5 z=6mLc|Fx%PoEWyzPr)d%@0H`?apQx9RHq z4aai8o@D8cuu%@m0rT*HZzx%d^{9K{>mq%Dk&IxKNSkY!*e-S^V(&aYU<>&dkRMTUT%iV%(!%Aq82x}V*TGvUG8Ddpd|wL zA-@7y>;Z8{kBB(4?e}^}mvb&u_U|)Y<%f{?X8r89_@ftq? z#chf^zt&lUP8LyLBer}5NrVMFtDYOTNb~E&U@9zK!ewB zw(o?eokeYO1|GwuOMvnN^uhEZ$n?Za$gBxd5;*B)&u)A8xAul`p;v~Be9(;DL)du@ zK8e*#;F^Ey1CcH2wkZT}Crll7%gg8-X?m5WVHc8en8I|`{&>Ir&`o;R72b?dY`%Dg zwc1J-n;T5W9{R`T1s7d}VbYl4V6lOx?C4A=o){OJWitJT{=1EZ z0u`PLSA~-{C5MRQ;K~w~_#~gN~q7b@>oH?}jj5^9|_J zb%KG7(s3rqN7c)R=!wOBdd@yc*|x6r^Q7S|_;unKuP;JE5cZvu9W32{gx~&45H1jE zW0mTA+2IW7f9kOR5BDi?M@L&BOSAuvv3FpuEL^unJ4wg3ZQHhO+g!12qhs6Y*tTuk zPCDr5X5Vw_+`adAZtbsXt{<>w)jQwujAy{q?!Oaov(;byzPnSty3@xx$0ntP$P6Jb zD8e-{e`=Ea%J^whph*F#(7P-bntIr0vi))l8*jHRs-sm*S1npKuO^M&ZeVIugnCJ| zylkh{u_|>%P(%7HJ!43}br zd#wUcN7&vR*_z)Zo+2-P{l)TJ(Mlgq09XFf82J`NF#tk^2U7qHF6<7G3%TFm&fz~Z zHc9x(fzwM|a39VRC-vZ=c$*eE5|kEJIPXp9PcQXV{38cqR}#~g)881#o7DezAsG!G5&T6*?OZmoJwKi8KW$mLjv*)_q6b#HMnmWyRHN&LEMR;|K zhMG+gxp66z>u=k$Izzj;Xp_$*Y_nr_XAvA*N-MA*eW zeR~pEFOcl&?Djl6?12Td>*b;LgvAc#fsghj^b2_fq-&Ogy20i&)6o{{N37$3f}m#` zE`$~3W||uVxv1kUMqObVSn7FY7M4rCR*q1*1W8!W|?69KA1Jt zv>$&JxG8~RBlGXhG>7&uBxAx%Y_GnOvF7v`$Dl#g<&%of9*(yv<0vTB(4|dIgJ)#U zB%!QLD@bw}7TQee{$QWw+>K@HP%<3$S-Ca2Ixixo>Pedmbbh1*f#&E|<79x~cp`f$ ziAJtJX@^#yxP^ZPh>-D$ObOSlkY*+}i`qBB9rsyD4}Ocyv%|*R4N^EN(=_7hL zOv0+Q88;d^(4DQr##9;n3d}%Rsy3S6Z5osngH@QSPY5nIa2t%FGD;gf(x9sIz4^yKW8WeE}7Pf@ImJe{D&~y@+S!{Z_S#{#jV5=<_Y85kNTLY%i=MyYC z6$O`AOp6IT$E?n=@sHiY>+x$D$ogmTq~RG+sC>)z#N7plG+~7?R2-Jj*aH)M!$66} zxC-D)FB66(=A&DGw#f(s4?vl@WhNLd%o8J>KqO;Bmj9637`1RmBj@tG=_1(l+QMf?c9@#I1CjqHnL%TV<&=VG6 zlS5UWNk#SZ&md_zfl20TBw~LJ@-d~MAT(w&bY>GOLf__kd%;CVIG7p7;k7{1caot@ zy|%kh<5~gJL`i}_9pyDDNb_>+39Jy)t#QJP6 zGlhP|(d15Oi4R}3v>cPpj1nN{~mlCIZI1A0c>+NmrHM}d1cFHT;n{(;ND0o3ji z2T=WzDev*Wdx*nF6f{NS+r*vck40*wJEu=18WirS%y#18#`Dx8?27kH-rl9a)qe^V z&XbdF7jpyMMku_=6^V8}J#Qq-=6@bG{95S4g)M{teD611vW3=ShZTS2@(Fe|wW3+) zDH@kPY%Z_X6onL19O1;|{3Y=^T^9htyCv^2%2ABA*@lM?g*A6I9p63E355DDGEg4m9OB0uaE1 zVx4)VFeDgxs9UJ)r{i>C2zM%lrWekjWR_icU7FtEb#I2=Hh1l(FRTnqL{nP?R>aQN zAKBXN07`#-V_Ba#CB68@7-Rn;y74xbsVa4reOms?5#?mo==(VnZ=y6m%MmI?-z=X7 z&m5e`mCOODJR~GF@*u?O!H#Cwk_3x+hU1ad>7E}B&dBY+mz{?d>f@0=g6gau0zc^YLO_WCUGJCi9?#*i5^EWSfE!hKB!g~6zw0C+ z)-bW=&^AHipiPXm8V-DKM+kxAZ3DQME;&|q)*N8xPV#z3XSbXDhHnSV&Q-s(1gS5z z)d$T~iE^((Q6(2maNr$Ob5iFj^Xvh~<-}}kQ)cJRh3~cMPEu9Tm~_I_<1<)&UY_BB zszGP$Cyl`=I`g_L%%)?GHK@;xqr>@$4r-!EcHDfPvK$}y%>kqiJTm3T*Pqtp3&$k` zz@ZC~5{Uf~=%g~8F3_B<)f;HtbJZv4_3T ze?2wqP)~?xayrR=?EqeSvHG-y^b6}%kNPw(u!nXI6@1|`#lJMi4bZK*0W@eVq3C9H zWsEqG`UykHF?&OHJtW?!UgZ(!vqW1MDO4B(OHl2Z!wQwV4CfqW$_`+EF1%w{yBS$V z!n5i7kdpL`U)p^_X!ato&=mwNB|$<`p)E!lG^)G1ZzRpH|DNw2^M`#A(HDn50O ze=-%{Cp}GvKWnh=Z1M9Wis$ofFmM&OyJtX(5HI|mf6rsjzlxcgy5{*2zIW@R-vI>w zdu`o6VJ=De?~X-NL)-tEkpZ*>B>%l_M2#wBzAs_!{`b%&AQ3C!WeUO0mXJ~k7bXgIWc{_e!_CmfNeKxmt?OFL1BTBUR#mk zB@>W=rK^CDQ*WOJ1$M8tlx6!p?@f2sX?*AP*`vpd2kvR?Z*aqONUQ1geG=%ojnzrn zExSZpb(wM7x$>!7m}T1IGG3*qsP6&`Nd(IjwS%O9vB3^^fNN|}8!bVzHc&x#37s~- zhs*9zX0Wc*S4OWXSFO6F6l*MVl!WET2Am5hx`oqdxm|ywe6aK zE8Xt8Ks;)LE8d%Mc?)Ao+@UEO-W>hKpJHVYhOW2>0Lkjl`BDSazFp0846@d+j5%#M ztmZa~pGGRunnOpiPZfBvI571buC{>gk)(&U&t6Kx#nnfgq*zibz;jM$H4oh=EYb>ELe-)rBFb5uU{HWDdOg625BM4$PN4>GuJ z;Q0dv(Zi8(_A`Fx(5@k_F-fSr6E9^o(S zfRVQ73*O)R9b%-FVKqcswgaHW5@v$bpl7FQ#Xk=j&9I0tpoqLbN?CW&gv z4QqbpLh)ojcpID{Y>wFWoiPrttRY`uzEf$V*{OQC+m*Oc4_I)o zfs;ciUVXmb;yd*gg3*m-mu`<=fi9^7fDgjIco9i;dsmgGJ$@uK(@P>RgkX4c{B-sT zm4ReU+eV=F$`5d?H}wHGlEGnR*oMlWbO4|E&&37zlqPB=&zwhi$ukC0)q-V&$Xv4B z*s)v0Cx5>apqcQLx84=6UR6l%0p6+`|L%Q5{JXjv1H4_I8n^P-_;&fSkMQ=mu_E~o zELSkA(HB;ecPu7f*mMC{#j-md>sju|v|G%-Kr_Me6@}sMmEo!|+roZ&Xbj84xdh{K z@40}FtPJ|Hw~Tdq&Y<6;S@!Q2UAT<7*yTUifA-@b4u7xj-RF9KbQFWnvWMrZ+Pp(% z`U;qcZf8FEAc>6};(DFg|LYePFDFFC_M3gv|7PFl{}WFtYieun=<&~~s4=QL|Bx$v z+WFQJYHCS9H-#)lhQ9*E&}uaSt%C^?0cqu_L`tQaAU6xKHLO|O^^t$UjR3d?qTsKh zLt?YflH|Kzu5{(x3*yk?b_8HQ8mU`+L*&CS6Id(a(T9k6&lwZ zws$&4=^MeiETD47)sdX)J6i17q{co;DHhvw7?~5H#*$miV4JX&Wbs@Dtrr-{T1&1F z#><=a*;h7QDonVVU1mNbt8A5Q`mEHzpYHo~)lUIJD1H4Ux=F8)trU4f>J4o=fes%R ze-i!eS*7Rb6d&y?$}*G@EZCbjNxcL^oN3y{_AWFFE8?vr7|&W_k20ogXpkLk9gS4S zfrIYeeGagRyDU}4&q5iK+_wgm%!&!tIQA)cUh@ppbSG*SS-ks%&@dUGYkJRK654`A zRW59hK6*?h)|Bu2v6Hu8MM3Rx^cpYZ`m*X(kUxixMAMbT>A^tvM{Ii@Zx#Sx_NOmU z)?A?pO8~T!@5FjT1KpF&*i(0WdNY)(sY1T#*DcU#qLFp^33f;o3U! zbC|dv2AN1Bc(81H{6490A^|`lBlQa{)J>kM>y!H?#Rlk*)oVWkrqx!1wb*nyFCjUF z!e&~mYudg|F-U5)l^fp5Vdh4@AAH*BW4MM&4Jd#svK^ZO#UlTQs1YAG%|_;fKsG zYM#%#eu2HlsE#=okS}dd3wO58MnCM8E-ZiU0YeK)e#lIlEtvO8^AGf-W&~Rv zld0w%ero6f9gam6i`+3e^@$qdMCBZQ>|I>sg>id8 zHJUKUvIc3{z0f&n5|iYN{1?lhMQ&m!WGI>Xz4dSPSYQN8p9l|wkT04=g6QyK8K6@o zK{pt`sgc0X!eKr0Yy%K73Bd${hGrrjpB)|cPLG!0a9r@+hXM4r%8!Tb@!dR{Pk3Y; zPp)=RaxHLG9zvAc4Ix_00y8qk+3@SF^t1pe#&K<^{2ku6uHnn;Tv6KGPN`!^nsyfj zjd6%~W@iP2iOT`D@VtF+Z||uRPjVA+o=q&!y8`;rF9Hts{aqL7Jy?IER9axbW#%Wo z?XNF0mjLXdF2KyhwlX9uok#nhzA9X-9R(+E@?R_DUqAl!%T;E3+;IMF(P@YKzu55n zAK6sO-)YaL|3l8bxgn3Behw#g)oa)gf;-d#B?u6W{VX1q)Pj)gV=Tv7ldOeiWg)b- ztV2K4b!h@#;IYgU&wNZ~VX;km)P45JBTw)e=R9gT&idT`Dk(j4GdC4&24(y>n!e2D zcI$rI;&vV4&~8wtTc6Y)^=_MPf&09^Ju5#^x& zfiCc!>y@rQQDX0owI95l;_$q6#QD9eD(EdaXbskFy1N18qq@Ow|CXe8mxUWWtyyE8 zih50#)ikZmxpLm&fKP;X4_l$N80S1~iU?t{|0L`JrL7q$8xFyVICksl4_B&WLf z8F(^tTotLB)!@{Zb(00@7+~L~%E`&jy4S{RS^(HwQ=Kg^%0s}{rdUtzz0={kkU3#Z z3_rLFo-))pB>r+=km}b*gyLL&26*qM zw2@&{QtZ6GLgB)cGGD~ma#qAFB};BC(Un)ue;;$Q5HI@=0i`B`U6+tx`x&Xh&m!IC zsDKmdOPLnha);Nv+5!ou=9oE)waWEkutBwJ(36`X}TZgo+&z46~QBVdhbwvxUp36(lIk=`W~LzEXzoBxQs465nH`3zvgJ} zloT+d5WAS=I7XK57US9ENO|NbSaG_cW>BhCDC1!#rBf`^8H6A80{Ji^;1}rzdg4X4 zJ>moP!A=E0<{!XVVB0IUqJyW=Kin&?O)lz(+9Z$lwfi=#7x#B-SBkFvrAF>S>leGl zM(!CZ5c2G5GTooRV7}!>?is;vy&2pyMt+SDhcD8SNQj{Z!Y9D?8|(o4G})gK62#M2 z!Fcu4O6&(|X|7J!(QA}%JB0FDUfNhg?TUP?g0Ua-)DMyso#8#0T=ssG0Kq?#&b7G_ zs3~JXtr8O@#1Z6OYgdm0-KkLQ@SVbtKe%u$K*Urz50pVKZ687%;H#H* zMU*+4;@tf)U2}V;(Awa0u10F>wz1sVFVQ(1Q5sRwgZj9bb)y?EW7VOI*lVH1(^gMR*uM<28KW*Pi7A|Bnf+{1FA!IfdUNUOp1`+wB!VV9=UbgT~H z3wgaN(?!CaEo8Y!R4x;DG~qp8FoKa@rS3dGTo{UQfJ9#km_VLauzCA4)hr#H_W$IY zSWB6O$sGU^n1P$m?hpE_aIDh7i_)%&d0wE?_DfetT+JsuJlulqo{&q_*%aJ_jiTY3 z8vO&05V45Josg`FyJhqVR4~W2&!jgHY8jg?&2X{W8a^5PqscpW>8U~2m z;|XERDk+hGpHVPYoZcn<#X_m+$r-}yF7Ytxkol-%HA~zu|&GD3Ue)aALfj)!d3#6R`^8o=Rt>a zq;-51>UVlCUyd_MoR!W8Y*m;G6L&1;i%=t|jEbi($Yjqe=^ic;3Vy!0L>w7-3WGbZ z%<@zJtoW&ldX3@8<1CVE>`ifZW$fZMH7H|=-HHpBv=RB*wP0lQrM(%+gb|2$LD~F1 z4{=*BKM-`IXG*$z?4LKDYJCHbu2mBs>;qpIP@yS@XO5`Gpo=Z{tn~O(xF(Sn(1b(3 z+PPk2`~`kZ{(^G-zV{>!G0Hwq5z;;~lE!?If>>@j8X_)V)weByMK?AFa+io6sjZ8} z?;uip3vbGr=X0#gc}^LYN}|5MTyp%d)8sH}X#B4t>~KAst+B+0>rPCIbzX?&{rYw0 zZL>Ek%^xly+&Jen+k~ic+1Zpv&ZvAiC={a5^dy+Jvv2m`^tH4+2gzyG}-;h)%*|KkSzH<~3|p-ygq0i|=L1Tt7i z+ML9I8p1FFR8^ElLPjxFWee9BNw}7JdBeG@TW3PBNX7<%;i-SSC`aT1o|A{7>%rvA^op5k01tir_5g*Yr_`)xgM8_uk-8fEe?hYSE z4;)3#E81ton^fQH#6E9DO^#=n)*~1P3f!`lgRb+d zgM*fqrXIGoG}c4cRIvdi#R_@F?-a#6xARWp!v0C%-f+p#oQte`wt z$xYndZFjhtb*I0YeaAw5=JNZ(>@vO+#f04&LBa1^-@8lV(N7do#J#deX)qXIYRC|W zkb2OU&OvMAt-#Qf)M<%L51=3I6nQMt3vYYecP zJj-%^sv-Rz^<3z!1k+PKeaf1zKZ;9@TB=Z0= zhT?cjVRa=(tWvC>ej}$p0&+xm9Nl_IX>I(?bVcv+pR}RM27~>e;h-ShHog+(w5& zLj{&yEJUoYWUCrL(6E+trjB(7tCF7Xd%=M4R_LU6Q@Gw#&JcdNR3{{;a?m`$G;G-$ zsfT;8ta-?$hbWI*S#zbGz*TsoQMK5`w4yY0M^>;+T@2=k!3IDXps9{nxx-DYl`W(^yjkOAp0YI|-0rsCheeU`hTmbo1L>4( zc0E@{wwH9^AGDMc%}o3bonIborFe%pS-W-ve^Bb8O16P)^c%lpev+y-s@AZH3Yp9x zz!`{>l`$G0l)qID+2rU5_f#5~EV!sLVHp|8vNEMb-h@l9T^M}A1>tADqw}Ssze!IU z`qi%xo=?l%?L;5WnWf0_`30NTUzoc@P@umzTdKp~`5-0dGN)J3v8-WH6F)V5#goAF z?nXajHemhNe7vTC%F(CN#nW(CH)j%szJ=8CEA}$$dfhI4K*@HT(^xgqnkmxBv9n{i zV`)Vl_JN`TQf#3n6JG3e{^*Xlj9Y;tp#Rt$F2g z$BY4UwL-g!@)G{oHf(RJ1GFI-0_QmOiqMyv8zBjBKu3mLst%W}$LZ$DTd`tC;kpdy zJ^@;a;`s7k+XPdQ^9fJm*}s=K+{Z5v#>*bK1B+hMKF#S2T1+m)masn#6?JP3pi}(f z-3Oef)l0I>`aqA36~bQXm1YLP+(IO}BPqM*?3{4O&F*nN-o2WVV7NvGTpLMza6|}t zC!ifPa!OY+%N${z^M}n83Isp!WD`t-63Ol(xupUSH!QI3Yix5ztj z%TO6BPRi(o=8BccLw%KD9w}|&iD5(|K-(j4I}sho-t7_Rj(8HehV%SwlV{JZWqRai z4)S5*Zlu9Hsb+fI7QO}^0rP2h78vqY8xEpT@Q%eg{%F6jQ6KB<{~0QrL(+|GIN2W? zu*xbMO7vkqfS{irK*AosF_ROo@dO?aTzvde*Wp3wLd^=9bu*veE%mT6I(V_3 zkGa}-h#7XizsCtn(ThyzVE}k_Z*f(j^zD|7GPVjmwk_MKg4;UQQSt_;& z_S#@qYUcwRW7Ebu&rLfo19ove`n@DrL*5Z}Sg9Qod)2E0_B>TFq#R`~V}Dbp=-mz+ z>hyu|)ZSyc?@y6GTP;1{n@e>a>m~pDWWU>MHv0o?i|6EFEsH|M{hl4M0$d0<9_?Ee1q$iQ9j zxg>NDJex&gG302nL0CM3%?Ty}7hB1evUeJJvj5jqdvFN_7L&1B#GK8}On+1S+kS@r zhXaHu{Cw?ke>*fbO#O(Gq*p(IZn-N4hk1J#%zd}YD$b7UT%#yENzv(rKrpVMiH^MB z2%PEQ?&ykH?~ue#;X_volO0Fv;7GA`jcq%tC0G{+;-x%ZVQUyDFmR@N3oQ&IgC;`< zt-Iet*}GC!crYPK7-HVbHLMjquElDp9E3_Y?}WXII^uLTi9$gIBY8aHI=LEEac@2> zO;$mI$J-LpdYvhFnLp@FY-}#X=iV5_;c!M7I9^&z!8-h|Ct*{N>WZ2Gf6hkM0#JN( zym1WbAR;v@I84Pj8=ik&Cg4#zP?{k-V53nS^MM&4@~oTH{vw!Au0R#KS9l4n@)bQr zL%yEp{#Wo=*$mcU{S9rtzHP7nkvRS@)Av7fE-`ABUf&@pzNM1fmRV>LnpW%};U$)q zClvoNIY2O^ANbI^>{#Wiuf7*+N;Vwf4Tk_Vg|-StM8 z0VH=-;U^*=on`ccw}GqO6nFID?vf)z9D2jl1>Hpls<5(c#^SL!-#OoZvkv4;Clk|i zo0&k(tyW~nPGn>?uk~PQO(%G5+Xm!5e;vhGuKvnol+R2rI5G_tCU3N%;jGcH(1fji z4YWn=LiAd8q$;pkH%GU%?+J}n!3FOkXAyztOiBr5L5I1klyRyX5c*2I;tna%&d({Dwv)9qu-2`_;n^76157)T-Vpq zkS+710s9NZewF#56l^MS9E026c5K<06Uue1A+j?Ui5~W-p-P4VnQAtW+?C)g!{aqO zn--O2Gwb{#w{eENGs1uxw8VN#>5FIaV*nScxq2QK64~0gd-s=Q=Ng@7%7vQLW9}!v z1o4A*d&HHon&bd&6B6DkpVXti!=Qo#e(^o z+tsVQg}}%g7+-JLt=kf_$Ve(!cRx2+_b@xwUv)s88c8hM@nNefrM6($s0?Sh zS)@z|>4U}EsRffXsq|zsxLH2Y&6REm)H&VNHD|Zfz~4njVJ#btu>(j}`n827$ky`d z)Ij;fn_0jSW+)DBW?J3-_IA9P$-2w*D2viIdr3WYnC*QSEdCJBrl^zgM?FiqHXyKC z&{lp47Ms_&-J8N1Z5kd`hBB1T)I<2VN(SxvxV$>+%5z7?=J=#J*AJ=SG@iUqHwXr< z$*v7Erw(|lJ+ z))jP?M`MJ;mE=r5Vf9C}1lK)t0TI@M&wWEwM+gS*BN0Nu&mEcB>fqH-ui03T(_ukW z_A{@lp)1J!@oPFHD+P!rCtaD+Bay1yTgn zx_fJmv=N9XD)ve3+4^(z`n1utnk3?8M>^VW0%@`DFSR&B>Kp<5;j*y>yR0WNZL7cx z$sxumZLj!#AC7`~PCa98yxQdK-08y2-{J%O&M0%=>lS`(l@X9~QOq$zhSAYig1IfB z2e-xvr1F9f?#4r30r7&Q%l6>d=_p7Y{Mj=DAb(3M^RnEdG0J($JZQOU8e0;sL0<&- zEuh1~3K7^57oJrdA(UizA^%gUS!=JK^hPN!{T-$_KHx}uJa_HdctZ{?O% zM$%u&S!s$bf3R@LIG~zWlzKoJrBVSCJe;zZ=4tm0GOwIk+2)Kn<;875WnpW2@4)p- zc*Br^SOjt6X`Xv^=8SQJk|nN+X0Na?p?yOH4VfR4uCKfHS@M@`WKU#E^1iOxbv2=@ zxzO|q-6C7mJZ%z(^o7W&F9mcfOj!_w8#qE}!iR*w)@TZatODFijlh|mk(sI8Wi6w- zwnwYCG2U+0H>Rd?V98^_I7Ky!I4qP$DMzWo5fOD$Cjc8|HUVjD&q|4}z;66GLifh_ z4s1$%b;6vNf3q8im+Y2oeFKZ=|KH;De)!fzOra$GkK*)CHrM?{5(J(828A$S zM*RWYjBgj#-8oD4iZe}d7WsqtJfDlAiGMw9i= z-Fax40#nB!s!!BX`A1KpNm%mp^oz2FafPHk;h4y6AmB4uc>G_ml4;7W>%yrp1 zLRf4M+G=9!kjBU)G_6zSVgYIQB1j)0!s4kP`AsSrm|T+#w9YSnFR(Au*H&G1M=7Pz8F5iYO7NqVQ5gug#J5S=D8=g{u)2JXwjRsza8XUNR}nMvrw6c&TAG zBDcDnZz3r2`(B9N{DGw^Jh(%&?qZKKP}`B0RERvK`>zz!`=E8VAgJ_I788>=eBQT& zpdXl(S<+{uyqWAupww<7j#S1+j$$6aft!p><*}XspuFj(AHQ;_uw1Q{6BIWxTBr)5 z+S&v4CX3Ck>NO`L>P?bG%ZpG&Y@CK_EACgDXJ|5>c%hof*)(x@D+qWjX|bT%na$?X zYHG3=#-08~1QNi)^GYpvzHEN8Mev2X{GlOX{sT zkX`?dz(0R$+*xF>qGmaF>)|cfw_Bu2OEVmmf;*!%M9QpAiw#KKgG8mbeu12}kiTOFdUS&A>Gc2=#)h9!x#~SrcMz1*U%Zv>l#0zz z2@UnYQH*c5Q=MdO4zPCHW7RBS<)Hv;XJ^RUbD6Yq2RT83`7J&};|Un)vXQrNSKhyN zyBYceTt}aSm=h_s%!WojIHgVHTl}qH&U9fbM<4oi$fQ?=1_dbp4XFh|r6$WQe*qAb z-SUU0*R?^J@`;KvEmT5$fVX&o^_|#zfR>JP7vDD&TVD7p&dx~u18tw66-I-r{b8!)!L(^iN1h;Y zvKL@VrPr>UpP!~VH=+iGl3jOp_KB~eURC~xD1id6G^>%0)n|^XVVsk-?~^hG0o?>; z<>869r~!=C0TX#%Zj4L$5p|i~W(;)j>uP=Pvx(wx%}nbRgPFGHGr?0gx0@Bm>y#NH zIk|75al4UKey6N$W^Vt~L*z*P!BgdZxT>mHTw2J}~l2eZgo(iqpTqWVxY zO`)+_tp55&vJsIdAT6PMtaTIQ8o{pM>2m&jUNqd_`NWz*u0YRZzYCo7;1*|>ki~Gf ztXIVhO;rO~2l{<96_M3vmpj8T>%J6bC|cMOfwo&J?3xc|#CG zx`JtnGW^5jugk+84f5{EG3xdFa7+m1nqPD^@z z{i@Lw{itpDZ4TWcD&{!; z?+^7vDa%zt)qh zSAO3vlaNH=dk&g77nrIyxq0q*`~D(HveY_kasV|a_CVwelF#evu#e3F9^2ZK1Nwf> z4Ltmj=n3ZPz$X0k3gcpx|6y*=GFGUjG-heau+_^ZD%Kf6Gzp{wv;n)DK*&5*^8rd| zt<;Ax4zGtk;QG#A8d$ZFMtZ)?J)CuS-#Zd6_@nPI&p}imhz_f? z-adXDjive>X8X7hQviFVl+q{VzG0DPByRtN(yve6B2Hh6<$8hrRH2yVmgjUYeP93& zuN)7kTQ<*IDl(0C?K6RC#UnN7nN-g&-8st%$Lcy;pq7vV7v-LNkU8rP=D9UgTR3$q zG+KY#;1!rwpX5ayB*m+yi6*{hTBT#bnB60uVy1&QPa3P8)zuicgTDm&_^l+Wh5@Hz z4LMZbT0)FRl3}^BRkTD@0&W>#4IA-gU19QG&U7q?8lw9Sv#^jx_BMv{0$Q+dJLnKG z^avMqrYjf!yb9TKg7X4m-x&w$-8)t{+~Ie8g@vqp61E@quJ<-d-`udhiI6f4u5m7+ zZQ~{XsK44{DKhycdtb0ZLLBX_LiGAm*iK+fj6XVN%qE%6Et6=N!u7j5)vtK3NAUsD zp;Pu$=->zjwu!?5rZ~PYgEe-zP(^>xs!~Gk2i&2_T`bUMGtY;!ZAOTYz zFxN|O@Q=d0mmi9OS|J4}2#N*+B$lJS3`rTzD15^)*z9&X7!^fO&%PmFhOe!>5&i<2 zB*|X#x!s&Tb~~R>7ZY^;f;^G=m}W4ttu_5I5Maa@k%B>(L$b;CnfpZYo%)#QeD=Ee>`67-v0rKu1eX}g49s8ml#MJN6$u8lR>GzH)%=WL%S}PKC z(5?}Lj7P7PC8~{%poZgt_P-^R|E6eDd3Lifr}sDn$2LeWi0*-n&?X8fhPz1V^$y|L zAB!li=SUZ5P2WkK!{}>xgi07u@^YqUkragkMhIhUJVNsAC}n502}dos4}acQ<`kVm zN5(kKk5}`zM6#}|Ywx5`B^8~wk;zJE1ICMiG1DK$edT!SR6Q1aK|rjRv8iJhEFunQ zriTDP=$Mm9Ea#jFD!<6)vy zWpC~hMb8=uvAu%ifGj5Rk|>NOVfd3>xDObk^T43)B%!qX%2@_@SZl5u&p7k0a=C1J zw{ML=08x|M=?;+oYCv;sjDvJhpoKchi1<*TN7T=||8d~@V_#XZX9Zh)9 zWqLv>K&V=S^DfTXO#D%*i7B4^U4~kepti9p_fj+PqU@I`P=+?6~Pn$6+ZZwQGcCF&3YAC%9X~@`bVuN2$T^s}d8tA6;t&wv z|Dbz*B*$82^cpdgt;C3Z6jwkSMmDN$sJB%7F4TzZjnBU-UlRM6%>xP$kXxGDvb?ll zO%9#^$<%jJvqZp9Ysu|;8|<$@gNrC(-(gP+T*$gn_qaV)cZ7Ki04FwPZHX9{U5w*{ zF9~YCLe?m6)01ZGFl(@-6x?Xo0hQWKkKJ+U5@3vGR{mIQYzK1H>zgkaekp?iMi#Ap z+I}~n!dJDm#5ib*Ouum{t0|AbXZ^Rh_#RnWqZibLX z^F*7BeEOFxHOcclleW34*Px*{Y!<=<~Rk zg#0tQ{@!RN#pfOW&`uB$y1o=rt{lqOFJ+rQi1LEMcTC`0BV1aP|L9PW6sg`vqBm&5 zLZ%fhL&Aq_`i!J=@`i4(d;s+ToWbw|xMnybLc4C5h&XAY!=dJ!q24XaMJYj}>Gsb< zenD9y#$RF=b&Ifo(6pj!Kgcv5PtZue{#yiSuQmV_^_xr}|2{X&|JP^cU*aW_75|}| zK=4T=gZ(8SEx3iDp#Tjm4MX!SoXDn%&pW>cOKODz9JNclqsmCYc>ll;som=TA$@zh zz187mp8J0H`UJO&(gC|zi(80m9HzjZTFinTtkuF!7Myx6hmawx8Cf|rAaaVBi=t); zuR0#ZxH5l4&B)T0g}kb87JY{)@6;z#bJS%h_Tb2;yk0wZ%8hfoNb#{qPLj^R&$L&f z4G`*4Z%RP$$X4)R%Li1VaiM~orChvwyo~+gzyC={)PL8bM%I{>irP83`p1MyDahyN z6Y(abfL+;8`&61~Jq~Vnpq@8pv&Qp2-ZBl@1Xxv}VS4QzsySZ+4#&*g1N}*Wn`_Ea z@`7mQ>ODG}&+=d3|8EK}WG&_@T{|`=_@2VSk$?Ok`d{C&q@A;pp`E#@^0%bZ%FxxY zNqxf(n;pStMP246O7i}c6kI&tprkgd3qpPXtcX-lKLfCobhX9}T?@%dz1HE5SLorn zSsR_FM;)o-@nkwTtNVI>>7(A1si~=$T#~jF){;@IA99xiwINB@l58?$sk3O;+@Wpm ztt!@hvWcy2*)zXTDxQcAreTXDoMypMfHE?*}(XjS(=GHZEYZ`4OA z@ro&G>zlK{5=0Xy+GwEVP~gQUeUW0v{U#OThHZM-$@I8qs-!Wx63Rpwe!x;p8`e0!bW4B+>9} zip3iVVmN(4f#Z4a3y_-)4wwKLtz>nCb=X#lNLF-3N;@G(M@>fF@GW5E2jQo`DpD&dP5zwH2Vm6s)IOsz3`2vY9VM`4XDJrLY;pz)5{bO0i6^pu=Su zOy|23PCH@!6cZlwL%NXxW<(O2{kd(svHG-2-k2Z(R+J8d8a5I~F?KfoGD4MwanWds zh9%hIJ1{+wc!EMIX;3;&fkvOZ$ANe54m6^n(7%qb(me2l7TtT0RY-v$Qh9{4O)sZl z7AWpa;Zkwse+j@5C5!8vm5fRd@yX(n!L|>#u`Xdrm6UsfaHtwx#?xQ4ryC;7b|P5R zbSYUR**-_@#=#~0#tGajj{{m^-jdMNmUkWY>c9VygoEjE;@=O63|gQBc@owna-J}5 z6rz{sUsBPQ5O|P0|C((8On+vT)+r$uHg*%Qhr<_d>cYDLwHtwGK}LZLSGgjowx6u4;~M#!7kn>J~Ot z>ju<)#%F5xDbaD&P*Qu8O{8-rBON^v@53JlOxpWz-wwf~VI;x|X20;b%*p;pbux+COYNl`M9KP`mK9$$-dW$rXSsrkV`FC=j#^ZD^&g9nk?pr2ol4plWgd>Q_@ zZu8uw0u{vXMEv+yJaA7PU%a4C3<{cm4;{oi&OZL!T721(27RTZpPfgiZ~h^|;@;Fi zZs)*~NXm|f9sv*7w-~xLhA`my_){*gJ-2x;9OtnPg(yn%J3%ZQHhO+qP}nn%J4xwkNi;?^(~c zzjv+YSnsj-&+C6()m>G6b{D-bUh9QA6`mYyYF#~!lKQuQmX>fR!gI1M9*35|&R*%{q5-<@sp<)!BK3Lj&K_+3W0Ri=-b9dEO> z46c!%`dZm(m8TzXc2g4{_-DGe#2l{Iho|8(?yhTG*3i=jlEYG|q;(wGliXA{mg7^c z9@>=21h7KhnwO;v&ksrzE$&u*-_j zc}wNa#zrwD`J*F6Y@%08a*=6(ep!;4Onezw@q4mL@}8L0LAQ-WavdR@*h4KD@9E>q zeF;YP!#2tgb-tOjK`hRGuzx}v1P^dmJP9I-@J~^LZyphX(#W9z}b@)H*_{Fh@vs1l5v#sJ^*lOzGVQI9QAld}gZO%#XW zAdR?3o^#n87mEBiJv6n*;x3a5vUyW<+elofOD_#J4~iILLH;JZQMo8Z(XUjTJ;GyWzim~Mi=-MgGa~M5;cQul8ejZgAxW@DIHgRp4T?W# zQ+wWMb9@cSDZWXdq{qsm$}EX4;V~rwH)K_VLuD=9+oY6^s?s3rS!3%?hE~gLLH0nu z*q(gVruXHbdvo{!zcZOOfx~mR4n)e(n*Ow;eJthq#soavtuk_%?ZX8W{>-m(r$VZT zP?}igINNGgr0#EyqENtDfT&RiQ6RAds-~cND?%y1K!%B`kz7%KSo(cvarsBtD}~B5 zdftjF``JDH0(>|`g4U6i^;eD22yJ*0J3<}pm9*`65ze}P!~!wTYrJ1&&kuxqZHAX1 zU*%EaJX6e`66Ij5UCTR0%G8CYeE9Lr^woc+3uF~ks^&uqLiUOW(fDd;d=s8!99la( z&e4V^Kt78Tg=#Ao3_bi)eT$ zN7lk@bqeTdvqLAE!qr*Id>K2nsk^Pcd;fBrxqQ5QYXhcxfIYr5x{|TK^WK=D_H842 z@zuU-k5goFNfbF+D^sCY6!3^+U17jv4@yBv557+x(&4j%r|ov;>UMC=I6?!ROlc0U z;o&W3a=Al${zM_}+u<9=p*8ch4a{esi#6)@ukSrY4xJF|_zp|m_UP>MTQO-{?tH%Y zYUAs=+{*9QA)_QIjPk$4Fw4g2t|kN5CN)jK)yS4hTfGSBZ2eT*_or<9&1Gj)A zu@Qp)%a6{FG_~#F$Ke-7y<_%b(g|w}RUC5LbPGw?fqJXQ+DUz4Rmb{S*0hi{mZDS- zrdFj3%SxsPk>egALB^G$`OM=qR3--EX#)4>v=Y`ArSVd}DYMb^cld>C1~H9{rniEq zlwtLWT@9w9l+=xWA>dfmK@>&hGi@9gYL~bte06mmD}#w{geS(u`orxGD&$UG+uwo%QO`+iEOG#5CW&$%x#YE=wY`%dqq?ARacTmLwKJ zySGRuIEuxHJ*-_A2*>;m3AtyMxR77vnx3%s$S@qWj%b0cYRTccc{KFsAP&|s9i+>; z{??=D&e7%>H7nT*Zj>H(-Wr=koh!Z2S(;}4J}&&6>1e5L_O439nj9)jr8SapKV4He zsH!D|Sm}Ker2BBzv4*YI_M04-#ALKtEP`GTFLCBxVH>u?wu+;lwW}V7dToG z>}tJMsc6!Sm1^k$0~N}dyNJl*7bbq6^FTxzvCpXZ1}nXOsBYv66B>y^sYG;<1)>Y2 ztVld+BbOb=o}1qc-Z3M%F<;3B3ujE*V<%s->Sp~Gs$D)MevxI!xSm|@IyD^ah8YI+ ztBF~Q=RD-IfT^fE5d8AKgMh>P7_9dd9kWFZI$}xg83;@NN(=2%@xpL~O4{;x&0}_? z&O%L(l~Lc(GjQaea)h%L5X8#tiY7JnQ7D0v2tOo(148O@ynRWK5o{lf*$V!&>{S^+ z0-{2^D-xmEZQF*S$D_TP*qgpF6u{#)`I$%m?j2-hlcmB6{Z!od-8cc6G}q_nWGv?^ zP13KGkX(rLZb6^F`6PdSL5QVJWFLS>vJL1mX#Q2fEAqQJ8u8iN>$%A|Iodio{%4iP zU;ku~qLfVr@1GU}aFR0)S}A5C%u`h;sum?vSZ<*o7-SR7`Q!qDzvAt2yqeH?PLxXx z=63Vvqp__cRu6^dFW{s>BvFuagk5Qrw}g{$Fg=9Dc9kN6GF0k4OE2KJP_Rb+kVP={ z39TSyL&HsE^mHzw&{cxw(vjd;LiY#91}WO=-1w-Fl-UbCPM_GuJv=kL>BBFS#z;mK z8-_E!ikhaKaNvxp&9 zUEgCE-YDK6B&=<72k)Hi>;H+TJTugZF&RcU^kcL+l%x!xIGI0-{MB8N+qB^QsJM5rp=_!PgR@1U6`^f$iiYmwlHhEU}R*8Dl zb&@r@j5V6|K^7LfcB$$g%j-RZq@9w@qksWArh$`A0dJ|?QBcl-aic6|XB4NUl*YXv*VZs=0c8884KppACtN%Tvhd& zFr2$}5k?>Gj&1+e@D`uom&|#atq1TUZV#g7+{S>_T|C??!r?JQK$R~Or%=3TSUYrP z(tldkKMq1hq4gxnO$m`Bz#(zq?pbX+oiLqel%nR`P|a8J7OIN~kcVxa|+8MlFAQCGIRm z;Z_XJASjMM7|`bt#|6bpTqM%aqfPlyaxq_yMirRUB~sujP05IDwxTS71C13G<>;MF zU6S31Hg{6GL{!GZfDpEEaCAJ=+ditdQ+txC2nY6rI>l7w@;@NJx zs@`dkOjS~;+AXle+cFL^XO2y-Opuu#M>edLaTt zawx8sNIX4OQrq|Ndhk3%54$2ET$VBgfYdlI;%Bo`S4UXvKf#J zcIi9`(*O#uo}n?3Aq&72T>wpq)=}EFtBXmCn~}lB|M@*nmSW@ z){>rXZ85swff*9{kou^~PtN?z#FFf_L8LZ4Qq4y8QiF+z4Pb_98< z_?X2_(EHzpf!8h6a3Z;cS3pyC)CJ)0e%pMp;jN6ahHz=QuEN5>cJLeF;U+?i^A=gRBZ!3UpIDV6o(`|kH zh~m485q#>AeV@;zjs4}Y!(m?J>*CVwNcK50WGnPs-VuU!9av>d--9~aN}{V$2s=}-*|gjt0cf_O6~P$l1@X-8iD-9-}bfqsib$c zQQ$^^N;(JNAi{s=pMMJUD1~0@3|>G-iz>st5(jM+(`26;wvjKa3RNfX< zOQ@XWb9n|_SD-8>6FQvX#&C-_BgBjDNCZU-OE*ec4=!!@3ySkcQw!HzCUbcLNdv!F z`tXV|pX)(-;yzpzBNLQXP`q-4mWf;`xUhcG;m@7f^w=MhTpsNc2^CD|Lgzb0^dK;| z9(wS{h{5hf_-62=%E^6F#!Qf5{CiHUxreB8MX`W(MTDk2fMh|UdV;T!@L*E3Iju0& z&m|qIL}VdKc#<DbdQ-hLsJgfc zG$BYN=1|)t@Q&WTG|R};WD}z7-3|RabZtK}ZlzVXpxo9Y;jO(uQHALbj17WCMhzd| zeMEaQ3u~D8mjy_`q^XEL4Kb=EcplU5jhnaVw~M^IB~cA!i4f+wk0}*LaZ4nKts~fx z$mjR*-N<-LVVynd(PYP*{jC-kwvFMI7Q1w^-;vENj!jZE37jj%u4}TH+^qXC#GTqm zBH9>(IU47Zyk)j_H#d&r313~v_o5|#LD!*!u8)=*pq7Yp+0krdHEOc-wKidyQrlrg z)qZ4027DON2r@wd3%(zRB0MB^aGBP%R1k#HdQNY#Ucd>2Y;<%`n1jtot6q5Y>ygM! zJ9AL$zGc_we0f{3SHogg@&^ARS22j(kQs@rzTLN;BTLo#J$2;tTKY2HqP8cb$8#)mi6r}a-?T^L!>9lb_zT@B2^1_UdL+pR z1h~q=9LYsveJDLL5xMXEMZOvIYa75^`M?y@^+o>LNacxrz5AYZH|qw8ui1j;i^6!DZnQ!OZYv zgBgpynO`Y4ZhAx3u|}OEP`t7`EJ;ep*d~RmIj7_*cgQB{f-m16Z3TcN)F*UQTCj&N zRv-fz>CJyif_qZf(HAB=-U|$;k>h$WKiY)A%iO}KVF=qEM*3FP$o0U)(ctGY89$+X zonw3+AH6R!_aD@)Em2LNb{B~^8IyA?Wg@w^*bl#*B10sR!*Bcty8WX{RP{oyz?BZ9717_(;S|xSj<@|A$S&-zPha_#t6C+rG z!XLsUmNH<9TuTp?>5R&XQQ6o_WL9OLYPTm=+iocL4Y-1ObZr^R*Q=JCbgd42B}ai) zbG?~hk0#T>E1Nkoh_3yrvR8_T8VB_Th7?zo*-=g5PwiWTlzWa($+rHC4!v*aRl6xTUKZ*iMuPE+%rTXZt?n}*g3Y8s`(AF&a;$Y1N@v30&v6PaOCr93o zZD+FB<4s{4rp8uMp$@0Hwvtvhg5m0+uhdtOVQ$Gz)aOMd5}0codCBCKW@XTD#eyQZ zudaCeqv)FyVM*adh%y%AvQeGWEElUJn01Bm`Hb`E=a2jb18BbEE^1$sZ~G16&|~4KUSbiIs&fv?-Wyy=cbVMW z#cpXXxdgaU~)g{<5q+BBBL3yLK3QdSzz&BiMXt0y4kiafB>{& zmpQw=rX^Gxg9ne#@C&0-p(G?fl@Sh@{Gga3n?OxEKSz@a%94~MupEQ>ccTTaP_AJL zh*&4`AK&`r3F*4mu*~jrS=$|?JXigRv4*&QfN$2Zg@%thq#u2Tg&sb3F5((YN?x4u zI1ns3a_fyS$$qVf%%)DtsJ*VeW`4nb|1TvhmzyVU0>EZ10Gs6hUcdh@Hviu_fj>UG z)nB{_fG8?aPUc8Z`LH_IG_kTAQ3s%mOD|x7{e(T6-5?w&zq!oPB51Xjez=(QxZTVk zY=_xKvNnny)BjTF2M1wCW&a`OB-Tj}fxS`2A3G0~Y}eif#GU`8YC5mUPuM}J8Wpqc zGL-Jr4^hwv0b9{fKopVd)j5Skg++F3wIA9H9OLnl1h-XK{kX}^KR!)RPIO6ao&Z&c zQ9A?#s}dj_%3B>g80*;)j|^jII`1KN?DnTUkThw3B2FKe zp+e}__JiPru1?9#KYEe>T$jzDOotI}!2uXj&pq)XBc0_l>e8n&WUxmaJpQI?^0W`s zjcA?N**S4JTo%W$B~|4~0&8X;B}D1S8DHx!=YS_ApPs3AQQ{rH=O%Q;Nn{vdY=z2o+y2qwGCq^UVsK44NwIwiir^pS|kg+>L4W*Zyc=GJpn_X`AaE ziC^UFiEqriEs2ekUF-}}V}3t)Ii7_dqA~F+IyU!TJkErz50c-1yT;jZF$oJ1&a&h0 zt$)BWTXrv_Zi~WdY}&{!fpnu`%{v<&Xv7Tr0Q*AU?TI!(DE5drA>^>9W1+)hn^i}> z6`)DaVzUnk?wJN};qBp-f=pT1(r+IP=BbVRd;6WoFZzn<3H+Z#+OO@g*Z~0QEzJKm zc%cY*A@g^sTcxaJvnGt-xm2Ti9A>Xnerym4oMgqOlrA1j!2uEejWv$!1SfoW6PKn! z=)>cP`$=!q8JLAGd2lT&D{Do=+;O%5*_}>a+cY~a&X75Ch(zK#ZX{{t`{0SZvd~au zEU3`lzCG{L80x71nq`?O6=Kp@A9-CR4BkFo+_Jh|*Fn$>;1CC^u$W^BTQ-%5vy#F>w}Fl=a?EuJ{vQxo;!bca5N}eENJhY z@fcy3Am#D57j2`kuVzYo=|F;dp?w?>mla<@5_D*8IAn{-eB7>8knK=~w`#6_zf_;6 zR7Muu+5j>g%H(;sQ?o@50q8I+V@a!$U0a+dow#&J}k4vC_jY7te#LH(CUH53OK ziHb&E6+l!mL=Guqu*j?y<29k}0pxDLd=3r5K(!MKHi`0K;}Qr-8O%nV2O2bH&N(bT z)!@VJSYnb`H?>nThLeFqowJc!9lLSz%n+_}*X|dFrZ8&}GS1 z{7w0`MDi~CrOwFraMac8LED+fj#B)*l$kK>ffk%cq+&(k{l2p-y-c&XOR+uQgI#=! zSk2Arc~h8g#c_I?u!mb?W*a`>_ta?N1k4Xa+^0zkNFY*Xlk~(9#JRmAJ|0}(RB~dQ zY9AF$O>DrIEK>>3n2o2VEeCJl$RZnxb`gZ1G$`$+VmpwW@wv>HY0~C%j?pQfE>1#C zZQaK!;}BV5lU8rd-MIU=Rd3Kr4{dRf*}}o8i-US;z8G_Tb*?a)EG5GUkAYw!ngjB5 z*WAXzvE;~B941>bKVV_B#fxdyQp41#qh!fS-@JhnW%S)(b+%x&N5$J4(2ECb+arCs zk($>}?}Lv!((8BWfbkfjQ)=;`o*h%U=IUKU5;zGSNqFSzPL|Y@9UFFuJe7&`R!1&3 z&^CX+s>cIfnq}CSmS=M6#IXhs%wz3p`XGr^FVotN6Hk_)QuS-xQ-0QCZR$hFE2nJsRVWT1Md^gAUE zs5STKh;f-<&F%1o+^lsN-1p@NxBAA@^$JH$QQ~QieX4LakW%crB}(is7(1FDKE()5KU% zI`5QA!g*lQv7$qCn56{gTii9ruNxqEVkz3%+S7IDOn-3X=t!E_Y{}+$vsS)kt+&+a z4XZ1xLe^@(^K5n36ijhEDJ}IW`DuRsZN&VK&OX8t6_W%|A2VR{H0{6EX)7Z~Jsm?m zM?Jc~#EcZ+QxNd=pBPD5!v+u|c|X>$-u@~aPYC8>)?#KspEunFid)N<0inVDrD-Hj zL{VWK``P6nI_6AERjVJoBg)xw>3P(*Pe#P*XQ7r~uj=>5@0(LjyepZeT7nL+E#gpu zBx~|FRM#xxtpWIbh86(7Ppo1d;P;*3;4=39ajpS=Uk0Dwap#l`dc&=R>gZ60$}AW| z_?AQqDXv-G(ji0TNJ1&)Xq*s;{7moAo~}SZ6Md2*laRHG@S+8HyNc8GVLbWu^is3AFaX_?M@;WJ({@T|cAmmWHj=ICjp zYN<8RJaHS`gtg(3ZH2qM6zSOZt1w?}Tnj&2!|?|oi=$N)x6MZ{QqFbB40e2^@tUwj zH@jyBzG%`*rGP~w1s|7LgzjIsp~(bE`eMA;GY;3DQJ&|J0yd#mN;1o)%&h-uy$wZjH5NIv2|+o zI(~%FY)u@ZBlGS?@b9E7+9Cn&QDmv&s+;-tL?KxiYEU1DCnsi=bI1|RyGIDy~@5{Ep8)$I6VS6F_PhGl=GOgsI=QFb1EfxM;T)ti3*5Go7qxT(eU@ zZSY)ro;)uncMu-1flvu8JO~QChhLw2wz%Dzstg4gW^Le%2#sb=kqR7zYk#TKyCtuV}{m;|a5+7Om9 zk=Tzlv2W*ZViG5%BM0;%?30O!6L^J9en!|l;36b0AAN<8Kj4U8MjXc}^i%3VP)gg- zz*QVXy4tRpEUQ=eqTm>Er;wLS4wC{mF-IHwH-~kq>wDaLGqIa^s0NN1zkl zyN-bqD8jbO2TkkwP{{Fa2fEiHRFTUA^KU^12~h-0CerRHOh{DJRXGJHYRl6kd z5It#dE*yUlUB)T5`R|8-w0Q2#4H|9j(AsAfKgJ%}RtYhkRid6lt^QDcKh_Ns6cFeG z%2*pdyVxTdP{ouQqyB-Hp3MU<3nijS%(q{-wU+Wxec*vL7l5xG(EbSGvJ`g+_Gmu( zq%)p&Ms%aoi{XuRg`mZWCMGUoaQdx1>X;pZa%48cHolN9*9z-}r6?_Vp6h{Qy36vz zrvMk%J1Qr*;LEp&yjDGDJmJ4@J^jN=GpCuBO#uDC19$sN~OXc&5sZIT-( zzkKckJC3Zus1u=~SW-p++QFv(DY1D2x)em2MPQW(Mez}Cg?tJ40$fz)9jEH|5bRw$ zSRW{!zCk?527hrHnYSJg` zEWqY2>7eUK%R65l7MXLF9Z=T6CjPzarmS9y!$ z+YgVsjfa@``I|NT+#R~C0XEpkYby_unNqZPXHGZ-A7*4?2-$566TCQJu@VLWpSn?& zGBNkbzlz|wk}ZwRL;H#3^OpPu3j`LOWowd(OWk&<{sm(D>7MEFj>PFuwFh79c=M{r zB=^_>2rx}9k7_R_F<5Esz>&oVzhJ6ClLzke<Xnpd{}7A9Y`rwzCPe*puaLjQZ7{6Bwzq?v=`Kk)x|DSh@IDIL44 zET=^c8c$wg?)OF6PpiEnF_-dlbA@R@bYk@E!h_+m6BC>TZ@nk%h@25kmpB!R@Jv;j zCyaWc2c=K$AzwFG;>&M(Hf!JLQeLP=%d*_0z_B9waFfowh(mcq)glB96yeucg7(vE zwx|m@*_)vm=xRE~QyyCdNst9ro;F-aqQEIECthM9K|deXe=>(}9v3)3sGHvJ6@*zY@aU zVbv^r(Q!C~DI?LcTCydzAI=8c2)o*GD<@>=hnUPnj6FaC9YHGKB+C(@idnKQI$*Nng8qnPYBa0VU71kv2A)#y zu~1;a-fFm9%z&?A#(wWXOyksN(X$?HW-+P89;2dJX1ciDZ zmZ**lYM+ej;v@zbP%7q9#)r!{Ox3<)4_~*o*O~ha!l#J3qq1Q}mfS$3 z<5e#1*}^~r_&B>yRpZI{i1zH`<(Kl+xp;jnOT^9QPoIA(s`eEFPQhQhM4t0!-D(aU^gE}8CTZSThUC87pn?(gog`ywT zXNvx9AkW=3G@t`_|0mWl=8_54{bef!WIvOmJT760IQ6gA^Kr^;f4Eb=5E4r2)Uj6b zQinMz?L;s`GTD=O7TSSD(Z-y@V~340Dz8u}D`s?vd-)~g`(qP0)SYh5n2NZe%!(ZU!QD$B4 z+DlHf*!%7BsGEk<9VM#$rjKF7F^Obyd5ekjHOW+CEGK?U#1ux5kX5QCAuQvjsa$5q zC`B~kO-8@XK5h}UkTSl;U$XiBFzEM0^Zv@$=&Qj4mCy9^>-A&50u0^9UIG44FRgz+ z(K>FQ6#{rjY}dnfNDTmq5G@veAyK2?KS)f~QZ|bRATcw}n*M-IW;BajU6}yoCQy8t z%S?7bbFI#NHg(2)ejVnukmerWf;P)NT0jopiV(_UY$GxJXsBwYHs{Wy7B+7+&_AeA zpZLL#3Er`#i0X%~tRdC|PQ_W85{Ycu{Fm=+- zJc!p|=6Cg}lk?MaGj|QOccAtn-IV5Ka|WDcpWdvKV4IY1h5;SG++w=HCe65;%g5jL zqyOm?)_M>j|8V5@{~yo9#MKG{^hz%ZzQ#JKZ?MD zGofCX6yQZY`*k2(IX@KB6?r}?$Rr6plqq)s^ogQxwc>=$*Rwj!;=#De&xXGop`sLgC`I8%^u1eUk0lY;Po6oW8 zM5A`e`E*W4)%%W#?}mmuZsGdSF^a=jAGkMk%#Y2yywir+wvrIcC%2lvs@|M^)QvO4RHsJp ztPM=gaCq1Ng&Z1>x*jZ+Xt_fn-kpOd?+P__^cO{zFsx_odL;^%q)LlG?3w&}LmYgi z0faDBS4|5431O(KD;OneBYsSXx}@I5AMHyka#bKuK7%LKdd%jTw>29q{AmwN+wA@T zlgEO411wuau6vmur*L^13cfC1X86i~dqp3e4pX-7aUm@#W``E7^|#mK3nv>xEsv#t9k% z2CyViAnvb|gppYo081LuK>=8j9zJ0M_&5}*kT)V3N?lB;4ZxC>ERHjo7=B7nbwYZL z@R0ciF^^`AoBX5L;B>9ry``T$Qc_Hs{R9gPi30=S{%ez!Uuci>o!F^m^#&Dtg@m#? z3U-yOc;SGPs@;wR%%g}q#KO6+rL{&+5%Uigsdv7Mcb{Da9qh@Vhvdd;G}q%h@JgG?2a=FlJpaUEEj4@&H{m@d1#Ff5PVie@Sv;tQS7 z%!z_(<;dN{vP7;E3*War3qQg3ju!ICnJ(K|hJ!EOxq81Ge2JWnU)$2Pg5>t(Ho*BL zn~t90s)n%VdtWin#)S=XIWryp9Nxb`Z~pFkLDAG!rBk^cq~-Woj_HZ><>7fj84wr# z*GR>^#2R)!;L-CU%KuiwZS8FwZ47KI>HZoNW@c1!G_!R0%jh{*v2wr?LHd}iIi3wk ztX1#nB0RBd^CxMwwVTfBxn`qPF;@j!c3tV^Xy_Bq|IEHf14Zi`hjIZ$hE}!l0HPA?^I!7bLvK=fHLFm5K3uUB;Q zNKZoiJ&pKGtuWTGv9^|TnLdRfP6jZ#ke#yR_9FvZwnFmIJ)0VvewR16lL__Qc1fFJ z)8mL0ThBJ6X?MIOaH8@^wvYUutDzl1j#Ea>Z>uf0tJWYfT z6%ZA)P)6DJ+G(JbAvMDoDX^0|NvYk_eo?fP$U(_Bu{-*X+me>4jqIwFtJ6ZG)Ahq7 z5^fZw%YfwfNwdr(a;NF8)DY8}OJ|LfS3vZY6Vfu~kcFZ8C)e3k?bi%?t#Aaqhi8`T z1~ltWmed`_5J1IXJ2Z&?hCN1Q3+WAsTsTPObO5F)^Ka-C8P+sjV^r8zE6dUR;Qvrd zCC*hVw!}vXhDb=S-r&oRm^V%C4l+hiYiH$j%*txbbxC($o56uIAXOGYX2)-b{aJIV^FiPG^yotyQlP@q^>LYzGr*cXa$=eNcEhb@X#PyN zRNSiW_4A|Y;F%AjDJEJ5F5N?Br2_T4EQA&lm>u+m&va&Qi9 zu>x`aSo~hD7C)Qw!8YltqU3RyBo>;N+;sO466aU^HbK7ri{{@Bc7sRwRw(H_4IooH zR;(u^kABPg>h|llhPg-OqGZk1221Sf)TL3w)Sa?@Er)Lb1D8IgGBYQQ(=#6-Ujf3FVe(#%sHkjo=Io z_+9YYrJom9szyGqcI{z4TqfsjE`QnaRF8!WlGJZpp@`X-*s)#P?S&{OXl#^h3&$?Z zB2T|-oBOIlnU?ta;I_8rl1XiN6@~H45flY<0QW7RSq|?>4@9I@`hA${?ryQ_XMjR& z_UXcq#ehSc%lHTPv*+)(u7IPd-kN@v=@*QKLvVPZ(b@ z0x<+J8o#slZDRx=!)Q#B-_hTFhoOi09!YO$;2OB|J(vumiT)*>;&bh|hN*oe>uB;o zCHp9I(~KJeKjR3F$0B=A<)9+~r`xVDe5>Iu7zZ)Hq{N8YdiM2g=5!>O5yVk(&klhP>R>er zR8zQO+QkSVNEdcE#i}RfTQE5aG45b(D8hkIUSze!0T^b?r)@`y10Wpy5Z@XTks?G93cb)(9nl`{&lHsb@+h{jX&21 zde7we8{vd9Il&~baqJB}%}R;IYwE(Yt@D$diH{oKguuBA@a$V{TzdI|Ae-*YD!j&K zpeka9bR6}@A=?%%NUWWMf4r!vVS{0QfX zxw!#rlT{J%J@R6E@A%;tHyeYgMeP!RGgE}z#cda3`Kg!q{xt5 zHt!gRL}CYYu1DaqZ)GeCGF3?C8(f)m@;B|TkVQ;<(cH;H-(odoAj7QNjQ1A$13+Nz z;pGE+ne9?y?C6soencDY3*F8Ifb63UB7Gciw>cxMJnGe}&!X<=1ZoQ!x%WEx4gI)l z7A6ZR2OV98MP_fn9sVg)6jH->V#0SkgiXKBYVHYN&Y?OOeqTz-#;ICOs*1clp%vLs zu+M{OcTFvHymx;$<^u=R1TIsJ5*w=w51nHzYeK!3MD{(ZV6BFw;PtwHxvk^#xCb0! za1}?xY9DG`##Qkmti<&AhIUV%Nv9m&(O)V{R_#vOjY<1bNK}O)@&yaqv!WNGN$h0p;ci z9e`!_KKp5+j~19*z|+g$*<2PSWI_GWXku>Oi&Dw|Hb*?0^-`E~hHwAAD^oC^oKZv% zI*3yp{gRAkh7MPop{LRkse4Q-=piwiNxB=;!{P)4e4A(wI7GD~3`HelFQd_+?}7N@ z2%=)3*uS{5G@*rh1{Wt>mExEBs!q{8j28X5c*Fn=1af;pb>uPpBKW$Y>%!7d7n!`s zZHNQzwrpT>SJrzR)xmi1o7QesmX<6JHCiBRh z81qWV^jB{X3;)YiF4vMRCkL22U7@9&HJ7s=afd6z6rCm-3EhLp42C=}~X%9kzjnj8ph-1f#6|rHsL~Z^d z55>Vsp+`kjRJVcD{6i5c160xg{C-)}81=!5t6AmYycJKw`8>tk)X7*akO7cL9841Z z{6?Ll)1z~4ZkVV~VnBsS);<)O1Nx&*w7o2^oKK{4nqJOEyx0RK_1m3RnXw3Vi1Vpi z*h0Gt?N(-E^DyDSs>5c}Yy-dLRVGM7&?{s%Ri{X8da|o(*wNc=0Bz|8fsksIk9U{f z?aW|m*Ny-6dx=Z|2RM}D?_ma}YK_%PF@y_oNcYIne6qn0yudRXNTqdAQ|*!g>OjxP zw}C|qG3yw51y-7$LC-&Tw1=C;rqm>H#SoPgW*N)oMm>%frA|CQ%CCxiN6Eslx3}zX zJ&Vg@u^QeCDOS4-b6}_N8}s2BCpCGBkODQNO^hBJ^rhxSBMKciS~w0D7p$FfI^I~a zcIB|LPNfLfEL=xlw%ptVw!-xmu{qCq0|VMw;04KjJj&Kg;=1)hnqoMs6rVMmIQCN& zBlV4GW`<^+2EU3RQ~8i6t>pf|RSKRj=TBV+o};&%p%=~wuXaCZ*bG`Q-Je^cjC=xG z`Qdk~hfXFC4I3?|PK>YHY}2HUn|#5$v6x_AWgoJL2v?;hd#Xi2yriXmfTCQ|z#f;h z7P89tMAhi{x*P+y)ADq-E!$vvrQAzGpe^`iht5d0Qz@0nKWRq0Zq9p>c0u-iJDRK8 zIc%GMf}*_TJ7(ziq1uG27OqeOY6Jg9b3J=uJs`BMSQ?+QZfx& zu*NqxsUq?i9l`Aqc9-0tOAnm#@m^9p`$#n|w01R7)nAmlY^g(6&`?FK0DI zXs;MD>*=zIPRpvbNkoP^zqC~NG z&Bu&1WfMI3k9+7VTdUsiSzymeAHAB)-;xHH1no_5TtsF#)s*L|f(>7&C5n^TJ-O0P zSy~U~Ih2Z}xBXWry(?DhlsQ@zR~O&&TlPP?9yqG6N0rllL& zit$CpjBmQ_jheSSr^jx7E91$kuAYj|okfVFeqKWCK!4&kZePl-PWc>4+#mJ+eKp~q z1}mtZ3ziN82xwOs2#Ee)=SKdg!4j~sveh$i{AY*7Y2mOY9KUr>Mf!q}@Lfm_{uejZ zL$;v=_W4-6L}9{ByC-cdPJE~+3_6g|_qxj#oo=wy-hf1Vu_~&AR6`dT8JX@9zYYB6 zdHB;GILG8O0!dg&(v9qC;2=*rOOdli2o_G(XfyPp0?1`UVvj$|whN+@!Wi{4R3~6~ zVI>oX^nBv_&=rbH{p~96B}L3;m9?tEUKX4#cPG-Yf)x1igCPrgUw+YN0ZFEo7KPa? zK#+s>>xEK*E1(Kr4Mslk4yeWixMBz!sJeB9_g@n$8DpNXrUl+MpY8~^A0;ORo~$bA zl~6UrMzMOJ$u-VT@q)Ab+`1?Q10tAherw<0Bt28Bm5&o!_%_4lRCEdMo(q)Kt~F} zV#UP@TrD*@etwxWQtW&;x*p8Ud5t1Hcrq9tK1LRp1Scmu5xd8>9%evefgN-mvd6~- z;sH_vOkbB4P^=p7QG?g468eUfllyGvaq~PKdS^~G&)qy784C-UN@qkvb$gebO?Azt z_8o0?&GuXyd)rHB>gUf^_ceK}eNc&$SGULvAZY=V61>B5Lp5HZI0o@UcZBG^FK4t^ zbpCb91`Z{A5ch`FduplMb)-Fe2#N-1#f37E`N_?T!8R@}&CR@vEuxTxR-if3yS9nV zM|ENoJ(4jk&Ax2NC8tZyjkZ1HW7hLy zD)4dN$R#gJG9qp_CpWc2q^tw0{YNC_mh?e1^Q`?|Xuw<{L{a}A#_ln?@^)Ppd~Dk` zDt1z_ZB~qmZQHhO+qP}ns<6VI@9KSepSAk**!^MVTgJ#3dFK2-W8U}myX1`v0*Pyc zLQ_T}1v~s4#Zm$&G?#uMg#thnW&G%Vrva*EqdF;cnNksdiRsdQfkpG@OnsTwBCs%o zBFuS^ZY_S9{(Qe5<{}xmb3jDWCzzFFZJ;%KFG%Ijw?d5)CA2zTqE%0ULCH9nlS#0c zT2uDX=*Yxhi76nc0{KyFZTb2eBxDXT5->&V_#g^JsH{m|i}cAdcUbdbahO~1V;&Wd zMVa(!YK>d%uqCjJZGqlop?V?Wp+YHm3uJAJGX>uIMrb9ki>PbA3PcM}BY(aE35e8k zr$Old65R%Bly(L)_FU)awY8?63%vUw(Y!}dMhCilxuDkPRa^VBr}Jy>bK!d1%WYA) zR=-yI-O&j5!<0VUaSPn{~PSm^|iD@;4P{43mfVvH)fSIOIJ@11;k6@Y;k>j853!0onk1q zn*|d2r?o(vU$^nyodN1=e-EfnT`%;<*&HxG_ZHCC^V{Hg@gTqNjvv^YgZ-1M*&?Po zB?ln~(Jx&mPc9grji!loP((s@zg`~q+`z%mX-}YRSB$*bu*c}9sI597aVzT!JSr?Z z)^joCve>rbpc(r=uf6bm%M%Adf$GfZN6)m;j#Wn zE2KhV3oZcZMfgEy7)XD&t*?Nw*{XxEVrqhE)$u#=;&a;h_HFv0w3>^nN|jEY6E; z-<4zQwiu{A1-R_)!_fV#TpgELFf(6Ngjf3HZ{n;#c+R~}735Pp)R}%C=+kuyJg7|3 ztU`Fst5L74(@bLlo2gOvdSJ*;jri8@4L{JHs;1mT!0*gSah7JT?AP7wcir=48M1v5 z9UoP%I67emYF94jl~bS6v0JMLisA+C7DPcLcu({WJg;0mxf}7Mv6>8AxsU3FGaw4BH zigI@$vNBkxHj<+ne3Vo=+T36BnQcmAoBTOUOXdY5(1beGHrOw}Xh(xlk?WnMx9?R*&n*6Gq zjsn(BXd2@RTVXl!r~%|!4hOS+cxu32hN~ewKPxmV=RQwm@IpA4v<`+2AV&OjrNC== z+_@hpEnA7s@oKnY_1CdVLGo*;P&O88E8XMX8Su#ivjgcm0v8Pni9Xr&-0vvwsSp!h zu~ZiMxF2;8u?Eq?D9yY<;TLAZE{1%^ju!dm!RtW!RngP1OIl`l990<;y^XrbrPi|s z&cq#_0GBkHi*s;o-@tmF0t=`1a2m&i`q;nW>Cvz`(yp6t+?xuewEPW=J)1< zD6@H+oC?^lWA)VuOp7^wvR`qui-kQp&2H0OXmN7}ZOD>sjD^U`iC80ZWY^KmypbW% zkYiEc2N82qxU&2$Zzv9Y9Z!%g{R#M-+#X+k?2995aqUqCoH+i%u@Gz25~*6^J3D+h z>3K3D_`Sv>dKf z|Eh?YampO1iHq~tR|NxJRX_+zm*MQb3@>&+y@Cp2omB zVpJ8!XOSDVH-!tn zBMG&W=9?B*yibzjp!TY)(y5nFFe=EKRvD`)9=p=d)uX#GrMRn9kYGe)XQYl>tc?ET z0^i>Z%f=|ubc;v9wwaQeOo<|HDxS%Z5Xy2=R+)e-)pE~uki}quJxQN;_?=hlN6D92 zTA9M!7^fVj-CZEi7YwxSr@{~vBYOen%FBvXM4cbBr{m}y>ciX)f9f-?Fu@hrKF#4z zxo6p32;t{~@+HQ;V*Vz#7%yF_wGSg%F!yJ9JYT6!F9;I)Y0OV_lvY5(4NT=G;<&k( zFUuV2UQMo4S1J{V+;G4bWd(xXJ#m|!k))vMNo6*!8AEZ*RWC8;9I|d@SrYM1O!@wqjon3H5oH8L=J{FPST}HR_f)>oLa}EBxjleqk~R)5pLOlK3>`W z7^8wZ?H-IQB@_MK2NPjKw2UP+9Hyl0*{!yzy%(?Tb)H943q6evq#%8 z$4_{Cr(=+={+BHWGMlcY<2elmV}k<(`VGFdKFLGHo$KreE#5aR76+2`FL%^^wo_8~ z19GH$M0>E`m&QS^)v<@CXLU?$b`^eqi9*0~IN#v8K)Tp=Y<^>Kj_f-{#r0wqDUEk< zpV1SugZZ{;6pA_|a|2uhryuhC-#g~z5#K%aJ+T9xd|gG=c@Pxvy7kkv&v0K(I3<#x zt2W5a0vJa52%D+w_8Wb(TaS1~D=2f^rirgEKyV;wtJK>vP=VJaf&vl*l&>A#A`1{d89mCvfq!RGa#qY>LLZOP@~M<5qgrd1 zCUF|wk3C55lz~%bYKn*9oToV_kTB9WO4KWYb!IUbmQAy@8Wvk>ubx&}Z+KNost|_y zg>M`(68U@Jfq)OQQN^@b%d`yYsr}I|&UupL@9)e~A(C*XL!nlrsYh3q$T9M-qBp0V zkhvDOT4Cy*`rVEW&fiDUid~lds-x7yw@b%^tRn5vbGuVBPFR>L))F2S_DbPtd{N zyPf9<^paDgMw~rxJiYMI)v%?P3tyg>+1bos7zMy0yWiYmX>Q}?`xz%_-8DpOXg}jL zUK!!#-pb(qKIFUV{?KKLiCp@8?cFzK_6aCfd7r}^$#1!zIm}Am zO5j4a6#2&Gl6ia~f@=ZgUSRil<&0Kwo#tY06?&>kv)!w9A?{9n>P%b4NUn$J3`%ey ztxkT%nVgY4>ao!u5%gkezIC9^GibbFP6=VClzGFI(MmF)+szQUD*HVQI6cJcS4uY% zb#y$vDRGI@+%l$hWvS4)h8{=pb$K^ZoNXvC7l%ODvLb;OpiOeh=HU;`zB_lkE+9Kv*iGqct zvz8f0#YLIbWhT|}R|KwLB3C(ce8kf+hdBaQe;}PP^<((}G1^3bAl))kwlg1SG|OSB zxj>Y&F9Y~918B6%ZmBsl^0`4d_%lW9M^X5*2b41wUv1T5AHzkvDtS1)UmKkyU2#Jp zLrxQk=(@Dz%!&iCu#9XORnX)nhfd>jd0xbxMoKNf-3KXjXL}3f&=VQP&g8KCrFb8| zUVa^RZv#r$cSPbpC>MHtRJ|4aK46cvtyPDst;f_?OpyCr)I9rkIqH1OMMT{DUqj4X zKak@cl2fLQ_Ld?!%Im+N8uH^|yS@tC39jhEJB(hPfO4dI|u!9m4Ni074 z)9EB6^0y`+JvkpruWt)jf4(~;aFIkzn})FUuUhfJusu$XRkVzGhcFICzV{l*uuF&L zkW4kJV4^+)l)EEl95fCQZFHgY1D?y9s7sFQ@W;6$V>(r2tYT8|a|X8rL+U zO}U~r&kBoUX=25`w05wWYusP3sS)H<9fC_rox2mQHd;IVP*kSvdy6oBW^_ko0>?+_ z)NYF1cT(6H{V|BxbhS>DPGvhdX0`Mp)13ru{GQs>MR+q7_;bCAdnGATdXd+%aaV`J zk!9(LA5c{;OH-rrXG*P{{=1WelJ+HU?c)4~nkS85jYRF!LxT^Ts*ZS^B~l!wE?bOL zQ3=i2qNb){h#>|wM6+j{AF)KY16dRHd0buUDZs94J5#2CB_mrEemNM8-BPu{x%S4l zmd1?^Qf`WhJcf++p>YBGbLn&#vjP_rgGJ4gYug@L@2rX9jZRcIYf^s=O6%p$)2xxt zF9aG*R_WzR{cdCe{^BuXQwK}s>9b3%T6^I zW(4W=H!^uf{^`0zoe5I2Mo{kd*W%jNC8~{{!}^(YyMBFe`bbchP*bG8A+D0Qn}u>* z`QrHs^+y-YuXuhcl9E(eD|8g)%pMbA4DeVoRLmunAeO(fqb0+R$n{4d%=W#`*hSh=Xi%yVmO&}|Bj}o_?FOD(#yA)ZYNksoJPB%cK?~joZ>reCg<7KhBrVKHoC3>k}XHGM}0W=$c8nW8i;KC6~~>Mk#rvV=W_I`WY)(&wH&e(@q?}Q8XSFR zSiaWTVtGW&2}M%R2pNu^OP#)!nnzj2&1Bev#ETxlF}{>gDe>9NU+bKl4j}(v8K4hk zi)a^`9zSv}g4s61JPpvZld1lyMEiRr9nE&xt3vMg;j2Ju7ZZxY->pcfvk&4{m?!=O z(&Aq%)WNITLD3*crn_eFsvjXeQLRr{nn@jlh^eyjYM#rIAnDlha3x^2-im6J5Ol|U-4Fsduo@KV9B$N zxMEW&?BL=i*Ly~xk@J?yzeP=ht?;u^h0}-!TzH#4TY&?Xw!c9Ed3C@3s~|^95^8-+ zvxwp?=N9yj9{>HdNV0_(=T$j5EDmAIyAS8a13$ zp_IzuF9?TSvd$^QlAMmYDxmB2^T&C4Fe$zFzGZpTyhdD3{O~!2;IoZy6%XPj6?h7c zt3jWs$RPf-+RyMYM+#xtSbX*9b1B!cYe>G|x+BoA0jVr=KnPcBQ@(Z27sGR0k=c{rNp)Elz7uv;Jva#V|&>Pc^+c8SrELuwxv$ zr?;|fH);4A1{`m}QfOj=1%cG#&OfE8ZfW2sSI>{-{U-TiFtbdbA{VeBogT9Bv4pEJ znd6#qMx7;DJim77%02GoU0O8|`;@E7V&E+UHX#Oz#k1@!LulpB}H;=q!5Oq%z3<_e2p_RYz%cuqp z{1a8*pc(drXL(B6kG;v#SE4|P0lbg*b>wbO=^R8+tOoNY^`51rqK79^avR-46`XJe zbVV|oXR_QJ-;~Z*=>>_d%x^6qu0MizCB0C8s(==#1M%L7ID-|yxb6h)O7fu^ZUe7W z>pD*Z%V1o1xFpU;Ce-=8kE(yE*< zD{poOdGJ-c!2@=!1D&}n942jmYpE3QmEFtu(ldXj$xkcXj=Er%3*()N}5tdeU^ z1#17v!~8DKi(mR@*?ZR|1m>v^s!Amc9;OgLOW=Dpj2~QTuibC-!`47zP2aYcmxWrM z6?^#OGXe52F3gqwur#c4q2M%h=`?Lr<_?|eT~%;nx_Jxew!&jo@lJe_^Psn^$yqlh z95`Heykf|G3PMTCSFmr38Qv#f91~9DA~3 z7Ieq!Fjj4_^iLk9bMS|LNFN5G0`{V=*grm$ql0ky#6Lcia+RcqryPKmC@fR7l)7*o zML+J`2DOw_nrR_xGVT7Avl+h$h#{aC(@*pjJT-j}qI;9ELzC@>!Y5%nzTc};50xYC zs+(s)+@YDdW{$$;s39U&l117oukrRhQM89Q0@7fcIBMgKqF-T&nLvOQTgBH6n*Um{ zB`jr?tP5qnk!VeOzy~B^sCd*!lKx4=+!l#0+gY#vlZYvuw>!L%)IOuMBvvH_tk~+& z{cFXRX4sX&Dw&lz^=aXuAXxeX!7>BHeY&Ze(-cT_Mr(U{DvuA48vQ-T_{Lvvr=fh* zyq%K5T+q;L`F05$^_0(?*@@GpocY%WNVCP3Nv3gn7RaAEjD9P7p29qyYreVkY*Eo8at6n)~Q=uLB9i>z~(5T(&sxH})vXi(}wp z3DcvyI~&dX^CY0}ORSh|7x#<7b)t8;4`q(yg_JB88hG>EhXK`b(B+=Lqd!`dR>r{Q ze1n!f*b(BMpSKRYjvzP;;quIe~$|6|RGv9!s~83PCi-01%+ANJo< zI4Na$xqlnME%VxHZ;Ji7{fmaHi`I!1=zq9@w2%vZazV?)WwlV6da|#%X;~$lqVoxD z$Jg_2YwDt|B}uDEA?vYPO48EwU}k1!YGx+3^XU@kJ^3Rm{7#6;B!0G_U4NTAw~t@g z7i0TDpw5y1xrEojE0(Qe@PQ(*mPEgY5@`c*Z6H(;bvF{k3{Tu{Fc}NG7d}V>iUDTR ziVDntP$%Zi*2C(g4eY105H!T&ZT4>jqpY~?_kR3LV2YpF+!E=XQ}=r#0j~mm0$YFd zFWg!M-2Y;6wmyXYeaV3uXm7M?M3ysltI>oe*Of&#eLEYqAQ{O@rqa6N+v|tEZGF)I zg&>+M@#t9Rr8ookHO?Wd=R~7+p&+0z#0CZo;SA5Yw=$8MGIWFrr+pMTKkSDLI7`DB zeNAHwc|r7p%&Z7RCsR8+UtV6U<*r&j_gvKF?Os5JxUrsH{7k?duG>lA1eJP+<$(U+ z^E3B=rBHamMRj}-V8*V5tq{1iAqs5lSi|NEcYmFr6r(J{4RlQd6S2r$Hm>70eAy*t zyM%rkM1F1&e!98y8S=Z<)^r3a_Hr1fs$WeX?^W?%=ppQFa$O?$2#)2x1vX-!5-|{w z6Qlskfp9u2WEo~uB$xuDi&iVPp`n_c$mqN5SWnr4cRull_X+c9M(FPcwN(+{ae^;v za3Y^8hvfyAH}Buvj6j6FAt3wLHE$KV?@bjvGvAT=9(0c4;`U_{ili_V5}bn~an)cs zyio z_uC(}T^oR*2A5y?NKZVx>>vA`V<%jVClnLLp-`$N)kMz$?fK4_)?eOCfyEjwwSxs7 zfMbF*%gmwlv6kWt@~GQsOexUcWL{gd+jG%<;z9IJ#PR4W1CJbl9F#**`U@v2vIk1A zw$tAc=RL@Dz=;~V8ezu@exmOn%iU+6$n%N}WDaZ}&D`SRM#ZyY>Hj=MwX=>L5>sRU zdet*T31+pz{GuTto{(BxmGj?+DF>C>@${}{d3o+ez6Cx;4*BB1 zwl#dNirEr`w|83!TwCQQ&qn>VgnKN=zf@!n{Mm-{NVu9>2-2Eaxi9CxcUQpk!G!pJ zSzGDosYHd z4s2(61_cGBR#$_E%|KrsyX!$`pjBcWU;j&}n%;pYe4X9F<={)S8i173zZ`g}lR-{o zuKG*cC`}10wUxYgcF(acIc9y^#FOo=stZUy^v+4k%^#xa@wE9zUt{cv&JT?>@wwdr zC70bNi6-H=i<8>S-Y@PPcflr2aah)~>GzvqMoqMXj3wZ&nDg7HFONr#yk4Sd3kZCM z0OyPBT{v;|&;DJTkWb%(4%ZkpX7;n5>+LLEUEL!#R-uW;Wfx-P4<%L!$du2{jJwa7 zc=#^RRmERuknikhkapLrqV`U|h3&ys4P?>GQdbv_m^DhY7ihLJH1yGHchPuB&jwQb zER_gh&x8o1%c@w)!jG+Aei00V^l|A-W>Ecj8yqm!@k^~*%961!g-Yfvpn2f}*^H({ z9vVsw)Z5Y3MQj{Ujm4c#4gr}TJhP{U@FJf11mb_5#d(bqeQcLJf$PumMP!mhA);YH z++Sl(A4HajQFW!nDvL%^$CbS^VF#0xd1zzAnwsXuy1|49v|b;1p65CWCAiWCyf8xv z@U;Lhj1Z~Jy66;n7$7BkYoI^j@PJ4w7*GxxkU+V0;l2y9>ugM$`cQ<24Q}Mi@m_h_ z{aW-R(E>(!DEE{MTB%~!atO<}?DutNwXUas+G}ghgDr0kNN%Pi zQYTHwveYiWGEMBpt^&k<|EWbWC7Rtu5O!eud2xpdvx{k!Kj%ixoz1??cZTxv_PPP!s3o}o-nA^B~cYG50^n* zavF^OU`|_Zm0eIIbrv3bJ&3lgit>!&-=M|Me4zKH_%G2F)*|x=>OkKf2C1wP<4287 z%CK2^ML1?q0qR6Q`5Q)(QZNuxnPK6ea!CS33I&r3B02={Vks9UL6C1LD>3FIq@Y;c zA;LA|8DLwo00o3Xm8mo;X&9@ENF?QCM}cLE(Q|RbfOGC~Tti{C-LiY7mh&?C9+qUy zOtHliwp?~ApfS(sd!t=f@Ru|wO1v)TE}*vEX21kE>5*#>kypdQb6EjkS3idWXQP>H6JYKowusU|^57Wq&`sk0LLa)p-CbdH{7-V}yg z!hRA%@qGlz(OtiYR7S0QwBL>WOEnljO#PF!_6~dxZ0N8|sOo$CUO&=Ru);&=+fkdS zEX@@wc<#$szQbvnHFqa*Y$CU%A8frwxu?dZ4LUHKT~;sv2TXNd42N+o4G?=toeid z6)a}bYpCkM=F}UL_iY$o$}SpC=($p~|M#%;L3XmZ! z_s~#z8+f_pRD-E8ZWf?ibd2CS-N%l7m6fwT9@meMpIY=dEnN7ee=X(k<9ZkNF!&Ld zU?ZGYt}s2JDe*vc$h_6Hz!(7sH^K1GjXhAY?o8tlg+R^Y?hNJFZy}t8@P3C!C2Ioa zSB|E|St^Eqxxt%mKYgX|wM*bpN6jWtdoyG6y7>w5a=;=IClY=pOp;WyOo9sA)1gE- zo^+yyiL;^rRN!y63Y82Z?lh!j(@`NeFkq5{9|c}bQa02>+fw7*b>TMfnpjHg^erMH z<*EuM2(6^@K}GlJefPQwSDYht_N2?^ARfsNfYo|BzU2-Z!U_lJw)zo4zm4)iN!b)g zu8hB*!oa_|+efK^O&Vzso?ol`gbd9>Q^aa21<7qMfIkbvk8(;xc82%y>MX<(*8BJy zZiz*hn&5?w8dHHvuzyT3NQR{=S(8c#&;By^Cyoer7jipg2M z6u1?Zotq{Uj zs#NFm2FkoP!B+W1(<4ybS5{F3WJP!s)WTxPclm&Tu9$y<& zHAjL}Py7s;sT+|>H*M}$Rzz?_y{tI^#6)z1xZ}$3X2xN*t=M{FuE9&Ud{Q}^!@#l5 z{%0`o#5hNOX?zb4gMR@w3}*u0Vsg*w#}RP~Tg!8cOH0r0fVW-b;OM#OD+G|{)WAYfA2=V=bIef7Ji_i9t(Fyf%; zkQ~-cVk#DfIAe8IwVYw@%Ftx(I-l<4oAc(CNs-H65+f@bM(!gCmFAjbU@sNJGET}Bw3u}$41%3*P#3!vOC4d{k-0aQ?}$9)6~ys|f1j)g%R+Ay_fgym^@05mHEBKe z=2hgl%Lk2pj@i#u=S28vWy`@rtYq}j|97mX-(-!4-?m`kmJjbL9T*j%P?3_-+)Q{R z5Zz5C1Y0}_N7%u9M(Obo!*R-uKA0}j_xLBcOdzj=H7uc>4Ph+HBHL(g+HnAz22)qK z|BW+w3yyI-ciFw6@zd+S?+~QAA`SUs1K|>Zqo8RSH`;^Ln9Xs@05~WuD?c!8O*$?;emIa z6YM^E^E{CDMo{tb0N^ zMJQmhc|M-*K}phzOA2ytV4sjeaigS`*dM?t>W?%$u8d7)5a~@E)Dzn;myjgquxcr` z|2XB>8=hKWVg6I(vHQK-!h!PRdF_n_o3&!Ca?jU9{pZSrOAJDKUplmNi*h-6C%6I1 z-r3zHxV{_V12C5NeDph4kL6rnJ(3}QQ3A+}xjz_>LO!MVH!2rwzE~95!)p9th&7jq zj+el$AtZguO{EJT)64dtF%)wveALi5vUR}Rt6 zZ76|fF3S3Pu2PrI`J&vARLNj1tJ<&J)a0k&5@+PFv4h1L3AFiYXUofPeZzX~ITg{2yijdW?%+V6}ox);( zeq{d~kMN;#>NHTb+)W!{eIZWs^bqWLn0vepo4E90BrTdw^q8jbaU!#-ookU?S0>MQ z)$pQ3-*d5;RKA2W#Qf73--C_Ph%?Y*Z5DrDZrS*ZC3Allr|1!8{Mg(ZIl!I5@`7U@%7*$kvdb-Ks&)!Prsjh*5vorV%{Le_k(>zhR9-95+)*;T&eL zzGWARagH+QEOKdO!VD}GIo2^G4nw|QDs!#XN`uenCE+>7AgmGv7G5HcnM#(}X9v$S z+HbQdnkG`HOoa2E27T+H{9T^&9X;$fa>#S(!WmczwZqCXb#!)qmtvo}&|+cp-rL+V zr%u;x=Wqa~$M7_T4`E34M?8h+v}xM3ayz95D$WG0yTTh9kQrRx zeUOVBw1{`wpc7U5>=A<2A^>}{Ccg9&yBX#o{eB!M%I+D=lXo%2)^ZiVyx26=6)vV# zAefFqNlk4{1bG<`_p)bKCuwMk$|P#|5g%AiWa@u?B&C$XbuihSjv|`P)E<-HAQWP# zo{Fc6tnDK!O(*+&fes4UR$U4Bdxz=jRgxSRwi5p4{Ki#gLQHKGQ<|197AcfpldE}r zM30#N)7wNQ%g=q#sUp5Tb@w+Z)#yuh1(7i_RuuT$x8Kc4?~J$fyaACBN~tvQx!ymZ zvWu_N`6slz`hXFqS~NH(9#m(&cc>A=t_%;6rVBG)@H4Pn7%0TO5ZDYEG*Z!$GlX~6 zbcSsuo-6wyeQz_%?lbc)ce?F+x-De7ZD_i!@3uHW=a8b^k%H37|D?P><4!oh<6I6Kjm3yo3(L#h#cF|Dk->;gpRhm4&Fac`X!I8Kmu_`p1dVe}faaGpc#346{lxl=3P01;ApWErY#y3> zW!ba@puHoeJJ!+4Gdlr8{?c6q$zf#_bf5g^LS+q&i(a$IDzj*h8=Hf@sTCEYpj^>ySh}ya-4gh-1Pn1QS3#e zD#U686%D|U-IpQK)F}JcSNcZGSq}Dt$?$s?JaHJ}4C{S{hwMfn#(Jc7>v&jFk)iO# z6m{}(5V9QAz?n9Pv7_$2+NW@4IF}EI_UkSgGEnUs!o>{aO1V)-{W_&w-(-7;E-wj0 zNTrJGspzi41jz^t=<;gm$ykmSfPP1CmFCZVb;V*fuYzknuFLb)tCgwcL2~LV=Ny=d zC2mCum1Hv)dP!#*h8L?#PRfW|Cl1Ms2Z2*Z+5|FVEw)j}yK%2L>dZrU8Riu91w@wM za~7`cLGEBD>Wm@*?={0a#S@nD(BsGA1cGp%^FQHYg;J;ElUEf^IbM`Lt&Yu3M>8)i z1;&!5zvUgpdwie_u)3v=NJp{Y_h&!DHG}wrDFgdL4i(QT;-k%JtndoSY}=*jbJM{3 z?ywDa){gyG&}gQ}-s7vzT&)5stIkfr#Lz!GNES(m755pWO~6==&Xn$(vAhKRd{h)U z4g$Vd+aM9ShE9OLYRIi2`B_onjfy5NRG*IM!N|%G02eSult^~xBqEz-PEv!jLPeJP zUaTByL(6Er#@0SKSUQ4xM03Wm2DNOP);qi8ePVTAhSC<@L_vHmFP~Dukk(V^0sR3A z7-<*Qb6SC<^q9cqrO0F)d>&Ioeg?Tm`6fR868`I)Z7Q-SArC%==HtCd!8%g!1pfAo zou=%hy8it(yQKb3lT0xt?q)nYi%_}T)t9)BEv1B6+8p6%coxr|O&ZfS(8A3Z<<8v}88;CERE^q(Y(CPnei;^DsdX09)pD0X!_%rWvh0#XN%P$G zGuk?)3*?IMe^r-HOT@+!ii(T*r+Y5RooT*NMOzrNStI6BFI0|c$cCzVtBpAXBj&Bz z36-=Hbd4O9E3JNcSI=M7-y|58LZk=WY`evT78k2rW6h=}`qWCYoADCHB3~qsQa_Pa zUdeS}^;ngaH!IylX_z&qYA%B)HJDm<5?DM7q%{E_tyh+JV)P6!7d43W;AZ^cCehud zZ>Yhuqh#~NFOS({|TEL2A+TwSI;a`RlxNCN(%K6VfM<;79Gd1xvG+-8m$5b;H30oGj&Dbd58yW ziZX(D_^yKoU|rnONJPPiN@htZjvST8xPi>3~y7W@Cp&AM$XtP@q3zc?QSCn z8Av9t)z7KH`M4X18@yB*)Md3;q!3(}eCpKzswBzcy!F`aOi8ZHQZVAsSzc2xH0y&- ztGaf7rrc%y5u19cc4h*y|r5U=cP|;t(YJYi{e)F7vXyIE{{bl8r+|S7h{W7CJu|N^Ud#a>7 zs4Lw%*FVlNG-5lKYOSP_su4PPS^I-lrnUbu3=N`^%vfU!eh=S*hvp;^@GVF3)0#S5 zruQ)W?&+15UvM(|_5&3-DmI@{F9;>bGBfpfUSB6^lTf-%x9WAD?+t1VKfF-uj|KEr z&cep7z$B>N2|J_eCr zd%o{%I(s4afp6WT1oy*Kfq4o@pwXTuPIh0Xi>-~xsZ2Rg>!%-OqR%0-N%$ksvo$4D zNKsdvbj~b@vM>X-?hGRbGN2qpW^=3~A1@%DyYBBIGLgkTJ#7$G2H_u-2o2l8+%6ok0|w%A#W-zca~(FcpCGLeteNPXtb$q z`zP96+SV?mX8g`kU3X}uwM#a}IeXzE1Yo*A+*`Wt3?<>NNb9Axkxo>+H5|UYNi&VI zRUpH{3?toh3h4E49<>P4%29xArG#;wjK-}bjz+H*o2=fYJj^4k5_Q6b1Qzvn68T4z z;``mx8o#hGp~QYk6vp6n(7L98Nrh{=HNpf-B~>D`$|%jV#tcrcCH75$5iJ}6x_tec ztcllVT-^9R5at^KXfczALH!Hjqk=xtPyy?B_}L8Vw3k8MlEwpi$G|mElrvH291joFEBJ6jFH2)_-^m%L7Vi5{?u75XY-4eT_wu{9C&9WP9q>*zXd8X1^qE`Jo-Fc zs4Y30DjhHwH;&(y^ZyqVxveBfdag&J%>8&wBVTKyKWMqC z>u|jp)_ZCyZQB;2TYgWZG>Y<-Gu+N?~^UHP61wc>99RlOuRrjs@ zLr*oanHAV=2e$Kx!_9(*=-`UYrn7)JIDWvS<(qCI*0GgjlS}TtFgZFHl~)+Erfn%# zO?I4?qe zz^ToYZyO_;7J6+NTc8UlW$o4GJGpCebJL)Ec%%qi2GyxfSvAk8Npb239{#iL;v=8B ziVTp@R9;v9Yc!q`3V>1p`jlyrHr;CoCO|^N|3^Z@{YOG8uxR_2gjTftyA2?rSzq$6 z7*b{+1HQBCx85d$BOQDA6=|PR>mz2z zl)ZTDd6(N0H6kJy7N*v(5Q03tWHrlAQ?}4-rctYaa%vKFB9QV7M{E0Kk&I7-{Mav(0w{$<%x02;k;U1Ds?~bbS zj^lv~1i90k#KsK#*j%S2|4g@Vvk!@!!azXK@xG>3V&}j-d&Q7|0FcG3I7mxxv*m8Fo7{;ygwRzK=0k@4bVbWZS_G2)e~pP*D-ji@$hQ6CK$!ygqbk!(>qZ|H83^Y8SNk0@WiKEm1dVDzsT&6 zqD$2Wa?Ckk`K4D!`az!A!ZDx~I&SN!5$3!Z+4{dSv{Avcard>RjXI}>)26O$(2ESwK{YU1rB?FE>`xK`RLEQXu*->bA8 ztn4^LTdP1R5Q_xqq?0w!)(41(TJOqfUXzlZvRH>gUbmZt)VGTugd^Hm2r5}&`J zF0lys*`zyyOZz2YXDuT@wy*7}-F`Zqm<%%7Fj1kCJ@NoyF{Z%9&V7#CYYbJQ_ffiW z^agK`$yeeR5ZDwX5Jnz_ulSF>aKvBIt&fns8W4Oye}Vk_f%IZyG{*xRMoUB>AnO0& zV)1V)8^tQ~Hvg&}QKx$p!Tzz#=}$<57G@<~rXWruQzE8-HXN^`7^>iUwLKq&bhO*) z%B$pH2uku!5^*$rb#>)Xf=Sxu=b2M5m*yX@?*jFZQ0x?bw6Y{aOlLy=kEx0@Rd@_` zh5;~DG3e2+$g`yYxG!aLKBVX%6rFmQCz@C&5;6Dl6NT>f5B*74$k{dlPxt;aq^N!@G+e*DO%%+67145-l>R7GdMIS+R63 zsMZsonA44(dPjM`7E(KqOPmLa!TM}FnwTzpyAB-0s$kCB0O})I&k86IyPgbSiRW&z zt*JyFpqwQ}9X#W71Y9+8azIR>tnPt$j3)F-7CUN$PmV&Aju%_{&-vCnVlepQjS>G+ z!7OEDy|o@he8?j7NhKsT1O;JKwG2A4I5bkiH-rNutu-- zNV0X?n7;NW=ltL*=%vlc+Kvaju?$!)&&#S%GU)1pO#78U&HKk%+CY8rqk-^9Ipw?x zZWF{x8JjmN;88=~Yhme#``*iFvfpE;xXJ?U$$xJ)-UscZMDQ~Oj-vE~_4s(I6DHupmMq(u57)f#PH8ur$Ks|{45^N5v=;=QuH|~=2^T3 zGxJUyg4%-lE!tIm#)=SzeC!AyI@XT>`l<1+Q+y`hQV2 zWlF8EE+!^(huRP~HSuv8JKO1B<4T^#%^@-aj{|-5>&MN_ zBHdj~JLkEwbH8R@0^hZ&0|)Z~euDO`-UbLM{kgkz{hW7A&^3r_hc#aIJ2|&3-Gj}D zoQ?uMaqM5}U;kd+jkCMQ5yfl;pi2)2Et9IEac1G0(x=cJvjHuN7W<{ho1HG-GEevB z{gn9|op!f)&i$uX7KL@a^Pebnl02}y6#BOr-bS+~S($JMIp)1}mW$IuzqYdBo9a&# z*pFsJ+5Aln*mq_`*YO;&CYl_Xe)QmlHC*Y$#nQn(5WD?HfI8}T^(an3k!x0K22noF{wB5X z@H%2ChTrv=jS=h4uB-M6$pE<77f4Y_%Auj_eJ7K{cEn|djx&%cl3JY=m|mckx{WLR z9yucUM|cq<3b=fjX@Kx5yf|N>?%cc1v1{%{JQTJlhck=0|y_6cInC6h~RT4044rfkT$eZFsr`hj-%W z?eg;#oN5ssnM&HlTF)#K&7$tw3^}H+E!ON-e}@%QKvAla5~+n!5#fx7Al9vLe_wE# zXl@iWSi+`rTL;cy8NmzPf@;}NvE(QgGnVgyC#Kyxz>~@Ahh{B8#Tu0uja|_5IpiEmMO7g zgAVaIk_Yj^^~c@9K9T3gdiFQe)rk0cvcT#ummZ!-@vdq?pC)QE4 z92Wse17LZxCg7D#t6=yj+Hi17D!r9L-U`@osx*gL*= z`Zn3#v2CMcqvPZo+qRt!JGN~*>Daby+qUfvc7FFWGka#9J;%Je{(w5_T2-HQ)&g^M z(E9(DSQJ0*IVFaEM~dWpFR{q$dk*5PCnGK)i+BXGl|!a#mG~enR=4-D0}UjTIGAT; zBY8Vw6-Kf-Ba=5(FNg9sGrz2b)rL*|EB-e50#J$nh-mVw((XuU8V^Eb*WaCgmIfX_ z*oogWuVd8k^?dO9jEq_RxnD+@dmkj}HhJxbi2c}8crmTO?3FHTMm;~LoJX7Wl#mHUko}uohfUsuBidkeDPFKrML3u%ILbxZfQtUbVAhm9!O4@q!T#3@#PX@RZ}=Yd z(UJdm^Y6b`;6E3A|Fx&uRMSyf7e(`Wu5Rg1kig?4PU8t=R6>&MJAs>oGn47(t z#27E@ltj@-ou%Z0lzoNTB`L&}a#0Cyf}>hHRjDvPwkL2#5}%4o^)qdqIY(X+(~Boe z^iMF0QmKQS^66%*PvHd!TUkL8n;MG{X&hZAZn2CRB_ieek!jGa+=gCClyqS-&KVtvuXndeUQDDXMMg|PiM^@e?z9YQ7y+B z3(FESPDrbbG}Lpzt185kMvRVi651z`XP&u&vo(Poc0*&c8!N@tIqLal`_}e^y1O+i zL3Vc_)+YYK_kLm<51b5A!D6YCmB=$xe-YW`FR)U>Vwb0d_tO7S zGo-huN|`&@pa^0~qi(GrVRTQxQ(k2qECu?xj70_-MwQ^4n=r?u*qS6dpp9rdUqAwv zZ)aQ?_k#vh@5;Nlq=?c6pY2UC!-4Ise4g0;6grv*FRevYBPo}A52mwAILmLo+1#x# z{EBz7jK|riThT&t35pWBwHW25AOST|cQRTLO^ND|=dV&EQDfFCodRFeolQ3~Jbf}% z3&D{JHC~ii&_rBi|BU=_Ym=7WwHkBEYr3oiIIv%PSq^>%5HRJHJPQ)KGV--CI zFQFzr{pD7yS%d-K7ojxCw1@6hx1Cy%v&R0W!pYiwXSKEqb+oQtiKgnK)13q2#x2i- z@_+8 zIFf9<^quZxF&SHcXsm)b%a7lLGcf4=#kVN=L<`#d-#LmbfmLZa3)r`^%5cCp-1G^LMNCXAVz$ zMQyjPLxY;9p&p;~)k>Nnzdt@VtK_e@0f2?kgS!{26kQ4&_-DAmz7s>1Pd7DSW%`LX z4PXX75pIy+s}YW5hot8GDhyAH>%GDa+tyubyR&FkpB8-Uy_VtUzL#3NA-{EEF|p(p=YqgalJxmVu+TPAA zz~Y7e96=j=d^zOhWyD6H^fU40>F%(Ji|)IBgI1t#7qk*1 zXzorXpAL!uAc52Z5I}0$bGU7N@ZHmRm=fI;dY`)SA^5bUZpOOnr%*5+rm%A~{R$=p zeKkuC%lvk2!nY?6Mzv>bIDSI>*Y>|jxJCO9orwPyAf*3`!vD^__%}KsWBV_3riR2x zCSr=oO~2A>iMyb_3)k45CpKt`m)lez@vvca;zL-tBDHj7EWSsw4Vk4aYzOR8CwN!` zF~{!_xDXo77qm4?MBAtNT!ul~=rWtT6;&B0$R~w2? zZO?=jn(NU;RbP&~GWriXi~a|ltvN*fgU;Z%uSm}{-$wJmOJDL}d3a_FNv!Bp`V%I5 z$4upNAcK}J3&V0B1j8SN2l4;PDruYwJm<&$oXkg;dYSr;fR4E(n`rF`Fx@}5s)ad` z#pAc|-`XwZ-jNClPNlm)lcotO193-tb`gb>GeYbn>plDd1>DJ94I%*devf~o?AK9_OJgW-#Z?XgKTXsy&f_ zxd~GYlYh&Oj(^Dxjc?g8@h{ndLQsF_d@tW;1~zWu%2Su!uBxwKhPPy|9#<-)CqwF819et4HDwB5sPhMNdoZ&FiMR$wqYSRog>LS&% z|Lv_3+b%X+Z9B_eo#iB&$b{@L2F$iu6=$FtqyJ3#_y}3N%O& zO9E#Nk{&G!!XVZ>RTwCStb#*B_^KnhAA=B11a?IFPH9vN09K^HzEXALG@QbeBnW`3 zgx7CNDQ5j5bB~5cDlhF+ugUkz@(Nr-V1$g+|7gx{>n}@uD8_HPJWi6_>ek64W_+0! zbK{#@QgPV_QD3=mWqwj-8gJjU#958|HL&g&se+HN<$w&nhzl>6p&spD^;rlOp%uN;LMta^WvYgPqJwk&kuNNmUa*DTz{Mf1^`VDndY4}N7T58$+c=20va{AJ0gjALf`kM6~mL{s?O7BBjaj7JS0%{yRLtWEB zRDwHY4b+kwjoc>Q3q|H5Pg!VH84Osr5dGOG<^FdXdFkwWXpYhxo@ZiA0I`F>`q2l8 zyeD<+DYf0QbmIvc-QlN(&Qv@b;V86=-PRhjMunC zi^UB-oLRoYWL7!%(Bw9CSz&Mf4}0zoLMPU<;@v>g|M%t z=lIm=e~Gpm$ScILWv*^*T$Z$~U$)KFSz7&S3s@*@S4r6$ELkh!wQehu)}ekIT2bLZ zG>*3k`mx!MCH%2n*|_KrT%@6yD{n2$&)Mw?$QeS9uFo11#`~or+pz*gQ%R0k z2IE+YPC!kmU3%w)3GK|p7FIK=5qolN-^fI8R6`0JcQAOBNHptm(>dm8guTf+b-V3n zbsw32ue?sVb*)5Wu1Z;hi23lCnxO=1fYB0OeA|BuD7^2prrjeJv^}1 z^>Q2hcNMIHju|++a%FS)h{T@;4^f#43?0xU?VOBqN-B;`-f7XO{f}8P$I@URu-WG! z+cPEk0f}iOl=U z)o5dIz1sJ2)z5NC@RLP~)tT`_y#4%kVpmJprzEF+-s3veLkgE*98BG287d-;B)b~M z4Tq;u*Rj~2pt5owYuFR4A{Z-J8*7u(AAA|ub?n=mh+hs79d_=?^}4-_FzoB)D<>u&oL zJ(GJx2sD{R;EqeUv5uEdmz-PU@_8$U-v(U5hD zCO_aVrZ>CPXa6*9QzMdc_BL{IKN7M}_xd1ttO{d>LEv;Q*B*)%m*OwBC_~1!tmN{R z7QV84tI1eBXj>jN!j+g0^x)g!mn_j>T6-i3ek8h#f%d2BdBsOb4eC-Awz^#Xny+&g zAhw%}z1_>?c#atb04RI(%;SN>c!V92Wqc)S!C+kogac4wG;1MqIpU&l6H&ncm@Xj< zSvb=j3$Ks1yF-?7O=RSR!Sig_S5Dhr9Ay>n78e}tZqG93`hJIUwb%i0%uhKe@U+`3 z{w8_;gu>GfvcQ$5nj2nYFDqGoKI1sJsr z)IRb3*U4dZ%M|3F#5~;Z$${d3n;ia?RQ4afyUc$Q%Fy!xm!euF?p6z+GS27=p-KPT zPoRaXK(EnRPpl|=_ZWsqS8)(*+Rkvho{ZHNu>*h3`(aTEQQVUSr5J_o1GCtI4Bx8@ zUnfeD80e&V!QLaroI~o?#5_YIsv^ln5*@G~VN(XRf|HkBP|t)Woa^pQS)YN=k_Y>s zxe_+?A+{?UiHsp?qMNfTslMFjGK3I#5W#zLBP>Lht~rv-eO`}zIqHW)hV6mE6+DMa z^%Q}|y{OYxH(!rqN`jevOxbjkaPHc#w>Mp5>Pu01w7hu4RpY@Epo{<^b-n1POEVX} zSXZU%0%C%`Qs3$WFm%nfEXfxNHev)RYZV6OBKP3!8Rh(7{byy#G!m6$kua!lKmF~y zyF!)9ri!T}vE(e(3t-H=zJ)8%Pz(~oSlc}b!8AoPoyHOEw-|RmUv*CVIt<-H)dH)# zmI5*hHsCF9@U2kqeQp>Dr{gg>+}y1VEPmJ}o*cJQ>)8diL3p)RH4Vv>^ANu`n|_Zw zY}O*0iqM)ZXWIg!LFbh%`@Xsmw}WYt9k-|)CaQcP+XUJKR{16)`UaRab~pG?r?aeZ zV|Cx{6kA$0> zFgTjqTbMdB{NG{V|9UYJ4~MKRraWxUdT zcoYh^JR|uC16d(_pSeEO07ic!a_Fg^YY48wi3#ppB^Qn<23m(MeM(a8MdTdo$f`c8 zvzbdH>mDz|H?lh6g{I^>#O1uB^@T%^RFfz1eCKYTa7+xw) zqopI6ZG=~Ph=k5w@U84T>zyYj7IK|_L z=B+7KBBKpM1>S7h23>zqXK?6D9AiYK*47SN@mn|ZLsSjc@=`S$37&kq@}37E0yv&I zebW@0|45_?Cd%p)6e(~8rG$D)HG%2&O_E1SG)NP#_86fs{6HaN;;kf#bom}k!!ecg zQ!$$iZ5!)^a+GZLjbHy#!DC$HK5);mj=%Vsab!{AXfjeBFcbxLCZv~!Teho45jgNf zh2y%&tx102P7XKw9UClEHz5TB4s4>s2_yArER4y=(~iN_=zrUnZSo1=hKt#vHa>>- z8}xkG0Q}V0J+vXRqX5?x1svqR(Y-x@KE$l?5hgy3Z+s-;DLR4~>;Sm^+27EpCPTq0 zo76I7Gunu|&T(avvPrz@{t>12uL5nG8<5(i0bYCiWsThaO21dgW+X*?ybPL8g5x124Kb?ImYAQ{G0&L)wUN&2)%~^k9%n_Nnj>)~nDeYZq3A;DJ!!EnedT2P%p;N%+dMO!yA_QcT zz35etoA$DVpsI`|V&{@NLf(!7@5ogNNXTwT_G=TXH z-4|larvW#{YGeM46JsP7+Dpih+&u_ZnVl=7?j(lK=%jJKK|YM_{R-XU$Ak_&4f1*0 z+nKSSUPUQjmdEHwMtJAlZ56OqsCLVSCPy8=j4EFW-BDu@+QbSzn7{$~HCF&)8k_b4 zY&vxCb@hxHAu>?W7B@HV%~<0TZi7EKT&-X-ZBO=77wx2UTPk<9n_Wtuvn;U&SDD2K z7A89?E(&l~Gjn3id5P?TytfUfa9Nu}w6;mg|Az_p4`u*X@GYz>duYgS#Hx^e#A7w1 z76NTu1kwH7-*Cq%H=mx4EO?01VlU@l5czsx_s6>@C6IU@K~lGWwG)s_N{L+V8iEz& z{e1U~ln;22QR8x)>^1ACLQ32AHBn^ktB&(>YA{NS!e>%pjc%2ZEXNz5uAjKG5Z>OB zNpqV6_9vwy!opyx6kZI91InnZci5eW^X5Wn`>ezzE0N!3Zvk?YG=`+2y&>FTazP!3 zr|r^Y%_VmXWDJD*Sko+Kr$LGu>c_zDOvh@9shX!v8vC%7D30zzOZ0iD$vbu9_zkV9 zqGZ$&L)U@E?ryt2*Mlgbgt|lKx#YE^pOVvhbvW zb3{BPTrb+zKNY!{UV7?A&t0h!x;k;tT%i$u#?f>%XQX-%!I9G$cIG(dp_dHo7@nJQ z1|A*4AF+^P_w!);Q1UWX2dc2pv7J7P6@$)P8>JQeD%XgniZgMpl%PUYvk$60JaG{u zCPN~Ns&x&(0}dIKGSrp#a_RFV5R48-0^A`SW=U#C_X?M{dJ)`5D$$NgDWBFZ<&ni& z{vL)4X$gpWHdOkngdrICGD_K6EmcP4F_6ryk>*)D}iDevo>(Q^YWj`LQ4em^1+1(!} z)^32JVj|LKub_0py&lrCRoP>E+fGm`_SOPyK}2FJO3*8CLdxh=#p0w+5rq30NV7Fs zl}OX3=3HwX3S*%}oM0ToNRzL@zO}qK>0(!0WC|$QHDDbI2W@5P3Mb8(-u6 zL-m7~e+3nm_1vca)zTOc>j`{3HN6=C8vb!CCguo8r(t>$aGaCOpxy3&U9q!4-6g@y z>_Bk}w;F%PfrZ5FK^nLK4}kCT3v;p7PsDDLHka6~);4DZfg*H^ zW%;A1+L+~H{gsv|zN99?gQ;AP)oL4)CvmYBeYZ(dr}Map>@z;17i&TYQS z>^Rv>X6C+ctm#v!^)~nOCN=)%B`Z;{v2YSIV7@B)6J7t&v;9FYA~59d=hBGneDR_Z z!KQH+onaTrVFXJ_H&nYUUhN_Q&*?j%2^O7(3|n|G0bqYHO|wAaR&oTlXr5> zHJe9-24sTDo*|!bW9sG_re1!Cweu9{k`0S#MDjGS&vYr?M|U1_>mS9JF1F9?1wA@E zz=*!0>1ti@q00mScj9tAj>a6rBwE0ocg3plmq)%A447?sI6LOu8Uah|{@mV7Z9{ZG zI_-rw==fW!d_XQEbukIC@*BxGTkQPkjH$Z|kybI*JLy5Br9rgvUfof#gJUBGRrSvk zS?KQBi{K)1@|h1UgH$#l7gN#WzSOQyrWY5@;&rp*W^Y1TNaH-lOoTBH$Cat;AdLh! z9H^%x^X<$JjcvBvUD_G9SA$U-o`J3=rL}%TQ6WrNy)fEETgefkCfpsSMcUma%E9`% zf?vdH+K%dUv2&x=l%hnknq_E zK3>8lpg*$_n9%FBH|7v-_hoRMQrYabA&j&QTR!PJ!4PJ_%gKe@GDV>cdNaMX3*c=B z|M^2~K%OSxq7He;0R}qoAz<{|3{CICEJdY@`Rq~a#C>V`AQd7G^_W2Qms4MNc?NA{ z-JR1mx>CRKnBy5fs6#Z76tEUJ1yoBSV&jk79p%q^=aK6?oO1pMbx9>0!)Pr`Oe?YA z5jzsc$=`_mHptu1QGu_$n3J$d*B7ep3%|DJpm65ej4#(J=i2R=1+2**ofZc@7x3d- zy`;*I#oJ_};c@5vtdREmSa?NILsP@Hbiy(m4T2GlZhlWS;QHRfK5ZCup@tl46f78A z==S^tonKn<6C;0z+*`8Hed&^K8D;s4JbKqfi}U9XOa-#W895X>e93HR{+|~ri-CbD zO4h#B6|uh-*z8a9jA=s$8#82qIM+j7zX;g7>&W1`j$U;{=Wp9vaHt~5Xn*ktG*pY* zKHMM4il)?Q!CKe}BOnsbmeJl$fJfZ~ofg-GZ1TRMfyeWuuM@VScMvRB`rJqD%*Sd>>vVi5B8Q?PDP_! znnjbvl1#RlImqY8ef7e)aG=#@T$-(we(=E2+naW$yeyC&eQGIb#T+Z?tgiGo=>1H+iy~zZta0*TOC7DS zZXY6UA1HN*>2t-hyB2Kux~OrdkJe(iTmtnOY>s z-B?)ev*K9v79@fU{R)C?jM&GpwKnOOE)*2)oAhykHhJZXVVgUnG(_j;ud7D- z7-dy{irtNF;14<%K^q{FrP@GwK^w&Pp<)9bJqBvPjpK`GX3NQ6#1TA$wEi{Mc0e=I zC_d4$$A)ZtDATgX^{>hu89JREt{!AtS-QH}U0vx}lY@hWuHLtAA*+iQd#s+^n8npT zy=iZiCWNt6^? zD%N*6tD2zE*r7w@w&K~pGS}8MLAtYfTyKEPy`o}$*OG50+s0C46w6_J`P^=R)?wb|*-Bjq%BfCFqv?ZIAhI6Hr z3l?&Gi8XdRrSgK6ZXMaIWJqowXt?Y)jYb?4RxCR#!ttcBmc@6no*>KA@IkWBKAf%V zC8)VK!bq%8+$H57iL5`2ax&)1E&B=7Orn9&@W0OFID{3f5@NMiI_4|s0Cl-hm4D#g zf5DU3t!Y(oBgEEMB%dIdT-__4)*ud7s_z z8xmxC3XI*OIkpQ4Y2S*9L&k}abo!Y>Jp7@B=`5Fkr!&z_DycpYO(}2dHG_h$FoG_I zMKgxsf`j|m#$CW7ksW1TmZTR8&qB|P5#&%#4*ckb>y3Pr~t z*hq|1h0Q$#r_I>WM!90aeADeiCgq+A$^k(?0`hw>2r4BGK8B=~N_3o&P0jj`trF8p zzhr)$+GJMgfa3vWPNHnF7`J9hc7{2-LgK*=;3cXmmg6dcZImajAz(OfTm{o*g+ zqklk-4}`ib*eS>9MlhhxME$CpF}Vjf1bgL>sTm^h|T;NCloSDLoO%fv@DVVmo3rBpfW0g6)tJ zK{{0U)>C_PeM~>6m=*JN_&hzmzhB&a)azAE9R)kL?e>rNGnj*Ow7%Ph*fTsLP^w+^ zZvN`I7DlADrg3n+92(jEL6BPcs6bL+2lW@&9Q<5~{iF1STK9<)&Kkt9k4f*4-H!G< z<1237C>yf4RwT$Ul^}!uTpildqv#{wC=%(-3s$BKT$)9w|Bxlksv8dsq&Uw^b#qnD z0=1+=-ZeaHLo2(ysB$d*FvyDs>!=AsK1S~Mm#fTsnfF#A!tux-Q0Ix*SuZ|vYa;Om zio&(WW{%&M1acnre|ipLntwa!uj|{SdJARB1iOVll~t|7Yep;B^yM^}+J4$-cVd2A zQm;=TLbl$HUYu0U;p5XvRp1hjfnm9f-y`It-T^p_VmdiIMGd+TUu}RFZuzpD8Mi~i zz7TWWArmYR8~Hd)hNJVj&0V-D|6~btJ|Y@CxTW2=ETjAACvONCe4ujP4|5V2XH{Jd z$13mzORod`oLZ%zoV+_IpoaD*ftgyHGm!NerEAyO`C4j`wZGKx?!PkfoCx6`M(Z32 z4Pc6MH!`3uy1M4Rq*kG7d=eA!gJ;9aE5(;CFOgnU(ntFSPCFC?IekZ33Fw(4fg44jrX)5I z(#nGp0X?YH&XyCtm(mB)`QD3e7QM0@rJ_ndWme~ks2C>;j8|-rQGuS z22}PNfiE3m>7+d%ZU{RtQ&*@r{>t7;C%KgcEEJFQnP{OA`AKOkurw{D{v813R!NWb zR6FHpHknu9Ma8-wKXd0OO76(&f8aHcu9(q$L!AnS1{t8%i5TU_(P5c{oaUMeBrhxT z1r+fDwkJfzmme@bdr`pU?-!{6RjzviB3|euFxj zUS>{k`Ik895dgUP^|_1=8d=h8++T^a2*OUB9Ic|`ITGWI3&|fpd42r{4WUL_{sUuZ z@MQ9+W=gZ9@N#S z^Bb5!nN6vc?6@h5adHO3qkL1`lqPi&w=$z-cc^q^G7$GvL}>q}hr0nP+#LRPa4?8c zFsc0aM0a-dZo|R?2rh*-F1;k2b4uTjwu#z}I3RI*f8`vq?=q$ZNghWqC%f5pf7NQ(vAqb_9Z{r_gtTY2XQ>F8r zX5;z{i({NyKJ^7>FLMBUe$k1Ul)Nj#pdd2xuK`p9x8(fGA*1u3D>2XmteM;JFV>tK zVB*_#BT}sB-Hm03yuq5*CPAfoj{=2sYRt+B(PJoVE+uVg$QRI@K^L5%g6$ zMX?)w&BqOQ))^6L9#HZet=(P~o@uCJCQw=#BP?OY$ON+XF>G~-G@ilKjEt{v2qsvh zLE%{_i>&@MGUM>R_#}|a#QFAF<@|Tc+p9@oQX0=ts@ZVT&BeV`gx3tYUIUU^J;7`8 zP&CuJg1$U%=p*7bCDSmq&HDFVK)2JTx)Zf)$_kt>KXoW)S*}-@a3zu`XNt7;RIN@? ze(nX{8la=BR(Z_dt$Npx6B4(%He-Du|u{Cob(@X%xb9& zNm})|_}$kCeihl1&^cPtx*zmA@O!xiEv}b@>=B`cp*K^eTuAyobh+fThtH z)x(MU76_Rr`85gWJZ?qrZ#1&wqgK%v#gXUJa!%HXvu6ZP_GL=v8(zBoJdPs~6pWP% z2s&b~16v?$-6Y+^Z_;|{1Su;uPyqc!Fl1QBdrUbZ2zwjf;8@0Gnx78^@%nc9MtIV~ zpv2*4^0}SEM-dQSz<`|v95zvx?RTSS@XlhaM3LPn{LttvHTBm%jh%4l*0rankza_m z`3AQ{{*JIKLZn`C!y1VcbY;j+INW~hkKGM9b|#M_9H;rHF^M&ah<%ar%^u5YufEdc%FvLEC{?9@NN#L|~vF{TmRBNM4$36wOUk|pon%sjsrNh=*u{qPWS zJGOzrIZF>64FW)4uPePIW{1(ZLdUwQcJ_l*S;Z7+A`- zMnd*U_C2#XJfKbHKt4e`k&@z-vmU7tt(*08CG{}PO z342SG>KyIe@aI?xNnA@kzAwcH4ut2>u%e$ z+y@0`ql}(Hkf-7e4as~Hr>J{xbqV;d6kU>nLf2XbQX=}m>Jnw6;| zt1H$L%zV9f&0&mc%Fyn}r4}8o^LrkE{-Inj1lSy@#AV*=PkT4GaqK&h280WlQ`A`) zw-Gq6ARHHy!21SMN>(_?ZWiAq7?>afRXhzb>~Utcs{+s6!1u9nj63kZzQH6I5!1-u zx;yh2_i_+4*a?x|&iA(t%o168o#edtY~;mG>tNUElodFVdKFz+fvyb+U#uQB28pP^ z?i1AA9&BKS1zc}-JtD;yp1Bib|ITHhs~`%3Iel3hg<`w(_(9a_Dmq8U5_AQG2wa`b zK9X%S$=TP1HCozCrFRY6ydn}$bzGa`6FrYPHkEdA|ec3Vjfo=3i69n_y46b95 z)#e=f_ zjY((3Ozh^yIEVb_$_ii{)%#beRpx=4F=<~$mUm!g;XcF7490GDTI4CEe+#5hb$Ngw z_f^GXX@FnO3cO2DC);YI+e0UxQ}!JOG{s)9#ZNYCHZ@qkps^hh?3%>2(-32%PH^lC zRqcYHGPGUP2MejWnq#=>o3v*5BY;mOmrd~PMOB^SsX*Q4Ib%ZfaUy5LBLFGktsGz% z*N9>vZJmWhYdPLRywJ~3q;-1Ve!ky56xToBuli*5-oCtr=`aK$qRjQtPODe>8lZ#b zD`cE*k9Ll*h_C3fKC9yjdwVFw9<_7?nn5E2=YmjC+v?3)J-!ag+3IHL z?6!UFEy2&RmTY>t=5n*zV_?V%QpC>nN!l}+! zBZR~tDx?6wq*B%`A|iUqY9_kdOpHq>(FuQ)l`7B5SQT9Mkx8hn;nR=+J#Uhr;4FQz z%V`XnAZ`Z36L}(%@R;*-9yjeT8FGh-xaK-V*_yOWgT!Mj^S zt|0q0cxW$c8byPmro}ad-JD_ydO`{1Z1IJuhE?E|+SHg%d`8++Aa_C}hXXD2rs(J5 z2hF)vpmpAH)Eb8LKFNNNX@Xlw;y}~%dzm0#4{i6c720%Ut7m`?ia~HrdD|3Ojm?#5 zX_IU6_zw43u$w@_Z96$155pfvx?$08PL|?9^j1lLn_q?&sN#g*Q1anl<9^<5#0GLnOd(o17*} z*o71l?_%-DWBqnl3f3V}?Z#-+7}{wDQ|v$5$niE*SB`Q7dG;GZnkR&S(UYIqnb{{b z`4g)RGnobvo>r+ z%9nB;t6&Y)!5#a>WuB$&baKouLlr6$-`?6SFbg1f)9p0^{tag`Pv-@J*)svia41`rLjN)+-w>CLL}Vv_*MW-k#pl zyJA3Y$wp;rkK=-ZO<2nq+r<@FTZdkJZPwy<>?^a0J%%wLBToOY1xLJqe0C1q+p@{ zO)6Ii5;umh+jc0~!82M>Fk!V}F|slgLj(oOzCfaeV%F<%C9}jt8WU3Gb2>Xc*R&dx z=ReiY;M6xZkojl64)+u1G4?cZEKS zUh`&KM|V0SEpNwb&4myfFygDA!Z^MO1iwS_w)Bkw8H94H$+&qc3JEcU~U&}FHOY|6J?Jxw^svTjsR>MP>4*Z(AbQlRt!-m69*TzfJU~;AR=xS1YVSS6DA8yP7@| z%5TkuHI^0_Z}bXmfE6f;QE}Y>6z3+SP1Hvekk=v zP5}ca6t{?t$oGmPlU|-jnK92uL zBONqzqE5y^@^cDb38I~wDMj%5W8Z2-un3fOl z9>stP+lR%qGXjCg&|&ftM)6Y~fgUmn5mFoKVL&08TB2;sVN?=XZ_(scPaF>X_R_kr z?+pjmX4@WKi_DhKa|FLh;qhWf-#FT2O~G z+=_HKmp`zk;Iet%T890cgPvmn%*X0*D3jC50YRXS|3GBxLI|w(z|^ubp4V>H|9sAR zrilRLC;mkjD5@~1UPxqGS(EhZ;6w`wwn{CX@!8f8&99E%J2qf#^&z&YEEfF-FZ6g6 z%|(`^2=V61#M~bX=b~lzDx(Z)S{GvFz+M0&hFMOH`%crFNZ$Tz${@Th*PeEct43%> zJifk@Ts5Rv*R^eOh&v#p$)C5@AVSr&p}jrF5idbdxi!PYs?V3O7${#SjFJ;A(ATEF zkYTjDqJJR}zQBGOJnPOFv2Qi5TQ89frRr|xz)lMQHlVFQ(sEEW@O`&0!O0c6?HR~t z$hN?V^Mxc0%=$bXT%{1#H_=Yo27E+Kn=u1nb z-0E%TGZVLmV(Bk3Nheq(pc;ABO08 z*t5U2k`0gU*+^u3ihDAh?@gH~Pc83`(<=wZrI%;jA+P@Kjh2#l0$jtE*x$lyTZD@@j`Im+V9csj39E5b3Zo|!W8`EDU z2r$84BCr)EQ=Q9vVFp>SYn~2kGyMd;URq~V4PmmTAdxoInhiV5>~eCUAzbWCWUrm* z6z&;}>wSC|$ZKV3K%^KAx1P!9fA@9;;bxbK(``g9eSs*oooySU8NeE9)bg2L$TD{p z^m^eACsfCGR}v{wx%A)#P$LL^)dhhXy07da+vN%c* z(}3DS6rb;e#0~&=CMKQMz>^*e+~l#$TMPlRpC+}sLkQ?QecQg+sF8NmUb={B-#$Ix z&Mq}J5)X7I$-Td@07R01Qw&6m@zoFi7Vn)`cfGQWz3t23F?-hM$Ifol(XW=TT8n^j79h0`VTin`ukfk_?+GMOk zK3??RoQa&rUPjVBL^b^hMl~#6HA2RsHg-93fO+yYTgp-}oa6bT+^M6(Bd2l%z=K{C z-0MSjfxy-$U-%%l=Kt+6vdh+x6*M%s-nZkQ{8^+#{L_^lLDQI9sw`eRBa2cnT<6DZ z9{k`!N2QvvySz!lh{jYD8tNN95B)A-KcP7oC}f+3v+dB&n5}wH36oNm_W{{=hd$T{ zbL8c&5%7dCG4@e>ufT`gU3uJb{VC5M1x?4Q1GGH|at-xOFBV*tWz@#J8}g@CYvdeW zpc-nk{WO6a{9B`$xS)lfv_ZjL8KAWw#AH?h{0^$Ed#^aJYb3#vLe^WTP`CD(x?UMf|g z`_$ZfQ97_gR!!CgY06QOLT)XI(|9|qv#b3Zh8Wsw(8#O})UdS_qO>9V~=`)r$Vr}bYB|0G?5lr7IR z)!#guTr=x7KX#+OfmHpS!jSv(Re9&w*V1vXN8h`1YDee#GVWu79@2HLCJ4#5W{vxR zVD{G9%mxdA(}$gYwXk;)EGMsyXtR(C8}fs{pW7_EEkxnGggrRx9gZJ@Jvz#jXMICO zG$sCN<4QSP3j)HB8kVnY$?)Yj+y2tFy|F3d!=9eUr@-}8#iK-6LvZv^R_jQagP}`I zpKpww3d=Gh`%b&UTN3W@$6-|$j!i0Z%Tc8=Kni*MJ{WACZK!#l4vaktzAA##jF~Ui zufK0o%zbuAz|bSG$?u1rfAxQD6s{<+AQRvA?hRBRpl@^H|HEJVAC2N)PwoCwyO>m$ z`t~Lwb=|93Ip#4_FP=Uq%OIAK6sNlvM2@l~BtZTkhJgmJ0Wx1rnDvs``5) zLfY{6vU&ST(6`tY-xZdfwm^FpssX4opHWUCl(1{%3^Wd{N@R#6FKuUM>f@YghbD=L zgLO-=Pd7(}vL)Fn!9rWyUYMx1z)`MMmEa{&^I?%oU6)RO9OayVDXHDy9dw?%!2kw9 z&^w6kM;xUgIkSZCZ|xN=f+2;u)RE9zERy1w_(5*?y`EBK?qqkQRN?pY`0%mc<0Yx5 z`6J=NIGmV@(mQekOweBkA5io-Sj7srm*zb6TOM~%+U6r@m9u`lfh>#vhq8By&NR%r zMN_eD+qP}nso1R8wq0?>wr$(V7u&Wf+3D_c#^~;|$NBfZeJ|gOwdOO|#3;JQW?7= z$u@`AQIv92>PL-X(z6Z^&_v>*c$;_&VfbSAX7T2y(Op6%TYQD+7V7hDTBRyYDa3m_ z>|C?KWpmbN!_&B(mbRV;iW^I;kM2**-jdhLOK&t<4E{>{U8^q77TDBtv~Ilt??-_9 zXPs_WCXiScBdU*NkrZ$`GYLh^nL0I9nmCnJp)z(o9Sjo>zBy?zVw4wk+i6nrIG;*! zB{Y}#Dz;a#tpL^jn#|O|QrUj)qCOmAq~2MzTcT}KNvY^X`aU5G(WAduZSAH%k(mOf zPdxD;ZV2zhNk;JZ9ZX@hSlI$8a*!KP5*7UiA(w1--1``;dx?+|W7^5H>{V=%x`x6! zKK$jFVJjxwSZC~1hli{ClnoksojeaxPAa%7dxgiIqkJ;g{k2don{|ChS11kfVu{dg zrl=2oIa$Jt&F|}o6R6DOS=1PG!Jp^~*DP#8t9R<{@B0wlhjynI)6#3wI`ESXc6I{2mlX;BJrICX8+QGgGnUg=(nE zv7@K|Pmm6^S6%_W!* zv0?_`ljXkQYucRaY>BU%_9h!q0`=qQLWl)!q34ZZi$*)^Jgnz>+uX2+y*fWQJG%8K z@xS$_zU=2KSx0_9)66Me$V9wuv${=K|1b>tu|~RRU4zlYV%ZIKJ%iY(vlV|-g|Ch6 zP0QTy%D3@M%f%rg<6ZUQaUumQBkV&{3b?zgN)v6)^?Un64#;Lqh$Krng-_Q_&6%^- zZ8h|3DQ8Rl40gU4F*K(ay~<<`;Z~Ldi<5!*<&Rw4HIAK>7(imW`ZZ?aD z_wl!IF6|-8>yPh_x#O47Jk5S2djQy4Gnidipi$zhKE5a6|fOT!F0&-Y%W_dFFsJY9i0JM2V7 zPZg~8;}hI6+k}1P5vehZWh_o`!d>%IjKMno%Hp;txrGp~unlOT$+O@~qpP)hM#y!M zmG8yl5jcPSjJt!i{n9oYy4qeB$6P7ZQNJRUI6m=)_|KsjN1i-b@tubi`P~`H@c%m$ zRV^G%4NVm7?QQ;TF#elp`%y%s2s)*$?P=HfD(if;>I# zqi1_BNT0AsGrdvnNPfRg(&4$~k0$Mpm_P74RJygnj$#9u7 zT2=rISuXZuea0?v?BZO+JM`4>ZywByGzk@RBp_yKfKj@g*s<>gn#^2hOx+qTe@C^P zZNexGN5t&7h3Om{Z zD_v~PZo!tH)6+S5<2i?L3T4VCW%^F!-->M=Lag%S_;1BFSqRj>6x)iD5A6Ceur1X4 z|5R)%3pI8~`SX*o^Gi^$q)o@}ge3u-*#q4cUKKR#k8Z9G9?z2|ULS10HEMPr&hCbs z`McT&JDk4t3IK;sYtL6BP}IL6`6oW)F-WCUELVk5+$qv%viUEVWzpm|W5|uMHIDW9 zwa9L&j!6_)DLBQlnrLUOy^E`iw)aw4%dwVBv9S;!&W}|;gw22Zu2_$ya;vKnKbbHJ zP6aRWq29A(!ciL4hn=LLLak9A6ogMp1v=Sugs~?HM~N1uj{U?F^$zzZz@%_|hh)-5 zuAXdg=Wnpf{0$Ok{HA#~0-76VABUn`_jb;38=_fdVL$lcL%aLV> z3LbQ;qGPJdnWx!cVr!Kb=tq2v0>;55V@p&SV$ikE`Fk?afI45BTye?+}Buay)B8!ik5gdbnzlwOhEwHdOiuCmZos$V#SJb#~4&O4+` z6*@omt>vml2I-heOG~pzEEP*rB};eCvUf8ARcoHb za+g&i9PWLJ9;JNXGJhBEJW!dqYvdRWOa#FO)6cx%47XzTbX%TV^njl?M=;bElY!nN`y47J)|G9w1%I-z@anP%(3PEU>h?`-Inz zt$yCsyPx=YQ*#rct3q}gaVefiO9Z?G%z0de75CB`v9_7U1sC|jlb3gpE2rWqf#3yC zSB=i(_E%mT<|w{P^6Nz>Mg|Bs=1WlaHd2p5p2FGHwyCF|@3fz& zVWQB#CFnjwd_G9=f5dT!9+Z3}rX0t}7jDm~X~ zX5zJ;RNPt8ZC|L-LCH8tDTqx^eJD@+=nJWz#aY5&oiZtDoyKi1t-b3E&TeAY$c)(t;@?79SsVhIa%hbogc284{J=X&EX! z)Vlv*ViM23mt7Ep5|@z}V$>5BN=Oozd)cmjBxy*Af_#w52%H0pW^QGlhZC~Nurqd- z$RpJK?XN8;-Lwe|U)g7qCknivfNGI%x2wT|Cc#OoYRsY?agb`IwwC}KP z7XmPL)hS{yf7}prYkF2Rru$isYA&}ZahqDmkB=T71)OK5lVy~-`iBHlI*!psE?4{Q znN#76*J>tNo^!x`iL;=+w=3(XuB=arHR&WA`r5kuxWak-GS`eY)pcdT&^~OVy6Q3? zPv~d^KMTGUA{Xbg12U;o$EG70DxSXDtoW~a=I5p|6_Ijh+o#)4+1|_J7VAhZcbAbD z#p;x+crcW)tRLw!Dx5BsX7F|!zgh*blN%++!jZhB(-|=GT|%3S{uiYH+w0^_rFgL(7ZZDV^Rfi`F95%9~IV+eI=% z$zw3bvm}~EyE#hAuWw14`Y-KlIP_+7LV``dmh9$Tm76k~{VVyjGTDQDj+(f%DkdK* z7F~>)oh#36`RQcYRzVinx_fl~5-Of#cc(V9j>n4GhVXE+)q3LWvTNqLfWXmk(=)$h zp2 zEi92n3b}o9^Uf5CX1W$Du%@S)gy6lR^sxPg%^-XsPkRi(LPYTtrRXl^Js|v#FHER< zhQ4>&HYHQ+H3&4?0r#dWDXYIu>m|LTogYVSfr2Hff38B?wX1qlC*R&%=5n?pwh_1~ zO5~;%V@kK9Q}fb56Q$9Dz-%c2ZI&XR#SbZr>W?o*cg&CfvZ*0xz%FHfKL+h#fqz*(ALyM_5c0wPrF)?`t?5;q`y}^dl?8pxbBJfAR-w!=}{$N&Ly-6`$-f^wF>!)#%w}tIWB9a47BfF+w77iDCI<~ zGVC;|YezPrfjtv3RHCEQCf=EojSBJt=OH`rdlwNHG%c6q z`Jqyve$KicjGk3B@@h4po3wFJlWw_*9!A{Vs6fxjHWrbe2fl6*ba#*)nD|~vkQF@B z-9Kgda7L*SU?Xfa0T(h^P~3L{GR_@E;5(S8H!AT{u}HB@fQDRY`w(3+f{e^0A_U#U zIMm$S#5|78hO~U@J|IGU>fBph!NjQS1yJ?z=q%Pvtum@U z%%LgC6jnnlnOdG44bqbMD0AwzTPdl-3@R4&5Vm5A7`BCFh4EngM)W<)#q+%HCm~Yg z=1H|iqAB-cqJtWAnM4;pdKkeD!kw%zd4ES$u`$({>-dE9h_-V5RvvsAx@~XgysxOU zodj0Y0nL&+aEIa}H+Ky!x*QRwh@7c7a^s3{?|kLq+RiU#X~@rFSMf!f3bHq##K7F< zs0dQ)j4REPsA66<{@a$H2)*ba%UY#sb!_F$#H$oYpLAqinpZr~#|d)!T>UK(v0&bp1%@O_n)Sj)S-lif`J7M&x61!Zo8U)yn>*de|<<*vx`@!zrvqwHjCAl@{|S z1KA-Zj9tv?3p4+!&dP=8Z{|vob{iQYXlc%$`u7?2u};b!yKp-eTv9}+aPaStn?ZJn z)g?`GwW10*F zpW$z$1A2JEqxc4g6vDzM_&_`PM0K0O#k;een0u&H_D{QE*P2ZYsvD*sLqtdHxNtl- zKAzV8_Q*e7U(GV*Fb4kSrlD?nL%RAX|G&*TNoQvV5gSWWyMLvlb!phf zt%)OkPS>Q}j1^`{y)!)!BRQ57ND%_-=a-h}57E|gHJn$kjO0;&b+Mc`Y4wo0sa5z2 zVqQ-+u*`Hadu|0C-^dT@nt6kW2LPPX3TcOHQr0p^7I3T8=s6}K$%xV_t0DXa+Q7-U zENS2%LX_(g#iLy8Zp4%cf!8gk5p*+XgVB!BeY(TV7HC!@2g~h6)k}B(N*F#-k}z{p z`#|W38fC`hW@-To??nYQ1);KSGj$<3hH;co(7AenoKdz-KM}(b5lg7A6j5mf=xjyi z*L!tRpn#SioZGY|^?P(JHe_%yI-Lbw1`#u{bu6^HmlykE?1vREOK15K)1 za-CLl3%&sumNpquPFIrTHg}^k28|aY)N+vfaAD)cjl^p?i4?gN%=gXl6uNY`w+kj^ zk5|dMrxL079SM{4oTJpD%0&XO;pA2m0?mz0jN{mG+3M-sMCPZ*U*3thS=6z^ecypc zu^Mhq71SAZ9(Ny2*mU4_7iinHHpFi%>viRi<}R$jqR3=1?l~GPn$z}ctkWh1l8)8^ zA5(~&cOe?LVX8?e7G;FouSZ$ZMNr9<^x|6M#&u{+o)m6e>%UgZysF6#rN$qHOi-6$ zZ8r?8aD%@i$P=t4nh>{RJ^2dXV*TSU65SeBjI4zV(kGRRrdn4-_HTZ4*L$HuqjmFR z@y}&sqqj*pH85v1475_QB?)lq=mKPg@3C(ZGjCj9?KV6;f}jE+RLIEUV8rxEIf$X` zHJklr=3`Obn>jq~RQ?e+t=Vt;iavDB%n~Wx!ek7)qJwVCysZq9C#ZOeyw1LjWhj

xF$gsfFL5w~Dnbue9I)${^!od2>HJ5b_6EzqkIhhB z3jG~qlN?gxFB_UtA7}BwW$>BFbMKBr>?S2R!8_v?cgE5mUb`aH<;U{h?15DRYMLZ& z>o{CQm&F)i?@tgCM+}=v6X+`;@Js`b`cJ< z3@xUQqk^JR)F9!)j~~&Oa~$F65zmP3r_jQDu+(Z^aZ4Ai)Pzc5iv=@)D=#wkGzK$m z5<0?I*<0PMx#A_L=pK+ZUZ;(a705mk0~G-vA&KCpAth5=7K5t~suxqB>laJNtJfSd zE{47#^uQx9G3hLj`Dx7P7;BiKOZX499k7xzETevi<;4DAc?i{UQ-8M>_&rfm-kVEu znq7ctRbnUWT|JT&b6ya3$HH|XDS`W2icL+7#*(6jdUc94r%0#GF0T`nu_N8wXcmVh zWfZrjvBc|N1kL01JfE`WE27;ys6$EAr70Wmr;(IpeMfJReMj3&JUBaFNw{H!@_K~O zzuLV%^DqLiiy)}z)d>pA1b0QGziFGXe>>bZ%zToBPOH@^?M;sXjU-80=$FazNKDnm z>VL_wE9s-F2DMR%1XlRe^j@x zZ=GZ~hO&+yh`xrb6D3l>ehSNUby`mcYuxnD^fpi#dJVEV>sV?WG;xslLS7-@=uZUk zdA;OpqE%GEh}PiD<#ZjJ)vybF4H%(iTNkK21c_@mae?_bqhU}vA!RFX5eRSpB_MpA z8xX5o;m5K;R#E@7#?-}o95M+rLt3=gyd|->JY9K{GIr;)eiE$Zp^VwRf&Pli$pD#> z({Tsjnq?JgBwzBc8aHED?8auc;6_3Yh7H~h{sM%!vfJ>l1+c2JW z34LCAR$Xx_y_q3XZM-ppmR$-p##&}d-7=g#+0VhQ-zwjV|77yk>ii4gv-LSrTC5yB z%8-X3uq1m?iA+tUK^9`N%r|^K?Xm8;r2csxaa;Aw@t@lP`J{HF z%4AeD!^B@(Skm=m>z0Y^U7e)tT)$bIrlSu|0YK9`(!sje_yKALD)0?~AusktMmkJW zyUHodM(UJM1%NY0*q0P*#l)nR`FNT}=#)ln(4wKB%2-I+xvXPd?ft$;CyY(~?{+_@ zaIvEe5<@GFNqwly{1`?>Djx_YaU&&CN|p&hN#0RBc*jLvLvCc|zR4l=DAJ}}>aiv% zvE9B5Xf3^FMOnO-smK&NH2~^-S)1h$sBa&q>J7)%3ZpQHBQ|@>z-`<8GyuJ@UJ<)H z?mMvIAVjP&oQ8q9&*Y>tbI+BF_hofZF~HPfT9+tyuNsXpYWe^nUR%eTBU@eVkO^W% zg*&|&OunYJ>eK2IoQQ*-gL!}0pv0FUWcU+Y#{f(iTFYOMMIFf_mSlv_sFc-JhaBaO zo$gC7@(IuShtZ}U$OV?u2dp`bW@YHjfK8L8+>UGA=P!?j&~?D$r5sl{0fuVW7 z7EOj!e&3GZ^sfY70oo5Yl$})u*`aF~IWaP%Bh(VS_i>T$G5U`0W&ZZySW0c5j;0hg<8(La3@%e(0+EU*&D-%z@ zgm!;zD%e9n)2W)`im@WNyoWCchSrFy!g zm`v8w!k?#fNjuH(>A$F-tXG*+{oNeoz$e`i8usIsq1jsv9A4mwT~r9NP08(XRgBln z)a==N4qYf>2M=BVUXwUGdq5Y$x-<_>go6?lic5k^EQjTUgwO8K0#+a2^G4Sxqg9X8 zrE~4*J<#$j`&6eOUQ!d$I_3I%S92w_O9TlK9ym#cGakEdglTeocwnY*G5QgW^0)CM zhp|?mFs`I{s_Yt{xOl#5gFSZe2S`BkN)51_%fHJ1_K4tV0B|6(0-NGREOhvzadl&1 zstH`km5p^(41Cq{Uzh z@FVn>CQ7>?Z2DcF+Z0+?g1PPO2pm)Zj3G+LyU@a$aXg=oz|S{B;<2GlRi|yiO0E^H zeOGW4(@q$k4q3h}?9bq;a{68h$qOvLhn}7$yy~;35JJ{-$A7Wa%r<~{)+T~VG+YK=KgiG%aEin z@#pvxG!#Qt8LA`X(8z6!Ahx5?jmuWNrDUPqhA@k-J`};jW_1%y7j+sVod}_Op zshCoM7vxi}95<(DT192rPjG5r=fB{)qk)IN*f&+t|DCEs|36U`a;CQSjvm4;W@e_2 z|KusM)xVW4;;_EYHG~g}lo2ElUX{m<@=3YF+Fs$wXktpJ<`IeZO;?Q_Dya6OeheOo zHe?flwhXDx!~%%~0?IkKaXXm&qo^rEuvy?OLTMVrMKYC6E094BRn{p`6itB+`1%At z`0{^L#dkFYC?~0vr?5Ec@o=v;hZ8~vY34h!2V%|@FldbJZK54Go^P^P>TpDEOSTZ< zSmwg+XOAZHta7B@?FsBdg$xdN0Tz108YRh& z$Bq@v7IaLH5_E949a{mVltrqQRC84p-~Aa9-OtG)#^JVV(SY@*zXZ)Ey_$arm-tu- zr-QE*7~>3)ARL(DFm5sV=@OqS)PEsVpBIOgQg)mU3Atq&PWs-HK`? zx==~__|XLLXkR4e%#9Tjes&EjYVzFK5tGmsm4!5}zSeqbAv!iU#Ueg7G`+ilS*Np9 zU9NWl8|k>l^FejyftQ$q8Psr+BQ2mGJm;9`VOfRQcZbqmW097Gg%?!Qx=Soi(!2s%ZIuMa zxk+h9Hip4t+fph6ms>t|SNVR!P7|d&86$h4s`&sx{nJc1U+S(EVgYZwRv7B1Udi8`KP)Sp!T{kANf-)Ip_|Ul3idRHqGMq@ zw(l*S3a1^jSdT`38L)Wq8lRFK)-!9piv1-(O`MH)i}3E;ZFs%BD2G=Uo;b5qJC!zn zer+-p$#BC4o+@^F*L8VkZ_Riy82?=G6_I4-&YV9yUJe7(X@$$q%ECn*W0KU&(^$0; zKe8uGo0#$hTK+ON1iN`zxa)B1mLH9whcJ)@!x+)x{fR?Ipx~B$obqhC z>Jp{=_2WMg;|dDsJuWy9kPR{r5ZC`Skp4e`5h~y55&uv0`jn=e)0*UWdLoTyTcu>U z!=Z%+eDG?A4YGrli3(R6xTSx@5G)TimWs~j^}89XFf!ytmrWG{d+OV{OV8D*;Z3oK z{Yg}K+oZd&c!Jh1Y&*?pfduU|x`iw|ReBV&;6zl|f=v8f{c0&GyQY-lra;xo!a1WH z99~J7sKL~Xd$!-?FjRXRT7P8C_vhH?M9&sc640z}deF?kuoC9fPa(8>k!6q#`5Kag z2ZNfT2B@vNO}LR9p=L6((I--fno@MlY3iUX%>qO@OewVtTOObbc~ZOx*(UkXeBMx8 zX?LD?!N3q}rS-m=*E<~7teZ*7U=OisDpC9*Uxx{`2b;DE1IJb^y&Sv?ZWzGQ7iFP|laYM)~}6H%LH*cM{bMv&mVFuEl{{ zH%YUQBvU5IY_hHGt!|9&CDMR8$+{z;Wlc-#%QK=pI^_qjn;sCCaW(&@q3C|83_;i& z=h?#Z?ZxwH3ziST)+QW9!>xAZTj#(pI}6TNLpFgpia&3I2@I`!3OKex zgvy2sV@Z+HrjV(W-Qs}I5hEg_+@y&tIxe~;l9l;8lYvKVljce+BU!V*}f`|XR`%vM5C3>uK$TB|KSGPFP9#ve`q% zF&ZdAFV|_YuKCUIua^#RQzeYzOVoVy%xdXOZ}^`oS`IO~!r*E(H2$)o6NPdH z>gtJ~SI*&CPJ!>~m(~OYMQ`X?qAJB@B$1Vqxk#=!nv}pGnd(*y32)$7F!9af=3A)6_2JN895p33k{dG;&P1r# zK*}GLK_GL&92|Kn`mK~iZK>Tpz4{^BeQ{>9frf#OVh0Vu;4S6f?$B=i@h}5gdz2T- zi!8ynQTxOoOcgyRy4JRxD}C?Yh@%gi#2D_Tgt^-mTgkY_0HMbz<)lARlY)@#x_@&v z(rtuIRWt+#>#A7rBx-I7(LBoVdyotQlVRC%qOP{i?qGA5;Dm!)Ah&ixGuznsRjKp22pc`^u{j_?lw_6M#zFwF zV`B@mAbd@Yoi-XNf6r-omt|tPjSO51kQcuFX{}WbrPJwDNqAlyf+^%yc*pvS$K>K= z4R_Pwz2UL>(~dofOQ00WEkiSAU`TZ z^_O#0TPn>$-n^hFpRy+@zExvNud^jvz7S5v!U$M)M!^V=p_1buS_@M~g*t!swH8T} z0Q2a_TedQ;(2rfnJ3xIiFU+s=wm(}x72X!JONW1b{{nHB%yhn0T=-By9SHQ&ifArf zxh|3K;#QWnR5*Bn-z0ft4a0xT2qH~zp;+;*L~g%Z#L2ia1{@ep_iv%ib?#1^9_#YW zGaxZ!*2UX59D?pZ>UF&-@s`emLfh{n?bvMSfA|J9Qb+`z|L!v0g*KW&vV*|qS2c@l z*Mfop3erY@cVCyJwbmQPO(uFO>mCVPSbyKOaQ5Nh$+Eg!0V$8+5Ivx80gS`byjI-u z(ASdUM%~cE4oEw*|7GnObcnk}o?vzgB2!vg;^)nNSsg}xkZ<1Y$>7~uog3sD!)jcG zr_v46JvX{2Oq*@3mLE>qrY~bJuR1jIVYrOmTDN=+C~+8@(!gbCl>+YyVsgDgw3JIB ziJi9f(g4}?J^U^KOzoUl4U}=S{fWBN(DL9-ubT4+h2ioB^31SEHhtN`GUUdi)vX&C zrDZw2dIn{zR>h@1x)%lCvbMj~qv_wnISP2lM`4ubls6D@;}7{t=n_y>-O-0SPc_aZ?fGb&=SHWAWl#@Ql6ewK8rPC>3XZ z*B97EG<>>{Xb;quKE`Es9LX-4m+np33{Q z2h#U8L+HMa1QahaFIdaEJAxIj=T=VVb9_01)G!5kGH$soiQp68En@=Cz^12j4c{$e zM4gj-s)h*@b1*;D^fi8HgY)nTT3_C{E*yW2EJd8FM0|qFHc|~$eB!+8M zdL;4y+k2p#j77*WOG0^l+&hWHE&G5~27EF5AXnnF zG6z>>7pzSl>J0F(hbAPKQoKvMc+jn#?KNiGa1?|xm zB}CAR$BOeoJBHzP^{BN_^#azQ`6qVBG(3VG41A_!;Skd(Wo7gJXm0A)nw^Z3;p4;v z{&pppjIjI=WHMCV5X*e0`I=zW`V-aHvzL|8imHS3Wkz&dQiHx_pS*0|Mg_EqwDf5%4a|ERU~S<#SvoSh922J@*zBD{k`OH>XhTZD}4*Hj|0G`9M^sh6Q1^x~0Xu2WkbQTFAh8&eaXmS;Q?|9nY%5H6Wc^X%1o$7?)<<1RX z2%8jxKGH$%ozg)mo7mZPB2DDA4M-)SBvvNUY?d0k2fYOSb8wzAs%;&vrmfy_PkO%I zpq2lDn~J~Du&(c00qU?N!L;}(CtmNA``h}#KB}Gg%1VI=cekveBiwP)fe|mB0`i*+ zSiwQkk~fDuJ-9zALpwA9v}rbB;YKLRF%R_;BCV2etaAXC{!Mfz%0wa^QtBOkN-Zyy zVpUtSqS*Q+3ZHsAFe<;T^3u&0KEY33XY>NtZ06*z_g8uuS{N zF$p>@-s4Y-S5EI!_e1>-@7A-YE+RxX?y4Z+VCGVET9Rr7vPqjbO&yQ?h*af|gFT&O z79&yJwsg>_`HbBzlkNFT0DH(R-l~^=%MvjC zzzXGr-IT*}p0|7y4S`l0A3;IAsYN1LOFahU~+_NH-&ccC*$10TO9; z|7Indvz(xL1x^>MgFkZZgw8rM>o$QTl)XP7mecmLqjywUXpND-#IzS(!?vIw!<7+v zDdv2&ar*^Rod&g=U4ORMJXC0CqZ$#^Rx~>SF@wFyN}(XtxUXy>XfPHm-HhvNwUx(YSi%+`1sP9yUy_8}6gGg~_yfQoG1XC;|NPTGkdG_ZMx_R+zoQ z{v~H8eaPXg9r_arKvTR-!*=$8XU8wsG`XAbnY8{X~(<+&p*|=sH$zgx4)Rk!fXTMjI)uJ1-|Mz|3W52-NYBT3pdiG z=d-_fosHZ}FXD_7mF=_OLz5&rW>pN*{4Eb!#Uz^##ibr$IAYx zDMi7+n3Lk#aRTrYUi6jp)K}(&hDVu(Vc)y2D{W;;2`r+v-DTFSsiDGOzX5F+M{mw+ z$1)up3y$E)NZaF^+d|N`5}!{b-6<-$P|n`p!qm~3zdqL9|4UAFBXSw!@Qu$tzVR9R z{{=q#Ph^&&(r1?`h}wCNrohjY5LJPnnUu6jEgf7Wh<(`F3)1|LB>P}ZwXd!QP^%KI zM!p{%_D55bUX?Q-+$B2c4fVS53kO!kaukld$a?KUn8n#wYD8I!k*S#`ZsIQ{BHDEl z)*@BnYSk$$%;$LU85-iqDTa1hTsX@8y!9jRtnF*cRGCOWCEuY%zJ%Jb+2-eSr%+N1 zkj036%;(}&IV~jc@GV-Ai{s0MkFN|&)OhBDjEt=TA<3R3V|J-V`X0yC4xY1rO%4X{ zQHLVC14nQ^QGE-^pm{BrHtDD7#hq#33mXfz?h>+J$d0Fl=$xDMNJ7RX9!##>;^Ofs z;Ip{`9GS3*^m5b_9Duxdl`eIkJ-YBiiBJnR6f>>(aCEncmpK8x{s&NwHQ3GQQa;y3 zLfwD>Q3$EFQNl)~Ac8H zQpuGkMAAJM*D9W?8=JO!tZU?rJp~m$-grfG{KG4;?6(CHTcWp*k(eHNXg$uunf}VB z`v-fi(hZ#sNzfML5r6o+mukMDi;_ z{-u9-k@|C-+?o=KV6u_MUDsNp2>m%bXE|f%rErYe+-x9~QB$a}67peC3ck6VFHrh@m=_ zrq~0f6f?(h!Gp*^xgWGZ+E31R+Z`{2V$zLg&fE)8bif@^&s$e}#&=dg-zc?&lGW@R zuEF&;no#|fIas?$6K+jR8BO~KT$8I77yMHy2;I1)+^3$XMjfK$t%ik7=`Cu|CcKf) z$Q=qgC-#RSwINDI^S-~$T-S?3+izql)TT8wTlKlNSdw<4RWBW_7Yxn@5B|KA(VTjp zxFltQV(32RM;l7%L+EcNTDpXTZ?xvK;i+cyMp_|QIK(B%6e>U&OZGv|9~2H-xxhFH zFL6BWHSv!|hLm9+=iU)i84(Mpm1bH_l(KvHgA6vK7i^=^6ho6~T%`E(W;8~T>16@~ zW7$_%X27K@laqsS*`1V}gQHyibkf8MC|9dDI+&H5^k1!CVsF(s{wbhTrZm9Xwb^nx z6A2T1hO1P{ItRw*Rp%cqDvcVI;F6u|;DuODuUPUZX=Ebq0&-?!nB9}9J@otxyAuyj zuH5?5^eCDe{X<5dhRs=YM-MJw3$GgIukSXWhOm;JbILE8)G~qbjx-cz@5<#wtHMxR z^JK-|Qz}LjcaevXZQg=pHrdIg&ARK2R{d#8mNsp_9t*3^k($!PDT01T`PhRbtTtVl z6}+qsiZkWOluf=G2=1Inte3{WGPvC~O**N11@S!f8qx0q_U6%`t9-Z8Q7rbpk++Fw zoLPox>Svu)V5GZ8K@K2kzbXYHNuye|o3b1>eL5kzb){<}&1X2k$Vk@~Y2Hn6$BWRa=4p-bGM>*eM44t*=+np0xmPb?eFsHHqR zyMa!;V6F}B!rh<7Q`-2}1f@Fr_fzY^8NABA4LKbl-bMT4ZH#|-Ic58tJuS*vN}x18 z*lN`YAt44ht^T>+vdhmqy76(C3}vdMA_xhcutXh$vMCvRQG0yghv05S$zs)&01?QG zeRVpix1pQUi&0#@ipg+gsT{kRs5KO0&H@u4@2~CLn7E~xM2vS zu1}Yh7d$q_b1^qmbah>mr)QbIr6)WrKZh#6k|_ZVEFo2ez6?j60EG+uxTF=81@$}l zm)y!I$AX(aJ1%>EvXyv4A&xj@sdgxv%RIb(6rq9SIUkro>?yi=+mh)bCA4M@cZL27 z4hgq|M4+y`%1}9E;pppl<|I2ptL&IwvRG`ow`X&K<6t-F2MYo?1`{=ttM=4({8PJ+ zr*B%5C-_e$?1(tIa|4nGYyO-eZ)F0$>SWM?mH}Q@E@(!wx^qW;ykvu#kR)#G5h74` zXsOIA#f(RdWQVfne9EYz#++7CsrXUQ1klNd5>2W=jIpY8d9ye6xe82l93H~Ra!Z6C zVM1akyK_4>eb8#oZnT{f1Jb!>u$u&NmaNZ=rfgiieN^VeD`uz@fGc=SZ+Xm3<6JO= zx|n*h&+?A$3HEuj+hdcjz|@kO%qlEN?%_qbsq!>}SOKQ& zbo$Z8&bL%hq_&{n8{JbS<$?b6sWHYmt&{0uY>|t%DeM8cm@Y>{Z1MTtY1iA#{QgS{ zbkR$#=BJv68_FCU-)LaUVPY2f3ge}h(vE&P4F~jqa}9(VG(}VXBY)R6B0eBq{bFuS zu>?uY;xKv=A`IhlP%@u=5|75*SUMf#eK(Da;JP%?*8lgsJmUdDku@R-UCbJ<%6DEy z>byBRom2>hUg-b`+)974^3v$WpXf>)2~SlU8qInZ1<$k)UCSJu zx*~zTeXyP=zalnZUJEuqJzG1Fb`%QbwK;>=e)$h=higT;v$HpKXf@CW+N&&*;u@B) z>1@GPNMT8h6(v&KUVMc`&Xu0+%YXFCQ*ta9Z_xp}Ay}Lfb-ja;&BRkI)i<3iZU?cR z*!vRC6%+~|P&T3!a4@)|c1pk%2(_qnJz8|U_}R`C8OsFB`r!HJMC{C1{ZUS=K56mE zDAajNH0dGu!~9n7=e^Y2IxGQ>$$iEALz7))AAxDQDp^el*lTt8c`8e99Iw87=h$`8Hs2wmCCBq*%1j{i8(p ze5ozhbQiXxkCL00kGJv&c6(s^bs&Y|bE1c>+@i@;KOcc{t&be`hU=&#RW|aorpgcz zvcTcucwni{+8Jw@19yPY@l)8)rLq#q==Xy4cJ$2P0d_#p-YC1LMcr`d5X))bs}9lP z>7FKMm-#aVVj^k~)988*d3)#5kdx+8TXHce632VW|H8yjqiCD-4Wuxnz$RMQBfr|yJ0Iu+Lz&u#uue3V%dOEPxeWK9rchs$g3$Q4+d-!A+s5z za!=pN_1u4PT!xt4UH`ZOvY-M1QT|Vm|384zzr6JS1WL@*hh~oDndy|xSypG#cv6<+ z6bPcis7BBRKW6JQ#{91LgpiTTc(u*Xg2;ZXuC#2^qZgR-xr4XR=IPF%etYSQ80jSg z31sT#yojkb!V^nGS^9{u8SKIR1^(fiNI*w+1y&#nv>sb78V=d81WlBZc1yNK8%R{H z@L|`Nt0Av7Y(rB>cQmr_n|VN=VFdFcx;6~Tkj!89Q*@QUWmB;T#a4=OFs(DWl)9f;LX-KqP5%&XI+5*YH*3a1uFX;kWN+9 zABlp$z62=ecC;q!<-oX`#FY()2NKSJsLn$!HRy!53KQg8JpzB!6J_D$6ASq#au0S1 z_UDsZl>8Fq zxlrr1pauI{Qq0il?zxFLIjE{vY0Q>tC&rPBt4y}9h0zu?jhGtWCJA95dsL!Tv@1^< zfcVI_*%O-R(X=LPdiVE@B7Hpu!JbZnsVX}Je>?;-3sMg~2Tr6^`d$8_3>_6fFNcSP z;qg^u;dPK1et>gpUv)&~qXl)0Z)u;Ejk7tf_0s7);A-n6-85yr7Es%C$sJU3X{BZu z=sd4#CmATK52cw2U-zBfO8RZE2qHNx)kwB3BqinQW3B0QeJiC>xP5lM+OvD`z4)fL z#_+?7bE98DX=a=u!`L>aw>#5mcZ$C7%vC$=6ISqbbj*CjU0JbV>0_jE@D2R0N!6h| zPxX+_5m@J3tx+|fI>voB^4NYJz1HP}Z9?(3p_Pl^(tvYWK3(lN&66LcvKm=)L~lkJ zGhP2SO^@(yXrHBGnB`F1KKdRdi&NychPBE;{6$>fR6M{)r)z!FT3ISe*D z_(4&A8e&CsL364!z@-%>HC}>MsZh<4h&7$cE25`bk0Xn)5pfg0l1fNGVfUIx`>;|6 z%2Mkio2g9%ZPzFaj-xKoc?Kr0#cyn2U<6G(<*6x84zf*+5ea|$Z|r zeko=;;>Ol}-Ie;0jq^5X!2PVpNlgil8tD;WHTwB$#+T3;N##D!(ZsciF&bosRc}Q3 z_f=j2k(e5-Ce`kp0i=K)ub)yFEMXwLOF84k&%EJ+N0k&dNg*!~a^PSfo=`>2t{4pV zp=DQz)PmS1%&>%xSArzK>{)fpbNSbw*opy1EGSFcWZZ_ngekZV+p!C+oS^M;@$zUs z#VuA~CmHsM;i6b!<`Nyc!nMZi+6Ivl zMY7?$FCs0U@~YKOa+$oQ>$!gUhf3W>C9vKe3+LuOKamn1v0qY;NZy8fJWzK$$f;D3 zW)9<=A}BD;Kl(;i`l6h;1fpJ{)D;{kO5YMIbYFngVajDJ%?!M;(%@qdlFLmlVY3Ki zm4Y$6{Ug4+MRS;Eb$QreHhC9XeYJtr;!>7Vpz~sn8j8mF_#s*r`N0E0_jMKB@>7$n zi5w%1MO@%~W1_aubYPG5qSM>UCtcMVwqe^iomt}h79VE|pgI0mWoH6T)%FGOi%gY} zs0=9-g=eTpWz0Mex00fFM80=kb=8RSx@y zns$aAIM)?OxMcAq|HHhOD_YKeGxn$<&-(GU%)fR=^^kN0S0k5zl2;xd`(MN*1$l!H z`V?H7zNQ5{HV6=!Y?n`TYr@g0V9qKiHsj8kGB?kn9E^)p8}pEFR3Cq&V2_lFW? z4@Z@QH7N^wOj9j4{O_dlJLRYqvHD%saj%|N7#1pOI#x)hILmL_!NqyV&`8(lvC=8S z;0tw59?w?!7fZ#97+ks>lUmob{Q3#SPPH>~=?hQCTog-lyua4@!cOTj%`gg4Xx}E4 zz4N!F734_iI~Pld&ojMFk#$Y$5sbaK?_#}>Sz3Kh6*cTaNP%MI4BOkB=VxwDu1+BfDmV)K_pf6+VnRljwAa(Lgf{1z|U=g0o>C~$aOD$hhBTsm}bvg>i>mZ zV>R!<({nOTg>6qGqpN%rlDVJ0H|y>*`YC^-H1Xl7rw>>kWqsVGwr{nqDZHHLs}tR* z_jr&Dla^wfCFX`rn@<@KGIptu^R8L4Q^RX}?`~Gye8aHZG%MKJ$mYy;=d}a0s61lC z%TGZH!D|iQr<@Z`S4%$C+)?m6xK6p4_g1G*pU_3hIe+Qv7sI}PC~4}~i5a{c!eXH& z8)9G0X=a(8OiAKVD>Se5*~nhJ&$%)61o!ZkiX>?rDqD7Ja!{_$wIF?KwL=Pg5jHEi zV!O{jZMBvXmF>P(!0+@o|6s$cNcN=VmN9=h7t42UCLMVkZB5domFg7i*el#-m8G}9 znJ05t;3i8@dwAG^=5O0e=Qa{8B^B}v`pXSPFQuh&$?N>O5u)%*J@lGl+6gUj&xnHZ zuY-g~YgVz#-L?oONit6#KeJ{O4!$(Btb{dc#DV*f;$zuuSN**YU5j0wu_Mv`$u) zv;30De3(f5UVlO6_S{h3!Kc3SzL!dcMe9i)nPy$$Ge*e|S4&mKi{c$x)k$1zSevw?EA>?VqL&?!J6KgCSe9x0Bk3nM*toaiR&Mi3?b;U!%E{Nx z#Vj_qZw{I>+~p`PQZ}olm7Qa#NUe;EM{D28m)lsy9=bkXl{m~kH>Fr|f7hW;wH#I^ zsY0uQ|2@jlCtfNi`0uZUBA*47S02y$WV?a7E-<`hSR^6AV`tDnCu`fA!=j!~+6%nS z7`R!th=m4yljBu-dtqz8!bT64a>~u}tn80}mFVc%)Ta~X{amQk?eLbF({$MVtNYR| z!o2=vw;n~gU9L$#oqb2HOIpcgmhaLq-TXMFtZwh3#GZU9(HD+89PLWC1vH30v);ck zRsHYT`7o=Z-SOPR`#@rE52dK-m8MCndd|aosTC%{zW<%BHz>OmaG!}%{a59O@R~Hw zoz>R2Hd3#+l&N?bvw$zJy!zFmhD%$_Q}uW=JmX$||>=)v@} z=gGddAujaB3Be_M>U&{gzMh>xSTj|YJ|07L{O!q}KF%KQqg#lHCLS+f!^FVWuyvZ+ z9TFWGQtZl$p3Pp%ucV`rRAu*YRqvIeqKM$k!M?{oS^kNi9~DjNEBRkvQ&`6iYfmOC z0jn!c%r-$ymY#Fww}>wgvgL(WoDCCs;1%amAyc-XLrAJln!|ZRgD3;XUfJ&1csKsI zhNXeC>5VN)Au;vOg15bU9e9-a=J82T3CK{Vz&G z)R^aHJa6h{ONmd27D4j#9&?d4E8{ugdn~rvIfQ*J*qz_ntLj?d;qp)J3J%F!UY;}d z3wXjED%l(M*zWf|o0;iq`5^a*al+&CtE;So;W(J6?e`Bm5?303^1CO|TGYg}(%jOx zUTTea>|#6Bl)&B#Nl|f1W=BIW7yb~9Y&&5s$#X!IMSitqb^3?U=A)|pt)U0kg`|oe zI43J+UD$m?NV{}lh3mZhYkz;%`z3Sp5T9r8zRKe6;4U7i)+3kOtd@my67L(IU88cz zQnFmeaD({fCvk4pVV(XqQ88MpmSnu!Z8m$AciKa1{yoN?Ybj~%2P{K>My?ey6M0Z^ zLDYEJ+@c4z9?M@kZ8xgeyo|PFo51l((X1e`EIW?RhowFwFEOs;ed(q!|MPCAh|MuB z!o0T@Yrd>mQYaTJY!YzT?`VqpDOPj+Ui~$!WaFxW@Yc)sX06{!RE)~qQ1bPTC(G8S z7LT0cOU}z*A@ROqy+#hY`JjdqrfV-YnpHPnF@5vu<16nweImU-Vcc`bza_RYR;YhJ ze1wYQ%%v5->Nd5Vz8$$B{`PKOF0C)K3oDB1A7!^}J>0=9ueZNiBer1G5cT8GAX{qt zx7qx?9gn(It3r9+4up6=@ap#ZZYS_%o_c-DtNR~Z!t*SN-xn@l(Z6#4wj7n8adoTb zlvQ^L1@>L&ZXfp8^W}@rda7J`S(!XFJ^Q*qTKKo&4qSk1`7m= z({4w)Bzqs&jz7|h+!(eUrM`n5r4B}+b@#ovSS~Ra`S`8OM%s|f-y8PGAJ97PP?*0+VNes zAJIuymnT-!)j~x`>v&sZev!SWf|o*8(lVVWeu_DnB5j&U*}0#!?l$Nb{x7xRq+g<;safH#`VRpjt+4JYutt4pXS;9QKP2;ZL6i@ZpI1E1 zWt~K0-+$h0NBzqp^S6DAt8nM;E9%%3wY*4H)op20sr)y+oCDS@mUe4qzg}OtLO4;|k)pL%H?QJu>#d8~PIv#Ytu%j796I|yegVUj?YHO5K05F?tJq30 zbufcVOGTirH-gooy^Itn8qS@e;&oQ9+)q9K((N<<9=@Vp zd&Gpv!ST3C9Bfl+u4InS)q5_aHZ-hL**$n-wLzPOc+YmpFeg2xUoOKJ9QP=;1XXIE zJK!%;^F^XhEGAl2T_)>OVxSHi$85f=tp6kAAvu{L=y;z@I3f0$mi1Wo|rTKIPyfp?FMfhPeMBJiQXI&-B7kF ztRIjOpqU5?Jp=n~bfc#zny{JHP}&q(oj-8oOvzc`yVPD!_-VNuiJe%zS-3 zeSJn>F2!c|?I+3i!zw@~ly~_U816Lc3wU!CgRM>WCR3bAuFiq*DilM>5tl65epcfY zs4Dgtr|V31b+9CR`8rd`ZgAuRF~IW=maTI< zQknrOE&w!I)$NNh(dHBnd$PB;2S(8mfBN`1WEl}y(NI$>QAO8=?|@=hbDTHUr!iO* z!E(FlB#T4a+y?Keq5b}~5GEFuYyMD0i~&b@Tu-DSZd!^3bR+wab~=!JNRwg#$4Ka^ zQk%`;1*$!PXoj40ICjyf2bSWKMrz3fz}moN^dzL*_a4=m#)3J+z??{$J$BKk8^Bi? z%{igw2z(34)t8JfL0h7_e+5Wb3KGywOH2}9g0Zu=4?g=X7gwV;u)~3k_S+bk*~in~ zgye~jjtTscfv7FQfEHhckA_f)j}D4k9c2&bNI=Vv86563Y7F!!cv?f4@wNXWozd~Y zb$?%ow1c3*dKX;~vBZ5s^5nv}Uu9v#U3@*QGa} zn@@n!e}nk7ZcIhE)2PbuCO?jjL@j4`5+wlI^oY(9xNX`_($jn{?1@Q~ptp1Q+L=hf zF2jz@-o@jMWcSu#;0%caPx%xdU}O$un4It1To9NRLWyA;7+5a>CQ|H z5~Kf6AN@z8ZrMT4@d{R{k%j89i$=}WpOFwoQz6}z8Ly{_FPO;|q8POK@ry>?wG$sd z5@Z;mBN4k(bchUw`2t{M=ib;wqYCfBhZk{mZ!57-$w*uu0hGF<@q&l#f2M+hV+XK8MU?1pi$1g|?!||EWe_eJ86pxLthtSyJfVS^KtBUr z>-a^ZzKX_2k2PX!ONd0ik^TjiC_&cx$EhRT?CI%or^uQw{AlY+0PuJCp`&I?{PYCi zc3%Y?0tH*4f!+tZpq;t;%=GX`4~%UaR&~ODWY|>3;CPfIeD)s)dbEImS_eSh1SImN z+t@{;Zc3Q~Ir7y4R8+=|C@=MoopT3C?BFzLNld9TmV{dcb^MD%hd~lEG$xI)0>Pa| zy_Ys)NmE8;)qqn`wqU(@kfw!_wgN^_cv+DZqXkD(MO-^R6@8)G!v%S$1byz`a&e~e z7~KqM+JwrQfHh#hX81uuK7P@tD+{NPFp}vqQjsW6NepiY0b)AX3LS}4itwpeL5MMH zhH>fd3(1;YO0bwPLf=cKFyzdDM2xBVo98nV zg=;B`y(d+eAUOBI%aZ6UO60}N#8{DC$@V^@A1c7M9xowZdKS!0s6wrv`ps^x$ie*3 zzt4scjCLQjff-5J>OpZKQy>{a=FPB6bf|r`a01jVy9oVIIE%nE1B=nq8G|RZ?%x*@ zJmY6$(IE&36}2!%dZ~;!JS5}n}S4t);0dr!214_SJu$YUWGu1_Mn4v z@inHGLvNAMIlCjAuNqf^z1w-|)8!SsQ}8F9V~gqhxh1vgJm5BWA@ZPS?BWHdKr@YicQYHM*-A%vrOy!JkFTk$si`*srZBQg3C=$9xY-DF3YV;L)%)&6AUL%H#Jq@5) zpeKQ1AiZJ?coPkbILT;J6(f(W$OVcq4DkqE?Q4~$5Hi{g;8llST65ZeP=YXqtfgb) zwBS=H@4xs>ojI&qc|skmLCNq4to&eeNf3h`0IxThu82Plk5bmAu1{}lwO4B8BO%Ay=?7c3w$HbtTq=1L(JT7}=HMh&oAV8vGgg_a>J&rS36H|Usgx=eD*=uVaOnCmhna8;9Og117P(%#%MKa( zS}`d41m?#u$iK54SS7^5S)5NYbOhX0z@f*Tu5S3aF@MLRR@&{WF9KrsTzYq3?1@Q* zusF6xh{gLLsBd5lJSBz+o&~;GJh$;BLiEBO7Q5!tSyyD+k2(Y{blblaFby_(T@OnD z6MRuw4Fs%)0-)PL&VGCWsAWAYbU|M{y9J<=0gZOE4Ttd2lUMby$S-g5aw1AAFp%r1 z_~glpdRXLAjYSWMKt_^EbmwUYQx%L3JW-c)YkFAl??x|$lA)idXBbHhhho7!$CmU^ zD{)xlD_m7BYZ2cJ24_7YRwE!^2o+d*9maFFFF zb))X#qeqqxu(VAwjJWL%$QVFMppfzp@sY^t0Txl6a_B@Y5JSPH=(ySZcnae0#RDwr zK+|~{J)r7?p6K@6Uo$Q0$g~|6dH-5@XJMeaaMNdf$LjFO<4XrvSmi7eLte-h2n?gc z&kfVV;`gJkMd~!xfI$|5>gWvsCaS0m&`|{fkUq2tbU$_Q!xTh@Id4n>jZM3mk&rJ0Dx=q) zIl870FggW|r8WO4!IQxNO#m~4;^P;M`foQr^pCFmbZ5?hI~bx6wt%1qFc!U7$gw%C ziJ4=};+M8Q%6AupZ7h!TuEqu%Fc|x#G3=yaWuz_u@hi|1Rj`v(h$=S^j~G0fcMK_!6yySvA)qpKQN;I5Yhzxox&9O zNz+MKR-ylh#sryp-4tZT*(59h^oPJt2uM+#LI7$q35!jCp7R8Ijn))w2LGP)qBp(u z>Cf<-5R0$2s2KYnpS(iWo`NSZi|k-jMO$6ZYb(6gMr0Q^GGA4fDHV-B2z z${2DcwT02RfKwIpCu&TvX*Sbhv!KO3F?b get(1:Text tableName, 2:Text row, 3:Text column) + throws (1:IOError io) /** * Get the specified number of versions for the specified table, @@ -257,8 +250,9 @@ service Hbase { * @param numVersions number of versions to retrieve * @return list of cells for specified row/column */ - list getVer(1:Text tableName, 2:Text row, 3:Text column, 4:i32 numVersions) - throws (1:IOError io, 2:NotFound nf) + list getVer(1:Text tableName, 2:Text row, 3:Text column, + 4:i32 numVersions) + throws (1:IOError io) /** * Get the specified number of versions for the specified table, @@ -272,59 +266,58 @@ service Hbase { * @param numVersions number of versions to retrieve * @return list of cells for specified row/column */ - list getVerTs(1:Text tableName, 2:Text row, 3:Text column, 4:i64 timestamp, 5:i32 numVersions) - throws (1:IOError io, 2:NotFound nf) + list getVerTs(1:Text tableName, 2:Text row, 3:Text column, + 4:i64 timestamp, 5:i32 numVersions) + throws (1:IOError io) /** * Get all the data for the specified table and row at the latest - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist */ - TRowResult getRow(1:Text tableName, 2:Text row) - throws (1:IOError io, 2:NotFound nf) + list getRow(1:Text tableName, 2:Text row) + throws (1:IOError io) /** * Get the specified columns for the specified table and row at the latest - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @param columns List of columns to return, null for all columns * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist */ - TRowResult getRowWithColumns(1:Text tableName, 2:Text row, 3:list columns) - throws (1:IOError io, 2:NotFound nf) + list getRowWithColumns(1:Text tableName, 2:Text row, + 3:list columns) + throws (1:IOError io) /** * Get all the data for the specified table and row at the specified - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName of table * @param row row key * @param timestamp timestamp * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist */ - TRowResult getRowTs(1:Text tableName, 2:Text row, 3:i64 timestamp) - throws (1:IOError io, 2:NotFound nf) + list getRowTs(1:Text tableName, 2:Text row, 3:i64 timestamp) + throws (1:IOError io) /** * Get the specified columns for the specified table and row at the specified - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @param columns List of columns to return, null for all columns * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist */ - TRowResult getRowWithColumnsTs(1:Text tableName, 2:Text row, 3:list columns, 4:i64 timestamp) - throws (1:IOError io, 2:NotFound nf) + list getRowWithColumnsTs(1:Text tableName, 2:Text row, + 3:list columns, 4:i64 timestamp) + throws (1:IOError io) /** * Apply a series of mutations (updates/deletes) to a row in a @@ -520,15 +513,15 @@ service Hbase { * Returns the scanner's current row value and advances to the next * row in the table. When there are no more rows in the table, or a key * greater-than-or-equal-to the scanner's specified stopRow is reached, - * a NotFound exception is returned. + * an empty list is returned. * * @param id id of a scanner returned by scannerOpen * @return a TRowResult containing the current row and a map of the columns to TCells. * @throws IllegalArgument if ScannerID is invalid * @throws NotFound when the scanner reaches the end */ - TRowResult scannerGet(1:ScannerID id) - throws (1:IOError io, 2:IllegalArgument ia, 3:NotFound nf) + list scannerGet(1:ScannerID id) + throws (1:IOError io, 2:IllegalArgument ia) /** * Closes the server-state associated with an open scanner. diff --git a/src/java/org/apache/hadoop/hbase/thrift/ThriftServer.java b/src/java/org/apache/hadoop/hbase/thrift/ThriftServer.java index 8b221528a39..c948a77ae08 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/ThriftServer.java +++ b/src/java/org/apache/hadoop/hbase/thrift/ThriftServer.java @@ -47,19 +47,18 @@ import org.apache.hadoop.hbase.thrift.generated.Hbase; import org.apache.hadoop.hbase.thrift.generated.IOError; import org.apache.hadoop.hbase.thrift.generated.IllegalArgument; import org.apache.hadoop.hbase.thrift.generated.Mutation; -import org.apache.hadoop.hbase.thrift.generated.NotFound; import org.apache.hadoop.hbase.thrift.generated.TRegionInfo; import org.apache.hadoop.hbase.thrift.generated.TCell; import org.apache.hadoop.hbase.thrift.generated.TRowResult; import org.apache.hadoop.hbase.util.Bytes; -import com.facebook.thrift.TException; -import com.facebook.thrift.protocol.TBinaryProtocol; -import com.facebook.thrift.protocol.TProtocolFactory; -import com.facebook.thrift.server.TServer; -import com.facebook.thrift.server.TThreadPoolServer; -import com.facebook.thrift.transport.TServerSocket; -import com.facebook.thrift.transport.TServerTransport; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TCompactProtocol; +import org.apache.thrift.protocol.TProtocolFactory; +import org.apache.thrift.server.THsHaServer; +import org.apache.thrift.server.TServer; +import org.apache.thrift.transport.TNonblockingServerSocket; +import org.apache.thrift.transport.TNonblockingServerTransport; /** * ThriftServer - this class starts up a Thrift server which implements the @@ -179,7 +178,7 @@ public class ThriftServer { } } - public void compact(byte[] tableNameOrRegionName) throws IOError, TException { + public void compact(byte[] tableNameOrRegionName) throws IOError { try{ admin.compact(tableNameOrRegionName); } catch (IOException e) { @@ -187,7 +186,7 @@ public class ThriftServer { } } - public void majorCompact(byte[] tableNameOrRegionName) throws IOError, TException { + public void majorCompact(byte[] tableNameOrRegionName) throws IOError { try{ admin.majorCompact(tableNameOrRegionName); } catch (IOException e) { @@ -230,14 +229,11 @@ public class ThriftServer { } } - public TCell get(byte[] tableName, byte[] row, byte[] column) - throws NotFound, IOError { + public List get(byte[] tableName, byte[] row, byte[] column) + throws IOError { try { HTable table = getTable(tableName); Cell cell = table.get(row, column); - if (cell == null) { - throw new NotFound(); - } return ThriftUtilities.cellFromHBase(cell); } catch (IOException e) { throw new IOError(e.getMessage()); @@ -245,63 +241,48 @@ public class ThriftServer { } public List getVer(byte[] tableName, byte[] row, - byte[] column, int numVersions) throws IOError, NotFound { + byte[] column, int numVersions) throws IOError { try { HTable table = getTable(tableName); Cell[] cells = table.get(row, column, numVersions); - if (cells == null) { - throw new NotFound(); - } - List list = new ArrayList(); - for (int i = 0; i < cells.length; i++) { - list.add(ThriftUtilities.cellFromHBase(cells[i])); - } - return list; + return ThriftUtilities.cellFromHBase(cells); } catch (IOException e) { throw new IOError(e.getMessage()); } } public List getVerTs(byte[] tableName, byte[] row, - byte[] column, long timestamp, int numVersions) throws IOError, - NotFound { + byte[] column, long timestamp, int numVersions) throws IOError { try { HTable table = getTable(tableName); Cell[] cells = table.get(row, column, timestamp, numVersions); - if (cells == null) { - throw new NotFound(); - } - List list = new ArrayList(); - for (int i = 0; i < cells.length; i++) { - list.add(ThriftUtilities.cellFromHBase(cells[i])); - } - return list; + return ThriftUtilities.cellFromHBase(cells); } catch (IOException e) { throw new IOError(e.getMessage()); } } - public TRowResult getRow(byte[] tableName, byte[] row) - throws IOError, NotFound { + public List getRow(byte[] tableName, byte[] row) + throws IOError { return getRowWithColumnsTs(tableName, row, null, HConstants.LATEST_TIMESTAMP); } - public TRowResult getRowWithColumns(byte[] tableName, byte[] row, - List columns) throws IOError, NotFound { + public List getRowWithColumns(byte[] tableName, byte[] row, + List columns) throws IOError { return getRowWithColumnsTs(tableName, row, columns, HConstants.LATEST_TIMESTAMP); } - public TRowResult getRowTs(byte[] tableName, byte[] row, - long timestamp) throws IOError, NotFound { + public List getRowTs(byte[] tableName, byte[] row, + long timestamp) throws IOError { return getRowWithColumnsTs(tableName, row, null, timestamp); } - public TRowResult getRowWithColumnsTs(byte[] tableName, byte[] row, - List columns, long timestamp) throws IOError, NotFound { + public List getRowWithColumnsTs(byte[] tableName, byte[] row, + List columns, long timestamp) throws IOError { try { HTable table = getTable(tableName); if (columns == null) { @@ -365,13 +346,13 @@ public class ThriftServer { } } - public void deleteTable(byte[] tableName) throws IOError, NotFound { + public void deleteTable(byte[] tableName) throws IOError { if (LOG.isDebugEnabled()) { LOG.debug("deleteTable: table=" + new String(tableName)); } try { if (!admin.tableExists(tableName)) { - throw new NotFound(); + throw new IOError("table does not exist"); } admin.deleteTable(tableName); } catch (IOException e) { @@ -459,7 +440,7 @@ public class ThriftServer { removeScanner(id); } - public TRowResult scannerGet(int id) throws IllegalArgument, NotFound, + public List scannerGet(int id) throws IllegalArgument, IOError { LOG.debug("scannerGet: id=" + id); Scanner scanner = getScanner(id); @@ -472,7 +453,7 @@ public class ThriftServer { try { results = scanner.next(); if (results == null) { - throw new NotFound("end of scanner reached"); + return new ArrayList(); } } catch (IOException e) { throw new IOError(e.getMessage()); @@ -632,9 +613,10 @@ public class ThriftServer { Integer.toString(port)); HBaseHandler handler = new HBaseHandler(); Hbase.Processor processor = new Hbase.Processor(handler); - TServerTransport serverTransport = new TServerSocket(port); - TProtocolFactory protFactory = new TBinaryProtocol.Factory(true, true); - TServer server = new TThreadPoolServer(processor, serverTransport, + TNonblockingServerTransport serverTransport = + new TNonblockingServerSocket(port); + TProtocolFactory protFactory = new TCompactProtocol.Factory(); + TServer server = new THsHaServer(processor, serverTransport, protFactory); server.serve(); } diff --git a/src/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java b/src/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java index 27ab070edde..7336e763fda 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java +++ b/src/java/org/apache/hadoop/hbase/thrift/ThriftUtilities.java @@ -18,6 +18,8 @@ package org.apache.hadoop.hbase.thrift; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -27,7 +29,6 @@ import org.apache.hadoop.hbase.io.RowResult; import org.apache.hadoop.hbase.io.hfile.Compression; import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor; import org.apache.hadoop.hbase.thrift.generated.IllegalArgument; -import org.apache.hadoop.hbase.thrift.generated.NotFound; import org.apache.hadoop.hbase.thrift.generated.TCell; import org.apache.hadoop.hbase.thrift.generated.TRowResult; import org.apache.hadoop.hbase.util.Bytes; @@ -82,38 +83,61 @@ public class ThriftUtilities { } /** - * This utility method creates a new Thrift TCell "struct" based on - * an Hbase Cell object. + * This utility method creates a list of Thrift TCell "struct" based on + * an Hbase Cell object. The empty list is returned if the input is null. * * @param in * Hbase Cell object - * @return Thrift TCell + * @return Thrift TCell array */ - static public TCell cellFromHBase(Cell in) { - return new TCell(in.getValue(), in.getTimestamp()); + static public List cellFromHBase(Cell in) { + List list = new ArrayList(1); + if (in != null) { + list.add(new TCell(in.getValue(), in.getTimestamp())); + } + return list; } - + /** - * This utility method creates a new Thrift TRowResult "struct" based on - * an Hbase RowResult object. + * This utility method creates a list of Thrift TCell "struct" based on + * an Hbase Cell array. The empty list is returned if the input is null. + * @param in Hbase Cell array + * @return Thrift TCell array + */ + static public List cellFromHBase(Cell[] in) { + List list = new ArrayList(in.length); + if (in != null) { + for (int i = 0; i < in.length; i++) { + list.add(new TCell(in[i].getValue(), in[i].getTimestamp())); + } + } + return list; + } + + /** + * This utility method creates a list of Thrift TRowResult "struct" based on + * an Hbase RowResult object. The empty list is returned if the input is + * null. * * @param in * Hbase RowResult object - * @return Thrift TRowResult - * @throws NotFound + * @return Thrift TRowResult array */ - static public TRowResult rowResultFromHBase(RowResult in) - throws NotFound { + static public List rowResultFromHBase(RowResult in) { + List list = new ArrayList(); if(in == null) { - throw new NotFound(); + return list; } TRowResult result = new TRowResult(); result.row = in.getRow(); result.columns = new TreeMap(Bytes.BYTES_COMPARATOR); for (Map.Entry entry : in.entrySet()){ - result.columns.put(entry.getKey(), ThriftUtilities.cellFromHBase(entry.getValue())); + Cell cell = entry.getValue(); + result.columns.put(entry.getKey(), + new TCell(cell.getValue(), cell.getTimestamp())); } - return result; + list.add(result); + return list; } } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java b/src/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java index 314269d556c..1b2f644f3b1 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,21 +28,34 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * An AlreadyExists exceptions signals that a table with the specified * name already exists */ -public class AlreadyExists extends Exception implements TBase, java.io.Serializable { - public String message; +public class AlreadyExists extends Exception implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("AlreadyExists"); + private static final TField MESSAGE_FIELD_DESC = new TField("message", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean message = false; + public String message; + public static final int MESSAGE = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(MESSAGE, new FieldMetaData("message", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(AlreadyExists.class, metaDataMap); } public AlreadyExists() { @@ -54,9 +66,81 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa { this(); this.message = message; - this.__isset.message = true; } + /** + * Performs a deep copy on other. + */ + public AlreadyExists(AlreadyExists other) { + if (other.isSetMessage()) { + this.message = other.message; + } + } + + @Override + public AlreadyExists clone() { + return new AlreadyExists(this); + } + + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } + + public void unsetMessage() { + this.message = null; + } + + // Returns true if field message is set (has been asigned a value) and false otherwise + public boolean isSetMessage() { + return this.message != null; + } + + public void setMessageIsSet(boolean value) { + if (!value) { + this.message = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case MESSAGE: + if (value == null) { + unsetMessage(); + } else { + setMessage((String)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case MESSAGE: + return getMessage(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case MESSAGE: + return isSetMessage(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -69,8 +153,8 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa if (that == null) return false; - boolean this_present_message = true && (this.message != null); - boolean that_present_message = true && (that.message != null); + boolean this_present_message = true && this.isSetMessage(); + boolean that_present_message = true && that.isSetMessage(); if (this_present_message || that_present_message) { if (!(this_present_message && that_present_message)) return false; @@ -81,6 +165,7 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa return true; } + @Override public int hashCode() { return 0; } @@ -96,10 +181,9 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa } switch (field.id) { - case 1: + case MESSAGE: if (field.type == TType.STRING) { this.message = iprot.readString(); - this.__isset.message = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -111,17 +195,18 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("AlreadyExists"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.message != null) { - field.name = "message"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MESSAGE_FIELD_DESC); oprot.writeString(this.message); oprot.writeFieldEnd(); } @@ -129,13 +214,26 @@ public class AlreadyExists extends Exception implements TBase, java.io.Serializa oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("AlreadyExists("); + boolean first = true; + sb.append("message:"); - sb.append(this.message); + if (this.message == null) { + sb.append("null"); + } else { + sb.append(this.message); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java b/src/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java index c2a1b77bdd2..289741c3158 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,22 +28,39 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * A BatchMutation object is used to apply a number of Mutations to a single row. */ -public class BatchMutation implements TBase, java.io.Serializable { - public byte[] row; - public List mutations; +public class BatchMutation implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("BatchMutation"); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)1); + private static final TField MUTATIONS_FIELD_DESC = new TField("mutations", TType.LIST, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean row = false; - public boolean mutations = false; + public byte[] row; + public static final int ROW = 1; + public List mutations; + public static final int MUTATIONS = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(MUTATIONS, new FieldMetaData("mutations", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, Mutation.class)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(BatchMutation.class, metaDataMap); } public BatchMutation() { @@ -56,11 +72,140 @@ public class BatchMutation implements TBase, java.io.Serializable { { this(); this.row = row; - this.__isset.row = true; this.mutations = mutations; - this.__isset.mutations = true; } + /** + * Performs a deep copy on other. + */ + public BatchMutation(BatchMutation other) { + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetMutations()) { + List __this__mutations = new ArrayList(); + for (Mutation other_element : other.mutations) { + __this__mutations.add(new Mutation(other_element)); + } + this.mutations = __this__mutations; + } + } + + @Override + public BatchMutation clone() { + return new BatchMutation(this); + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getMutationsSize() { + return (this.mutations == null) ? 0 : this.mutations.size(); + } + + public java.util.Iterator getMutationsIterator() { + return (this.mutations == null) ? null : this.mutations.iterator(); + } + + public void addToMutations(Mutation elem) { + if (this.mutations == null) { + this.mutations = new ArrayList(); + } + this.mutations.add(elem); + } + + public List getMutations() { + return this.mutations; + } + + public void setMutations(List mutations) { + this.mutations = mutations; + } + + public void unsetMutations() { + this.mutations = null; + } + + // Returns true if field mutations is set (has been asigned a value) and false otherwise + public boolean isSetMutations() { + return this.mutations != null; + } + + public void setMutationsIsSet(boolean value) { + if (!value) { + this.mutations = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case MUTATIONS: + if (value == null) { + unsetMutations(); + } else { + setMutations((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case ROW: + return getRow(); + + case MUTATIONS: + return getMutations(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case ROW: + return isSetRow(); + case MUTATIONS: + return isSetMutations(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -73,8 +218,8 @@ public class BatchMutation implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -82,8 +227,8 @@ public class BatchMutation implements TBase, java.io.Serializable { return false; } - boolean this_present_mutations = true && (this.mutations != null); - boolean that_present_mutations = true && (that.mutations != null); + boolean this_present_mutations = true && this.isSetMutations(); + boolean that_present_mutations = true && that.isSetMutations(); if (this_present_mutations || that_present_mutations) { if (!(this_present_mutations && that_present_mutations)) return false; @@ -94,6 +239,7 @@ public class BatchMutation implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -109,29 +255,27 @@ public class BatchMutation implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case MUTATIONS: if (field.type == TType.LIST) { { TList _list0 = iprot.readListBegin(); this.mutations = new ArrayList(_list0.size); for (int _i1 = 0; _i1 < _list0.size; ++_i1) { - Mutation _elem2 = new Mutation(); + Mutation _elem2; _elem2 = new Mutation(); _elem2.read(iprot); this.mutations.add(_elem2); } iprot.readListEnd(); } - this.__isset.mutations = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -143,25 +287,23 @@ public class BatchMutation implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("BatchMutation"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.mutations != null) { - field.name = "mutations"; - field.type = TType.LIST; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MUTATIONS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.mutations.size())); for (Mutation _iter3 : this.mutations) { @@ -175,15 +317,34 @@ public class BatchMutation implements TBase, java.io.Serializable { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("BatchMutation("); + boolean first = true; + sb.append("row:"); - sb.append(this.row); - sb.append(",mutations:"); - sb.append(this.mutations); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("mutations:"); + if (this.mutations == null) { + sb.append("null"); + } else { + sb.append(this.mutations); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java b/src/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java index 3f538bd6163..fc0ba7b8ff9 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,42 +28,89 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * An HColumnDescriptor contains information about a column family * such as the number of versions, compression settings, etc. It is * used as input when creating a table or adding a column. */ -public class ColumnDescriptor implements TBase, java.io.Serializable { - public byte[] name; - public int maxVersions; - public String compression; - public boolean inMemory; - public int maxValueLength; - public String bloomFilterType; - public int bloomFilterVectorSize; - public int bloomFilterNbHashes; - public boolean blockCacheEnabled; - public int timeToLive; +public class ColumnDescriptor implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("ColumnDescriptor"); + private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)1); + private static final TField MAX_VERSIONS_FIELD_DESC = new TField("maxVersions", TType.I32, (short)2); + private static final TField COMPRESSION_FIELD_DESC = new TField("compression", TType.STRING, (short)3); + private static final TField IN_MEMORY_FIELD_DESC = new TField("inMemory", TType.BOOL, (short)4); + private static final TField MAX_VALUE_LENGTH_FIELD_DESC = new TField("maxValueLength", TType.I32, (short)5); + private static final TField BLOOM_FILTER_TYPE_FIELD_DESC = new TField("bloomFilterType", TType.STRING, (short)6); + private static final TField BLOOM_FILTER_VECTOR_SIZE_FIELD_DESC = new TField("bloomFilterVectorSize", TType.I32, (short)7); + private static final TField BLOOM_FILTER_NB_HASHES_FIELD_DESC = new TField("bloomFilterNbHashes", TType.I32, (short)8); + private static final TField BLOCK_CACHE_ENABLED_FIELD_DESC = new TField("blockCacheEnabled", TType.BOOL, (short)9); + private static final TField TIME_TO_LIVE_FIELD_DESC = new TField("timeToLive", TType.I32, (short)10); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean name = false; + public byte[] name; + public static final int NAME = 1; + public int maxVersions; + public static final int MAXVERSIONS = 2; + public String compression; + public static final int COMPRESSION = 3; + public boolean inMemory; + public static final int INMEMORY = 4; + public int maxValueLength; + public static final int MAXVALUELENGTH = 5; + public String bloomFilterType; + public static final int BLOOMFILTERTYPE = 6; + public int bloomFilterVectorSize; + public static final int BLOOMFILTERVECTORSIZE = 7; + public int bloomFilterNbHashes; + public static final int BLOOMFILTERNBHASHES = 8; + public boolean blockCacheEnabled; + public static final int BLOCKCACHEENABLED = 9; + public int timeToLive; + public static final int TIMETOLIVE = 10; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean maxVersions = false; - public boolean compression = false; public boolean inMemory = false; public boolean maxValueLength = false; - public boolean bloomFilterType = false; public boolean bloomFilterVectorSize = false; public boolean bloomFilterNbHashes = false; public boolean blockCacheEnabled = false; public boolean timeToLive = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(NAME, new FieldMetaData("name", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(MAXVERSIONS, new FieldMetaData("maxVersions", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(COMPRESSION, new FieldMetaData("compression", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(INMEMORY, new FieldMetaData("inMemory", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.BOOL))); + put(MAXVALUELENGTH, new FieldMetaData("maxValueLength", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(BLOOMFILTERTYPE, new FieldMetaData("bloomFilterType", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(BLOOMFILTERVECTORSIZE, new FieldMetaData("bloomFilterVectorSize", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(BLOOMFILTERNBHASHES, new FieldMetaData("bloomFilterNbHashes", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(BLOCKCACHEENABLED, new FieldMetaData("blockCacheEnabled", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.BOOL))); + put(TIMETOLIVE, new FieldMetaData("timeToLive", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(ColumnDescriptor.class, metaDataMap); + } + public ColumnDescriptor() { this.maxVersions = 3; @@ -100,17 +146,14 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { { this(); this.name = name; - this.__isset.name = true; this.maxVersions = maxVersions; this.__isset.maxVersions = true; this.compression = compression; - this.__isset.compression = true; this.inMemory = inMemory; this.__isset.inMemory = true; this.maxValueLength = maxValueLength; this.__isset.maxValueLength = true; this.bloomFilterType = bloomFilterType; - this.__isset.bloomFilterType = true; this.bloomFilterVectorSize = bloomFilterVectorSize; this.__isset.bloomFilterVectorSize = true; this.bloomFilterNbHashes = bloomFilterNbHashes; @@ -121,6 +164,416 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { this.__isset.timeToLive = true; } + /** + * Performs a deep copy on other. + */ + public ColumnDescriptor(ColumnDescriptor other) { + if (other.isSetName()) { + this.name = other.name; + } + __isset.maxVersions = other.__isset.maxVersions; + this.maxVersions = other.maxVersions; + if (other.isSetCompression()) { + this.compression = other.compression; + } + __isset.inMemory = other.__isset.inMemory; + this.inMemory = other.inMemory; + __isset.maxValueLength = other.__isset.maxValueLength; + this.maxValueLength = other.maxValueLength; + if (other.isSetBloomFilterType()) { + this.bloomFilterType = other.bloomFilterType; + } + __isset.bloomFilterVectorSize = other.__isset.bloomFilterVectorSize; + this.bloomFilterVectorSize = other.bloomFilterVectorSize; + __isset.bloomFilterNbHashes = other.__isset.bloomFilterNbHashes; + this.bloomFilterNbHashes = other.bloomFilterNbHashes; + __isset.blockCacheEnabled = other.__isset.blockCacheEnabled; + this.blockCacheEnabled = other.blockCacheEnabled; + __isset.timeToLive = other.__isset.timeToLive; + this.timeToLive = other.timeToLive; + } + + @Override + public ColumnDescriptor clone() { + return new ColumnDescriptor(this); + } + + public byte[] getName() { + return this.name; + } + + public void setName(byte[] name) { + this.name = name; + } + + public void unsetName() { + this.name = null; + } + + // Returns true if field name is set (has been asigned a value) and false otherwise + public boolean isSetName() { + return this.name != null; + } + + public void setNameIsSet(boolean value) { + if (!value) { + this.name = null; + } + } + + public int getMaxVersions() { + return this.maxVersions; + } + + public void setMaxVersions(int maxVersions) { + this.maxVersions = maxVersions; + this.__isset.maxVersions = true; + } + + public void unsetMaxVersions() { + this.__isset.maxVersions = false; + } + + // Returns true if field maxVersions is set (has been asigned a value) and false otherwise + public boolean isSetMaxVersions() { + return this.__isset.maxVersions; + } + + public void setMaxVersionsIsSet(boolean value) { + this.__isset.maxVersions = value; + } + + public String getCompression() { + return this.compression; + } + + public void setCompression(String compression) { + this.compression = compression; + } + + public void unsetCompression() { + this.compression = null; + } + + // Returns true if field compression is set (has been asigned a value) and false otherwise + public boolean isSetCompression() { + return this.compression != null; + } + + public void setCompressionIsSet(boolean value) { + if (!value) { + this.compression = null; + } + } + + public boolean isInMemory() { + return this.inMemory; + } + + public void setInMemory(boolean inMemory) { + this.inMemory = inMemory; + this.__isset.inMemory = true; + } + + public void unsetInMemory() { + this.__isset.inMemory = false; + } + + // Returns true if field inMemory is set (has been asigned a value) and false otherwise + public boolean isSetInMemory() { + return this.__isset.inMemory; + } + + public void setInMemoryIsSet(boolean value) { + this.__isset.inMemory = value; + } + + public int getMaxValueLength() { + return this.maxValueLength; + } + + public void setMaxValueLength(int maxValueLength) { + this.maxValueLength = maxValueLength; + this.__isset.maxValueLength = true; + } + + public void unsetMaxValueLength() { + this.__isset.maxValueLength = false; + } + + // Returns true if field maxValueLength is set (has been asigned a value) and false otherwise + public boolean isSetMaxValueLength() { + return this.__isset.maxValueLength; + } + + public void setMaxValueLengthIsSet(boolean value) { + this.__isset.maxValueLength = value; + } + + public String getBloomFilterType() { + return this.bloomFilterType; + } + + public void setBloomFilterType(String bloomFilterType) { + this.bloomFilterType = bloomFilterType; + } + + public void unsetBloomFilterType() { + this.bloomFilterType = null; + } + + // Returns true if field bloomFilterType is set (has been asigned a value) and false otherwise + public boolean isSetBloomFilterType() { + return this.bloomFilterType != null; + } + + public void setBloomFilterTypeIsSet(boolean value) { + if (!value) { + this.bloomFilterType = null; + } + } + + public int getBloomFilterVectorSize() { + return this.bloomFilterVectorSize; + } + + public void setBloomFilterVectorSize(int bloomFilterVectorSize) { + this.bloomFilterVectorSize = bloomFilterVectorSize; + this.__isset.bloomFilterVectorSize = true; + } + + public void unsetBloomFilterVectorSize() { + this.__isset.bloomFilterVectorSize = false; + } + + // Returns true if field bloomFilterVectorSize is set (has been asigned a value) and false otherwise + public boolean isSetBloomFilterVectorSize() { + return this.__isset.bloomFilterVectorSize; + } + + public void setBloomFilterVectorSizeIsSet(boolean value) { + this.__isset.bloomFilterVectorSize = value; + } + + public int getBloomFilterNbHashes() { + return this.bloomFilterNbHashes; + } + + public void setBloomFilterNbHashes(int bloomFilterNbHashes) { + this.bloomFilterNbHashes = bloomFilterNbHashes; + this.__isset.bloomFilterNbHashes = true; + } + + public void unsetBloomFilterNbHashes() { + this.__isset.bloomFilterNbHashes = false; + } + + // Returns true if field bloomFilterNbHashes is set (has been asigned a value) and false otherwise + public boolean isSetBloomFilterNbHashes() { + return this.__isset.bloomFilterNbHashes; + } + + public void setBloomFilterNbHashesIsSet(boolean value) { + this.__isset.bloomFilterNbHashes = value; + } + + public boolean isBlockCacheEnabled() { + return this.blockCacheEnabled; + } + + public void setBlockCacheEnabled(boolean blockCacheEnabled) { + this.blockCacheEnabled = blockCacheEnabled; + this.__isset.blockCacheEnabled = true; + } + + public void unsetBlockCacheEnabled() { + this.__isset.blockCacheEnabled = false; + } + + // Returns true if field blockCacheEnabled is set (has been asigned a value) and false otherwise + public boolean isSetBlockCacheEnabled() { + return this.__isset.blockCacheEnabled; + } + + public void setBlockCacheEnabledIsSet(boolean value) { + this.__isset.blockCacheEnabled = value; + } + + public int getTimeToLive() { + return this.timeToLive; + } + + public void setTimeToLive(int timeToLive) { + this.timeToLive = timeToLive; + this.__isset.timeToLive = true; + } + + public void unsetTimeToLive() { + this.__isset.timeToLive = false; + } + + // Returns true if field timeToLive is set (has been asigned a value) and false otherwise + public boolean isSetTimeToLive() { + return this.__isset.timeToLive; + } + + public void setTimeToLiveIsSet(boolean value) { + this.__isset.timeToLive = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case NAME: + if (value == null) { + unsetName(); + } else { + setName((byte[])value); + } + break; + + case MAXVERSIONS: + if (value == null) { + unsetMaxVersions(); + } else { + setMaxVersions((Integer)value); + } + break; + + case COMPRESSION: + if (value == null) { + unsetCompression(); + } else { + setCompression((String)value); + } + break; + + case INMEMORY: + if (value == null) { + unsetInMemory(); + } else { + setInMemory((Boolean)value); + } + break; + + case MAXVALUELENGTH: + if (value == null) { + unsetMaxValueLength(); + } else { + setMaxValueLength((Integer)value); + } + break; + + case BLOOMFILTERTYPE: + if (value == null) { + unsetBloomFilterType(); + } else { + setBloomFilterType((String)value); + } + break; + + case BLOOMFILTERVECTORSIZE: + if (value == null) { + unsetBloomFilterVectorSize(); + } else { + setBloomFilterVectorSize((Integer)value); + } + break; + + case BLOOMFILTERNBHASHES: + if (value == null) { + unsetBloomFilterNbHashes(); + } else { + setBloomFilterNbHashes((Integer)value); + } + break; + + case BLOCKCACHEENABLED: + if (value == null) { + unsetBlockCacheEnabled(); + } else { + setBlockCacheEnabled((Boolean)value); + } + break; + + case TIMETOLIVE: + if (value == null) { + unsetTimeToLive(); + } else { + setTimeToLive((Integer)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case NAME: + return getName(); + + case MAXVERSIONS: + return new Integer(getMaxVersions()); + + case COMPRESSION: + return getCompression(); + + case INMEMORY: + return new Boolean(isInMemory()); + + case MAXVALUELENGTH: + return new Integer(getMaxValueLength()); + + case BLOOMFILTERTYPE: + return getBloomFilterType(); + + case BLOOMFILTERVECTORSIZE: + return new Integer(getBloomFilterVectorSize()); + + case BLOOMFILTERNBHASHES: + return new Integer(getBloomFilterNbHashes()); + + case BLOCKCACHEENABLED: + return new Boolean(isBlockCacheEnabled()); + + case TIMETOLIVE: + return new Integer(getTimeToLive()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case NAME: + return isSetName(); + case MAXVERSIONS: + return isSetMaxVersions(); + case COMPRESSION: + return isSetCompression(); + case INMEMORY: + return isSetInMemory(); + case MAXVALUELENGTH: + return isSetMaxValueLength(); + case BLOOMFILTERTYPE: + return isSetBloomFilterType(); + case BLOOMFILTERVECTORSIZE: + return isSetBloomFilterVectorSize(); + case BLOOMFILTERNBHASHES: + return isSetBloomFilterNbHashes(); + case BLOCKCACHEENABLED: + return isSetBlockCacheEnabled(); + case TIMETOLIVE: + return isSetTimeToLive(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -133,8 +586,8 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_name = true && (this.name != null); - boolean that_present_name = true && (that.name != null); + boolean this_present_name = true && this.isSetName(); + boolean that_present_name = true && that.isSetName(); if (this_present_name || that_present_name) { if (!(this_present_name && that_present_name)) return false; @@ -151,8 +604,8 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { return false; } - boolean this_present_compression = true && (this.compression != null); - boolean that_present_compression = true && (that.compression != null); + boolean this_present_compression = true && this.isSetCompression(); + boolean that_present_compression = true && that.isSetCompression(); if (this_present_compression || that_present_compression) { if (!(this_present_compression && that_present_compression)) return false; @@ -178,8 +631,8 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { return false; } - boolean this_present_bloomFilterType = true && (this.bloomFilterType != null); - boolean that_present_bloomFilterType = true && (that.bloomFilterType != null); + boolean this_present_bloomFilterType = true && this.isSetBloomFilterType(); + boolean that_present_bloomFilterType = true && that.isSetBloomFilterType(); if (this_present_bloomFilterType || that_present_bloomFilterType) { if (!(this_present_bloomFilterType && that_present_bloomFilterType)) return false; @@ -226,6 +679,7 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -241,15 +695,14 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case NAME: if (field.type == TType.STRING) { this.name = iprot.readBinary(); - this.__isset.name = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case MAXVERSIONS: if (field.type == TType.I32) { this.maxVersions = iprot.readI32(); this.__isset.maxVersions = true; @@ -257,15 +710,14 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COMPRESSION: if (field.type == TType.STRING) { this.compression = iprot.readString(); - this.__isset.compression = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case INMEMORY: if (field.type == TType.BOOL) { this.inMemory = iprot.readBool(); this.__isset.inMemory = true; @@ -273,7 +725,7 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 5: + case MAXVALUELENGTH: if (field.type == TType.I32) { this.maxValueLength = iprot.readI32(); this.__isset.maxValueLength = true; @@ -281,15 +733,14 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 6: + case BLOOMFILTERTYPE: if (field.type == TType.STRING) { this.bloomFilterType = iprot.readString(); - this.__isset.bloomFilterType = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 7: + case BLOOMFILTERVECTORSIZE: if (field.type == TType.I32) { this.bloomFilterVectorSize = iprot.readI32(); this.__isset.bloomFilterVectorSize = true; @@ -297,7 +748,7 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 8: + case BLOOMFILTERNBHASHES: if (field.type == TType.I32) { this.bloomFilterNbHashes = iprot.readI32(); this.__isset.bloomFilterNbHashes = true; @@ -305,7 +756,7 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 9: + case BLOCKCACHEENABLED: if (field.type == TType.BOOL) { this.blockCacheEnabled = iprot.readBool(); this.__isset.blockCacheEnabled = true; @@ -313,7 +764,7 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 10: + case TIMETOLIVE: if (field.type == TType.I32) { this.timeToLive = iprot.readI32(); this.__isset.timeToLive = true; @@ -328,107 +779,120 @@ public class ColumnDescriptor implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("ColumnDescriptor"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.name != null) { - field.name = "name"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(NAME_FIELD_DESC); oprot.writeBinary(this.name); oprot.writeFieldEnd(); } - field.name = "maxVersions"; - field.type = TType.I32; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MAX_VERSIONS_FIELD_DESC); oprot.writeI32(this.maxVersions); oprot.writeFieldEnd(); if (this.compression != null) { - field.name = "compression"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COMPRESSION_FIELD_DESC); oprot.writeString(this.compression); oprot.writeFieldEnd(); } - field.name = "inMemory"; - field.type = TType.BOOL; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(IN_MEMORY_FIELD_DESC); oprot.writeBool(this.inMemory); oprot.writeFieldEnd(); - field.name = "maxValueLength"; - field.type = TType.I32; - field.id = 5; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MAX_VALUE_LENGTH_FIELD_DESC); oprot.writeI32(this.maxValueLength); oprot.writeFieldEnd(); if (this.bloomFilterType != null) { - field.name = "bloomFilterType"; - field.type = TType.STRING; - field.id = 6; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(BLOOM_FILTER_TYPE_FIELD_DESC); oprot.writeString(this.bloomFilterType); oprot.writeFieldEnd(); } - field.name = "bloomFilterVectorSize"; - field.type = TType.I32; - field.id = 7; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(BLOOM_FILTER_VECTOR_SIZE_FIELD_DESC); oprot.writeI32(this.bloomFilterVectorSize); oprot.writeFieldEnd(); - field.name = "bloomFilterNbHashes"; - field.type = TType.I32; - field.id = 8; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(BLOOM_FILTER_NB_HASHES_FIELD_DESC); oprot.writeI32(this.bloomFilterNbHashes); oprot.writeFieldEnd(); - field.name = "blockCacheEnabled"; - field.type = TType.BOOL; - field.id = 9; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(BLOCK_CACHE_ENABLED_FIELD_DESC); oprot.writeBool(this.blockCacheEnabled); oprot.writeFieldEnd(); - field.name = "timeToLive"; - field.type = TType.I32; - field.id = 10; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIME_TO_LIVE_FIELD_DESC); oprot.writeI32(this.timeToLive); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("ColumnDescriptor("); + boolean first = true; + sb.append("name:"); - sb.append(this.name); - sb.append(",maxVersions:"); + if (this.name == null) { + sb.append("null"); + } else { + sb.append(this.name); + } + first = false; + if (!first) sb.append(", "); + sb.append("maxVersions:"); sb.append(this.maxVersions); - sb.append(",compression:"); - sb.append(this.compression); - sb.append(",inMemory:"); + first = false; + if (!first) sb.append(", "); + sb.append("compression:"); + if (this.compression == null) { + sb.append("null"); + } else { + sb.append(this.compression); + } + first = false; + if (!first) sb.append(", "); + sb.append("inMemory:"); sb.append(this.inMemory); - sb.append(",maxValueLength:"); + first = false; + if (!first) sb.append(", "); + sb.append("maxValueLength:"); sb.append(this.maxValueLength); - sb.append(",bloomFilterType:"); - sb.append(this.bloomFilterType); - sb.append(",bloomFilterVectorSize:"); + first = false; + if (!first) sb.append(", "); + sb.append("bloomFilterType:"); + if (this.bloomFilterType == null) { + sb.append("null"); + } else { + sb.append(this.bloomFilterType); + } + first = false; + if (!first) sb.append(", "); + sb.append("bloomFilterVectorSize:"); sb.append(this.bloomFilterVectorSize); - sb.append(",bloomFilterNbHashes:"); + first = false; + if (!first) sb.append(", "); + sb.append("bloomFilterNbHashes:"); sb.append(this.bloomFilterNbHashes); - sb.append(",blockCacheEnabled:"); + first = false; + if (!first) sb.append(", "); + sb.append("blockCacheEnabled:"); sb.append(this.blockCacheEnabled); - sb.append(",timeToLive:"); + first = false; + if (!first) sb.append(", "); + sb.append("timeToLive:"); sb.append(this.timeToLive); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/Constants.java b/src/java/org/apache/hadoop/hbase/thrift/generated/Constants.java deleted file mode 100644 index 1f73410c7ef..00000000000 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/Constants.java +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Autogenerated by Thrift - * - * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING - */ -package org.apache.hadoop.hbase.thrift.generated; - -import java.util.List; -import java.util.ArrayList; -import java.util.Map; -import java.util.HashMap; -import java.util.Set; -import java.util.HashSet; -import com.facebook.thrift.*; - -public class Constants { - -} diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java index 29d792006bd..d30e680f903 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,10 +28,11 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; public class Hbase { @@ -41,6 +41,8 @@ public class Hbase { /** * Brings a table on-line (enables it) * @param tableName name of the table + * + * @param tableName */ public void enableTable(byte[] tableName) throws IOError, TException; @@ -48,12 +50,16 @@ public class Hbase { * Disables a table (takes it off-line) If it is being served, the master * will tell the servers to stop serving it. * @param tableName name of the table + * + * @param tableName */ public void disableTable(byte[] tableName) throws IOError, TException; /** * @param tableName name of table to check * @return true if table is on-line + * + * @param tableName */ public boolean isTableEnabled(byte[] tableName) throws IOError, TException; @@ -71,6 +77,8 @@ public class Hbase { * List all the column families assoicated with a table. * @param tableName table name * @return list of column family descriptors + * + * @param tableName */ public Map getColumnDescriptors(byte[] tableName) throws IOError, TException; @@ -78,6 +86,8 @@ public class Hbase { * List the regions associated with a table. * @param tableName table name * @return list of region descriptors + * + * @param tableName */ public List getTableRegions(byte[] tableName) throws IOError, TException; @@ -92,26 +102,36 @@ public class Hbase { * * @throws IllegalArgument if an input parameter is invalid * @throws AlreadyExists if the table name already exists + * + * @param tableName + * @param columnFamilies */ public void createTable(byte[] tableName, List columnFamilies) throws IOError, IllegalArgument, AlreadyExists, TException; /** * Deletes a table * @param tableName name of table to delete - * @throws NotFound if table doesn't exist on server + * @throws IOError if table doesn't exist on server or there was some other + * problem + * + * @param tableName */ - public void deleteTable(byte[] tableName) throws IOError, NotFound, TException; + public void deleteTable(byte[] tableName) throws IOError, TException; /** * Get a single TCell for the specified table, row, and column at the - * latest timestamp. + * latest timestamp. Returns an empty list if no such value exists. * * @param tableName name of table * @param row row key * @param column column name * @return value for specified row/column + * + * @param tableName + * @param row + * @param column */ - public TCell get(byte[] tableName, byte[] row, byte[] column) throws IOError, NotFound, TException; + public List get(byte[] tableName, byte[] row, byte[] column) throws IOError, TException; /** * Get the specified number of versions for the specified table, @@ -122,8 +142,13 @@ public class Hbase { * @param column column name * @param numVersions number of versions to retrieve * @return list of cells for specified row/column + * + * @param tableName + * @param row + * @param column + * @param numVersions */ - public List getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, NotFound, TException; + public List getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, TException; /** * Get the specified number of versions for the specified table, @@ -136,55 +161,73 @@ public class Hbase { * @param timestamp timestamp * @param numVersions number of versions to retrieve * @return list of cells for specified row/column + * + * @param tableName + * @param row + * @param column + * @param timestamp + * @param numVersions */ - public List getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, NotFound, TException; + public List getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, TException; /** * Get all the data for the specified table and row at the latest - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist + * + * @param tableName + * @param row */ - public TRowResult getRow(byte[] tableName, byte[] row) throws IOError, NotFound, TException; + public List getRow(byte[] tableName, byte[] row) throws IOError, TException; /** * Get the specified columns for the specified table and row at the latest - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @param columns List of columns to return, null for all columns * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist + * + * @param tableName + * @param row + * @param columns */ - public TRowResult getRowWithColumns(byte[] tableName, byte[] row, List columns) throws IOError, NotFound, TException; + public List getRowWithColumns(byte[] tableName, byte[] row, List columns) throws IOError, TException; /** * Get all the data for the specified table and row at the specified - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName of table * @param row row key * @param timestamp timestamp * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist + * + * @param tableName + * @param row + * @param timestamp */ - public TRowResult getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, NotFound, TException; + public List getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException; /** * Get the specified columns for the specified table and row at the specified - * timestamp. + * timestamp. Returns an empty list if the row does not exist. * * @param tableName name of table * @param row row key * @param columns List of columns to return, null for all columns * @return TRowResult containing the row and map of columns to TCells - * @throws NotFound if the row does not exist + * + * @param tableName + * @param row + * @param columns + * @param timestamp */ - public TRowResult getRowWithColumnsTs(byte[] tableName, byte[] row, List columns, long timestamp) throws IOError, NotFound, TException; + public List getRowWithColumnsTs(byte[] tableName, byte[] row, List columns, long timestamp) throws IOError, TException; /** * Apply a series of mutations (updates/deletes) to a row in a @@ -195,6 +238,10 @@ public class Hbase { * @param tableName name of table * @param row row key * @param mutations list of mutation commands + * + * @param tableName + * @param row + * @param mutations */ public void mutateRow(byte[] tableName, byte[] row, List mutations) throws IOError, IllegalArgument, TException; @@ -208,6 +255,11 @@ public class Hbase { * @param row row key * @param mutations list of mutation commands * @param timestamp timestamp + * + * @param tableName + * @param row + * @param mutations + * @param timestamp */ public void mutateRowTs(byte[] tableName, byte[] row, List mutations, long timestamp) throws IOError, IllegalArgument, TException; @@ -219,6 +271,9 @@ public class Hbase { * * @param tableName name of table * @param rowBatches list of row batches + * + * @param tableName + * @param rowBatches */ public void mutateRows(byte[] tableName, List rowBatches) throws IOError, IllegalArgument, TException; @@ -231,17 +286,37 @@ public class Hbase { * @param tableName name of table * @param rowBatches list of row batches * @param timestamp timestamp + * + * @param tableName + * @param rowBatches + * @param timestamp */ public void mutateRowsTs(byte[] tableName, List rowBatches, long timestamp) throws IOError, IllegalArgument, TException; + /** + * Atomically increment the column value specified. Returns the next value post increment. + * @param tableName name of table + * @param row row to increment + * @param column name of column + * @param value amount to increment by + * + * @param tableName + * @param row + * @param column + * @param value + */ public long atomicIncrement(byte[] tableName, byte[] row, byte[] column, long value) throws IOError, IllegalArgument, TException; - + /** * Delete all cells that match the passed row and column. * * @param tableName name of table * @param row Row to update * @param column name of column whose value is to be deleted + * + * @param tableName + * @param row + * @param column */ public void deleteAll(byte[] tableName, byte[] row, byte[] column) throws IOError, TException; @@ -253,6 +328,11 @@ public class Hbase { * @param row Row to update * @param column name of column whose value is to be deleted * @param timestamp timestamp + * + * @param tableName + * @param row + * @param column + * @param timestamp */ public void deleteAllTs(byte[] tableName, byte[] row, byte[] column, long timestamp) throws IOError, TException; @@ -261,6 +341,9 @@ public class Hbase { * * @param tableName name of table * @param row key of the row to be completely deleted. + * + * @param tableName + * @param row */ public void deleteAllRow(byte[] tableName, byte[] row) throws IOError, TException; @@ -271,6 +354,10 @@ public class Hbase { * @param tableName name of table * @param row key of the row to be completely deleted. * @param timestamp timestamp + * + * @param tableName + * @param row + * @param timestamp */ public void deleteAllRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException; @@ -286,6 +373,10 @@ public class Hbase { * start at the first row. * * @return scanner id to be used with other scanner procedures + * + * @param tableName + * @param startRow + * @param columns */ public int scannerOpen(byte[] tableName, byte[] startRow, List columns) throws IOError, TException; @@ -304,6 +395,11 @@ public class Hbase { * scanner's results * * @return scanner id to be used with other scanner procedures + * + * @param tableName + * @param startRow + * @param stopRow + * @param columns */ public int scannerOpenWithStop(byte[] tableName, byte[] startRow, byte[] stopRow, List columns) throws IOError, TException; @@ -321,6 +417,11 @@ public class Hbase { * @param timestamp timestamp * * @return scanner id to be used with other scanner procedures + * + * @param tableName + * @param startRow + * @param columns + * @param timestamp */ public int scannerOpenTs(byte[] tableName, byte[] startRow, List columns, long timestamp) throws IOError, TException; @@ -341,6 +442,12 @@ public class Hbase { * @param timestamp timestamp * * @return scanner id to be used with other scanner procedures + * + * @param tableName + * @param startRow + * @param stopRow + * @param columns + * @param timestamp */ public int scannerOpenWithStopTs(byte[] tableName, byte[] startRow, byte[] stopRow, List columns, long timestamp) throws IOError, TException; @@ -348,20 +455,24 @@ public class Hbase { * Returns the scanner's current row value and advances to the next * row in the table. When there are no more rows in the table, or a key * greater-than-or-equal-to the scanner's specified stopRow is reached, - * a NotFound exception is returned. + * an empty list is returned. * * @param id id of a scanner returned by scannerOpen * @return a TRowResult containing the current row and a map of the columns to TCells. * @throws IllegalArgument if ScannerID is invalid * @throws NotFound when the scanner reaches the end + * + * @param id */ - public TRowResult scannerGet(int id) throws IOError, IllegalArgument, NotFound, TException; + public List scannerGet(int id) throws IOError, IllegalArgument, TException; /** * Closes the server-state associated with an open scanner. * * @param id id of a scanner returned by scannerOpen * @throws IllegalArgument if ScannerID is invalid + * + * @param id */ public void scannerClose(int id) throws IOError, IllegalArgument, TException; @@ -421,7 +532,7 @@ public class Hbase { enableTable_result result = new enableTable_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -454,7 +565,7 @@ public class Hbase { disableTable_result result = new disableTable_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -487,10 +598,10 @@ public class Hbase { isTableEnabled_result result = new isTableEnabled_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "isTableEnabled failed: unknown result"); @@ -523,7 +634,7 @@ public class Hbase { compact_result result = new compact_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -556,7 +667,7 @@ public class Hbase { majorCompact_result result = new majorCompact_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -588,10 +699,10 @@ public class Hbase { getTableNames_result result = new getTableNames_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getTableNames failed: unknown result"); @@ -624,10 +735,10 @@ public class Hbase { getColumnDescriptors_result result = new getColumnDescriptors_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getColumnDescriptors failed: unknown result"); @@ -660,10 +771,10 @@ public class Hbase { getTableRegions_result result = new getTableRegions_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getTableRegions failed: unknown result"); @@ -697,19 +808,19 @@ public class Hbase { createTable_result result = new createTable_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } - if (result.__isset.exist) { + if (result.exist != null) { throw result.exist; } return; } - public void deleteTable(byte[] tableName) throws IOError, NotFound, TException + public void deleteTable(byte[] tableName) throws IOError, TException { send_deleteTable(tableName); recv_deleteTable(); @@ -725,7 +836,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public void recv_deleteTable() throws IOError, NotFound, TException + public void recv_deleteTable() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -736,16 +847,13 @@ public class Hbase { deleteTable_result result = new deleteTable_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } return; } - public TCell get(byte[] tableName, byte[] row, byte[] column) throws IOError, NotFound, TException + public List get(byte[] tableName, byte[] row, byte[] column) throws IOError, TException { send_get(tableName, row, column); return recv_get(); @@ -763,7 +871,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TCell recv_get() throws IOError, NotFound, TException + public List recv_get() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -774,19 +882,16 @@ public class Hbase { get_result result = new get_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "get failed: unknown result"); } - public List getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, NotFound, TException + public List getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, TException { send_getVer(tableName, row, column, numVersions); return recv_getVer(); @@ -805,7 +910,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public List recv_getVer() throws IOError, NotFound, TException + public List recv_getVer() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -816,19 +921,16 @@ public class Hbase { getVer_result result = new getVer_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getVer failed: unknown result"); } - public List getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, NotFound, TException + public List getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, TException { send_getVerTs(tableName, row, column, timestamp, numVersions); return recv_getVerTs(); @@ -848,7 +950,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public List recv_getVerTs() throws IOError, NotFound, TException + public List recv_getVerTs() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -859,19 +961,16 @@ public class Hbase { getVerTs_result result = new getVerTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getVerTs failed: unknown result"); } - public TRowResult getRow(byte[] tableName, byte[] row) throws IOError, NotFound, TException + public List getRow(byte[] tableName, byte[] row) throws IOError, TException { send_getRow(tableName, row); return recv_getRow(); @@ -888,7 +987,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TRowResult recv_getRow() throws IOError, NotFound, TException + public List recv_getRow() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -899,19 +998,16 @@ public class Hbase { getRow_result result = new getRow_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRow failed: unknown result"); } - public TRowResult getRowWithColumns(byte[] tableName, byte[] row, List columns) throws IOError, NotFound, TException + public List getRowWithColumns(byte[] tableName, byte[] row, List columns) throws IOError, TException { send_getRowWithColumns(tableName, row, columns); return recv_getRowWithColumns(); @@ -929,7 +1025,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TRowResult recv_getRowWithColumns() throws IOError, NotFound, TException + public List recv_getRowWithColumns() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -940,19 +1036,16 @@ public class Hbase { getRowWithColumns_result result = new getRowWithColumns_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowWithColumns failed: unknown result"); } - public TRowResult getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, NotFound, TException + public List getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException { send_getRowTs(tableName, row, timestamp); return recv_getRowTs(); @@ -970,7 +1063,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TRowResult recv_getRowTs() throws IOError, NotFound, TException + public List recv_getRowTs() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -981,19 +1074,16 @@ public class Hbase { getRowTs_result result = new getRowTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowTs failed: unknown result"); } - public TRowResult getRowWithColumnsTs(byte[] tableName, byte[] row, List columns, long timestamp) throws IOError, NotFound, TException + public List getRowWithColumnsTs(byte[] tableName, byte[] row, List columns, long timestamp) throws IOError, TException { send_getRowWithColumnsTs(tableName, row, columns, timestamp); return recv_getRowWithColumnsTs(); @@ -1012,7 +1102,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TRowResult recv_getRowWithColumnsTs() throws IOError, NotFound, TException + public List recv_getRowWithColumnsTs() throws IOError, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -1023,15 +1113,12 @@ public class Hbase { getRowWithColumnsTs_result result = new getRowWithColumnsTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowWithColumnsTs failed: unknown result"); } @@ -1064,10 +1151,10 @@ public class Hbase { mutateRow_result result = new mutateRow_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } return; @@ -1103,10 +1190,10 @@ public class Hbase { mutateRowTs_result result = new mutateRowTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } return; @@ -1140,10 +1227,10 @@ public class Hbase { mutateRows_result result = new mutateRows_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } return; @@ -1178,10 +1265,10 @@ public class Hbase { mutateRowsTs_result result = new mutateRowsTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } return; @@ -1217,18 +1304,17 @@ public class Hbase { atomicIncrement_result result = new atomicIncrement_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "atomicIncrement failed: unknown result"); } - public void deleteAll(byte[] tableName, byte[] row, byte[] column) throws IOError, TException { @@ -1259,7 +1345,7 @@ public class Hbase { deleteAll_result result = new deleteAll_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -1295,7 +1381,7 @@ public class Hbase { deleteAllTs_result result = new deleteAllTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -1329,7 +1415,7 @@ public class Hbase { deleteAllRow_result result = new deleteAllRow_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -1364,7 +1450,7 @@ public class Hbase { deleteAllRowTs_result result = new deleteAllRowTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } return; @@ -1399,10 +1485,10 @@ public class Hbase { scannerOpen_result result = new scannerOpen_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpen failed: unknown result"); @@ -1438,10 +1524,10 @@ public class Hbase { scannerOpenWithStop_result result = new scannerOpenWithStop_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenWithStop failed: unknown result"); @@ -1477,10 +1563,10 @@ public class Hbase { scannerOpenTs_result result = new scannerOpenTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenTs failed: unknown result"); @@ -1517,16 +1603,16 @@ public class Hbase { scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenWithStopTs failed: unknown result"); } - public TRowResult scannerGet(int id) throws IOError, IllegalArgument, NotFound, TException + public List scannerGet(int id) throws IOError, IllegalArgument, TException { send_scannerGet(id); return recv_scannerGet(); @@ -1542,7 +1628,7 @@ public class Hbase { oprot_.getTransport().flush(); } - public TRowResult recv_scannerGet() throws IOError, IllegalArgument, NotFound, TException + public List recv_scannerGet() throws IOError, IllegalArgument, TException { TMessage msg = iprot_.readMessageBegin(); if (msg.type == TMessageType.EXCEPTION) { @@ -1553,18 +1639,15 @@ public class Hbase { scannerGet_result result = new scannerGet_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.success) { + if (result.isSetSuccess()) { return result.success; } - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } - if (result.__isset.nf) { - throw result.nf; - } throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerGet failed: unknown result"); } @@ -1595,10 +1678,10 @@ public class Hbase { scannerClose_result result = new scannerClose_result(); result.read(iprot_); iprot_.readMessageEnd(); - if (result.__isset.io) { + if (result.io != null) { throw result.io; } - if (result.__isset.ia) { + if (result.ia != null) { throw result.ia; } return; @@ -1679,7 +1762,6 @@ public class Hbase { iface_.enableTable(args.tableName); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("enableTable", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1700,7 +1782,6 @@ public class Hbase { iface_.disableTable(args.tableName); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("disableTable", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1722,7 +1803,6 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1743,7 +1823,6 @@ public class Hbase { iface_.compact(args.tableNameOrRegionName); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("compact", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1764,7 +1843,6 @@ public class Hbase { iface_.majorCompact(args.tableNameOrRegionName); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("majorCompact", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1783,10 +1861,8 @@ public class Hbase { getTableNames_result result = new getTableNames_result(); try { result.success = iface_.getTableNames(); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("getTableNames", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1805,10 +1881,8 @@ public class Hbase { getColumnDescriptors_result result = new getColumnDescriptors_result(); try { result.success = iface_.getColumnDescriptors(args.tableName); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("getColumnDescriptors", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1827,10 +1901,8 @@ public class Hbase { getTableRegions_result result = new getTableRegions_result(); try { result.success = iface_.getTableRegions(args.tableName); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("getTableRegions", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1851,13 +1923,10 @@ public class Hbase { iface_.createTable(args.tableName, args.columnFamilies); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } catch (AlreadyExists exist) { result.exist = exist; - result.__isset.exist = true; } oprot.writeMessageBegin(new TMessage("createTable", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1878,10 +1947,6 @@ public class Hbase { iface_.deleteTable(args.tableName); } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("deleteTable", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1900,13 +1965,8 @@ public class Hbase { get_result result = new get_result(); try { result.success = iface_.get(args.tableName, args.row, args.column); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("get", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1925,13 +1985,8 @@ public class Hbase { getVer_result result = new getVer_result(); try { result.success = iface_.getVer(args.tableName, args.row, args.column, args.numVersions); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getVer", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1950,13 +2005,8 @@ public class Hbase { getVerTs_result result = new getVerTs_result(); try { result.success = iface_.getVerTs(args.tableName, args.row, args.column, args.timestamp, args.numVersions); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getVerTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -1975,13 +2025,8 @@ public class Hbase { getRow_result result = new getRow_result(); try { result.success = iface_.getRow(args.tableName, args.row); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getRow", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2000,13 +2045,8 @@ public class Hbase { getRowWithColumns_result result = new getRowWithColumns_result(); try { result.success = iface_.getRowWithColumns(args.tableName, args.row, args.columns); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getRowWithColumns", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2025,13 +2065,8 @@ public class Hbase { getRowTs_result result = new getRowTs_result(); try { result.success = iface_.getRowTs(args.tableName, args.row, args.timestamp); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getRowTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2050,13 +2085,8 @@ public class Hbase { getRowWithColumnsTs_result result = new getRowWithColumnsTs_result(); try { result.success = iface_.getRowWithColumnsTs(args.tableName, args.row, args.columns, args.timestamp); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("getRowWithColumnsTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2077,10 +2107,8 @@ public class Hbase { iface_.mutateRow(args.tableName, args.row, args.mutations); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("mutateRow", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2101,10 +2129,8 @@ public class Hbase { iface_.mutateRowTs(args.tableName, args.row, args.mutations, args.timestamp); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("mutateRowTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2125,10 +2151,8 @@ public class Hbase { iface_.mutateRows(args.tableName, args.rowBatches); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("mutateRows", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2149,10 +2173,8 @@ public class Hbase { iface_.mutateRowsTs(args.tableName, args.rowBatches, args.timestamp); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("mutateRowsTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2174,10 +2196,8 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("atomicIncrement", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2187,7 +2207,6 @@ public class Hbase { } - private class deleteAll implements ProcessFunction { public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException { @@ -2199,7 +2218,6 @@ public class Hbase { iface_.deleteAll(args.tableName, args.row, args.column); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("deleteAll", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2220,7 +2238,6 @@ public class Hbase { iface_.deleteAllTs(args.tableName, args.row, args.column, args.timestamp); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("deleteAllTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2241,7 +2258,6 @@ public class Hbase { iface_.deleteAllRow(args.tableName, args.row); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("deleteAllRow", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2262,7 +2278,6 @@ public class Hbase { iface_.deleteAllRowTs(args.tableName, args.row, args.timestamp); } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("deleteAllRowTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2284,7 +2299,6 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("scannerOpen", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2306,7 +2320,6 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("scannerOpenWithStop", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2328,7 +2341,6 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("scannerOpenTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2350,7 +2362,6 @@ public class Hbase { result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } oprot.writeMessageBegin(new TMessage("scannerOpenWithStopTs", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2369,16 +2380,10 @@ public class Hbase { scannerGet_result result = new scannerGet_result(); try { result.success = iface_.scannerGet(args.id); - result.__isset.success = true; } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; - } catch (NotFound nf) { - result.nf = nf; - result.__isset.nf = true; } oprot.writeMessageBegin(new TMessage("scannerGet", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2399,10 +2404,8 @@ public class Hbase { iface_.scannerClose(args.id); } catch (IOError io) { result.io = io; - result.__isset.io = true; } catch (IllegalArgument ia) { result.ia = ia; - result.__isset.ia = true; } oprot.writeMessageBegin(new TMessage("scannerClose", TMessageType.REPLY, seqid)); result.write(oprot); @@ -2414,12 +2417,24 @@ public class Hbase { } - public static class enableTable_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class enableTable_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("enableTable_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(enableTable_args.class, metaDataMap); } public enableTable_args() { @@ -2430,9 +2445,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public enableTable_args(enableTable_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public enableTable_args clone() { + return new enableTable_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2445,8 +2532,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -2457,6 +2544,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2472,10 +2560,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -2487,17 +2574,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("enableTable_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -2505,22 +2593,47 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("enableTable_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class enableTable_result implements TBase, java.io.Serializable { - public IOError io; + public static class enableTable_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("enableTable_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(enableTable_result.class, metaDataMap); } public enableTable_result() { @@ -2531,9 +2644,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public enableTable_result(enableTable_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public enableTable_result clone() { + return new enableTable_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2546,8 +2731,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -2558,6 +2743,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2573,11 +2759,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -2589,43 +2774,65 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("enableTable_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("enableTable_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class disableTable_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class disableTable_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("disableTable_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(disableTable_args.class, metaDataMap); } public disableTable_args() { @@ -2636,9 +2843,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public disableTable_args(disableTable_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public disableTable_args clone() { + return new disableTable_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2651,8 +2930,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -2663,6 +2942,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2678,10 +2958,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -2693,17 +2972,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("disableTable_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -2711,22 +2991,47 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("disableTable_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class disableTable_result implements TBase, java.io.Serializable { - public IOError io; + public static class disableTable_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("disableTable_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(disableTable_result.class, metaDataMap); } public disableTable_result() { @@ -2737,9 +3042,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public disableTable_result(disableTable_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public disableTable_result clone() { + return new disableTable_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2752,8 +3129,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -2764,6 +3141,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2779,11 +3157,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -2795,43 +3172,65 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("disableTable_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("disableTable_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class isTableEnabled_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class isTableEnabled_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("isTableEnabled_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(isTableEnabled_args.class, metaDataMap); } public isTableEnabled_args() { @@ -2842,9 +3241,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public isTableEnabled_args(isTableEnabled_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public isTableEnabled_args clone() { + return new isTableEnabled_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2857,8 +3328,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -2869,6 +3340,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2884,10 +3356,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -2899,17 +3370,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("isTableEnabled_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -2917,24 +3389,53 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("isTableEnabled_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class isTableEnabled_result implements TBase, java.io.Serializable { - public boolean success; - public IOError io; + public static class isTableEnabled_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("isTableEnabled_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.BOOL, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public boolean success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.BOOL))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(isTableEnabled_result.class, metaDataMap); } public isTableEnabled_result() { @@ -2948,9 +3449,118 @@ public class Hbase { this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public isTableEnabled_result(isTableEnabled_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public isTableEnabled_result clone() { + return new isTableEnabled_result(this); + } + + public boolean isSuccess() { + return this.success; + } + + public void setSuccess(boolean success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Boolean(isSuccess()); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -2972,8 +3582,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -2984,6 +3594,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -2999,7 +3610,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.BOOL) { this.success = iprot.readBool(); this.__isset.success = true; @@ -3007,11 +3618,10 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3023,52 +3633,73 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("isTableEnabled_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.BOOL; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeBool(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("isTableEnabled_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class compact_args implements TBase, java.io.Serializable { - public byte[] tableNameOrRegionName; + public static class compact_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("compact_args"); + private static final TField TABLE_NAME_OR_REGION_NAME_FIELD_DESC = new TField("tableNameOrRegionName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableNameOrRegionName = false; + public byte[] tableNameOrRegionName; + public static final int TABLENAMEORREGIONNAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAMEORREGIONNAME, new FieldMetaData("tableNameOrRegionName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(compact_args.class, metaDataMap); } public compact_args() { @@ -3079,9 +3710,81 @@ public class Hbase { { this(); this.tableNameOrRegionName = tableNameOrRegionName; - this.__isset.tableNameOrRegionName = true; } + /** + * Performs a deep copy on other. + */ + public compact_args(compact_args other) { + if (other.isSetTableNameOrRegionName()) { + this.tableNameOrRegionName = other.tableNameOrRegionName; + } + } + + @Override + public compact_args clone() { + return new compact_args(this); + } + + public byte[] getTableNameOrRegionName() { + return this.tableNameOrRegionName; + } + + public void setTableNameOrRegionName(byte[] tableNameOrRegionName) { + this.tableNameOrRegionName = tableNameOrRegionName; + } + + public void unsetTableNameOrRegionName() { + this.tableNameOrRegionName = null; + } + + // Returns true if field tableNameOrRegionName is set (has been asigned a value) and false otherwise + public boolean isSetTableNameOrRegionName() { + return this.tableNameOrRegionName != null; + } + + public void setTableNameOrRegionNameIsSet(boolean value) { + if (!value) { + this.tableNameOrRegionName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + if (value == null) { + unsetTableNameOrRegionName(); + } else { + setTableNameOrRegionName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + return getTableNameOrRegionName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + return isSetTableNameOrRegionName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3094,8 +3797,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableNameOrRegionName = true && (this.tableNameOrRegionName != null); - boolean that_present_tableNameOrRegionName = true && (that.tableNameOrRegionName != null); + boolean this_present_tableNameOrRegionName = true && this.isSetTableNameOrRegionName(); + boolean that_present_tableNameOrRegionName = true && that.isSetTableNameOrRegionName(); if (this_present_tableNameOrRegionName || that_present_tableNameOrRegionName) { if (!(this_present_tableNameOrRegionName && that_present_tableNameOrRegionName)) return false; @@ -3106,6 +3809,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3121,10 +3825,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAMEORREGIONNAME: if (field.type == TType.STRING) { this.tableNameOrRegionName = iprot.readBinary(); - this.__isset.tableNameOrRegionName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3136,17 +3839,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("compact_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableNameOrRegionName != null) { - field.name = "tableNameOrRegionName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_OR_REGION_NAME_FIELD_DESC); oprot.writeBinary(this.tableNameOrRegionName); oprot.writeFieldEnd(); } @@ -3154,22 +3858,47 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("compact_args("); + boolean first = true; + sb.append("tableNameOrRegionName:"); - sb.append(this.tableNameOrRegionName); + if (this.tableNameOrRegionName == null) { + sb.append("null"); + } else { + sb.append(this.tableNameOrRegionName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class compact_result implements TBase, java.io.Serializable { - public IOError io; + public static class compact_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("compact_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(compact_result.class, metaDataMap); } public compact_result() { @@ -3180,9 +3909,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public compact_result(compact_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public compact_result clone() { + return new compact_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3195,8 +3996,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -3207,6 +4008,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3222,11 +4024,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3238,43 +4039,65 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("compact_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("compact_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class majorCompact_args implements TBase, java.io.Serializable { - public byte[] tableNameOrRegionName; + public static class majorCompact_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("majorCompact_args"); + private static final TField TABLE_NAME_OR_REGION_NAME_FIELD_DESC = new TField("tableNameOrRegionName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableNameOrRegionName = false; + public byte[] tableNameOrRegionName; + public static final int TABLENAMEORREGIONNAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAMEORREGIONNAME, new FieldMetaData("tableNameOrRegionName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(majorCompact_args.class, metaDataMap); } public majorCompact_args() { @@ -3285,9 +4108,81 @@ public class Hbase { { this(); this.tableNameOrRegionName = tableNameOrRegionName; - this.__isset.tableNameOrRegionName = true; } + /** + * Performs a deep copy on other. + */ + public majorCompact_args(majorCompact_args other) { + if (other.isSetTableNameOrRegionName()) { + this.tableNameOrRegionName = other.tableNameOrRegionName; + } + } + + @Override + public majorCompact_args clone() { + return new majorCompact_args(this); + } + + public byte[] getTableNameOrRegionName() { + return this.tableNameOrRegionName; + } + + public void setTableNameOrRegionName(byte[] tableNameOrRegionName) { + this.tableNameOrRegionName = tableNameOrRegionName; + } + + public void unsetTableNameOrRegionName() { + this.tableNameOrRegionName = null; + } + + // Returns true if field tableNameOrRegionName is set (has been asigned a value) and false otherwise + public boolean isSetTableNameOrRegionName() { + return this.tableNameOrRegionName != null; + } + + public void setTableNameOrRegionNameIsSet(boolean value) { + if (!value) { + this.tableNameOrRegionName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + if (value == null) { + unsetTableNameOrRegionName(); + } else { + setTableNameOrRegionName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + return getTableNameOrRegionName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAMEORREGIONNAME: + return isSetTableNameOrRegionName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3300,8 +4195,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableNameOrRegionName = true && (this.tableNameOrRegionName != null); - boolean that_present_tableNameOrRegionName = true && (that.tableNameOrRegionName != null); + boolean this_present_tableNameOrRegionName = true && this.isSetTableNameOrRegionName(); + boolean that_present_tableNameOrRegionName = true && that.isSetTableNameOrRegionName(); if (this_present_tableNameOrRegionName || that_present_tableNameOrRegionName) { if (!(this_present_tableNameOrRegionName && that_present_tableNameOrRegionName)) return false; @@ -3312,6 +4207,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3327,10 +4223,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAMEORREGIONNAME: if (field.type == TType.STRING) { this.tableNameOrRegionName = iprot.readBinary(); - this.__isset.tableNameOrRegionName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3342,17 +4237,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("majorCompact_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableNameOrRegionName != null) { - field.name = "tableNameOrRegionName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_OR_REGION_NAME_FIELD_DESC); oprot.writeBinary(this.tableNameOrRegionName); oprot.writeFieldEnd(); } @@ -3360,22 +4256,47 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("majorCompact_args("); + boolean first = true; + sb.append("tableNameOrRegionName:"); - sb.append(this.tableNameOrRegionName); + if (this.tableNameOrRegionName == null) { + sb.append("null"); + } else { + sb.append(this.tableNameOrRegionName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class majorCompact_result implements TBase, java.io.Serializable { - public IOError io; + public static class majorCompact_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("majorCompact_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(majorCompact_result.class, metaDataMap); } public majorCompact_result() { @@ -3386,9 +4307,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public majorCompact_result(majorCompact_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public majorCompact_result clone() { + return new majorCompact_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3401,8 +4394,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -3413,6 +4406,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3428,11 +4422,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3444,41 +4437,94 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("majorCompact_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("majorCompact_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getTableNames_args implements TBase, java.io.Serializable { + public static class getTableNames_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getTableNames_args"); + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + }}); + + static { + FieldMetaData.addStructMetaDataMap(getTableNames_args.class, metaDataMap); + } + public getTableNames_args() { } + /** + * Performs a deep copy on other. + */ + public getTableNames_args(getTableNames_args other) { + } + + @Override + public getTableNames_args clone() { + return new getTableNames_args(this); + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3494,6 +4540,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3516,31 +4563,60 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getTableNames_args"); - oprot.writeStructBegin(struct); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getTableNames_args("); + boolean first = true; + sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getTableNames_result implements TBase, java.io.Serializable { - public List success; - public IOError io; + public static class getTableNames_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getTableNames_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getTableNames_result.class, metaDataMap); } public getTableNames_result() { @@ -3552,11 +4628,140 @@ public class Hbase { { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public getTableNames_result(getTableNames_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (byte[] other_element : other.success) { + __this__success.add(other_element); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getTableNames_result clone() { + return new getTableNames_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(byte[] elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3569,8 +4774,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -3578,8 +4783,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -3590,6 +4795,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3605,29 +4811,27 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.LIST) { { TList _list9 = iprot.readListBegin(); this.success = new ArrayList(_list9.size); for (int _i10 = 0; _i10 < _list9.size; ++_i10) { - byte[] _elem11 = null; + byte[] _elem11; _elem11 = iprot.readBinary(); this.success.add(_elem11); } iprot.readListEnd(); } - this.__isset.success = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3639,60 +4843,83 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getTableNames_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.LIST; - field.id = 0; - oprot.writeFieldBegin(field); - { - oprot.writeListBegin(new TList(TType.STRING, this.success.size())); - for (byte[] _iter12 : this.success) { - oprot.writeBinary(_iter12); - } - oprot.writeListEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRING, this.success.size())); + for (byte[] _iter12 : this.success) { + oprot.writeBinary(_iter12); } - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getTableNames_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getColumnDescriptors_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class getColumnDescriptors_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getColumnDescriptors_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getColumnDescriptors_args.class, metaDataMap); } public getColumnDescriptors_args() { @@ -3703,9 +4930,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public getColumnDescriptors_args(getColumnDescriptors_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public getColumnDescriptors_args clone() { + return new getColumnDescriptors_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3718,8 +5017,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -3730,6 +5029,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3745,10 +5045,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3760,17 +5059,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getColumnDescriptors_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -3778,24 +5078,54 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getColumnDescriptors_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getColumnDescriptors_result implements TBase, java.io.Serializable { - public Map success; - public IOError io; + public static class getColumnDescriptors_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getColumnDescriptors_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.MAP, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; + public Map success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new MapMetaData(TType.MAP, + new FieldValueMetaData(TType.STRING), + new StructMetaData(TType.STRUCT, ColumnDescriptor.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getColumnDescriptors_result.class, metaDataMap); } public getColumnDescriptors_result() { @@ -3807,11 +5137,144 @@ public class Hbase { { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public getColumnDescriptors_result(getColumnDescriptors_result other) { + if (other.isSetSuccess()) { + Map __this__success = new HashMap(); + for (Map.Entry other_element : other.success.entrySet()) { + + byte[] other_element_key = other_element.getKey(); + ColumnDescriptor other_element_value = other_element.getValue(); + + byte[] __this__success_copy_key = other_element_key; + + ColumnDescriptor __this__success_copy_value = new ColumnDescriptor(other_element_value); + + __this__success.put(__this__success_copy_key, __this__success_copy_value); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getColumnDescriptors_result clone() { + return new getColumnDescriptors_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public void putToSuccess(byte[] key, ColumnDescriptor val) { + if (this.success == null) { + this.success = new HashMap(); + } + this.success.put(key, val); + } + + public Map getSuccess() { + return this.success; + } + + public void setSuccess(Map success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Map)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3824,8 +5287,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -3833,8 +5296,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -3845,6 +5308,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -3860,7 +5324,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.MAP) { { TMap _map13 = iprot.readMapBegin(); @@ -3876,16 +5340,14 @@ public class Hbase { } iprot.readMapEnd(); } - this.__isset.success = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -3897,61 +5359,84 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getColumnDescriptors_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.MAP; - field.id = 0; - oprot.writeFieldBegin(field); - { - oprot.writeMapBegin(new TMap(TType.STRING, TType.STRUCT, this.success.size())); - for (byte[] _iter17 : this.success.keySet()) { - oprot.writeBinary(_iter17); - this.success.get(_iter17).write(oprot); - } - oprot.writeMapEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeMapBegin(new TMap(TType.STRING, TType.STRUCT, this.success.size())); + for (Map.Entry _iter17 : this.success.entrySet()) { + oprot.writeBinary(_iter17.getKey()); + _iter17.getValue().write(oprot); } - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); + oprot.writeMapEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getColumnDescriptors_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getTableRegions_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class getTableRegions_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getTableRegions_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getTableRegions_args.class, metaDataMap); } public getTableRegions_args() { @@ -3962,9 +5447,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public getTableRegions_args(getTableRegions_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public getTableRegions_args clone() { + return new getTableRegions_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -3977,8 +5534,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -3989,6 +5546,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4004,10 +5562,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4019,17 +5576,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getTableRegions_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -4037,24 +5595,53 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getTableRegions_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getTableRegions_result implements TBase, java.io.Serializable { - public List success; - public IOError io; + public static class getTableRegions_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getTableRegions_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRegionInfo.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getTableRegions_result.class, metaDataMap); } public getTableRegions_result() { @@ -4066,11 +5653,140 @@ public class Hbase { { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public getTableRegions_result(getTableRegions_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRegionInfo other_element : other.success) { + __this__success.add(new TRegionInfo(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getTableRegions_result clone() { + return new getTableRegions_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRegionInfo elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4083,8 +5799,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -4092,8 +5808,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -4104,6 +5820,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4119,30 +5836,28 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.LIST) { { TList _list18 = iprot.readListBegin(); this.success = new ArrayList(_list18.size); for (int _i19 = 0; _i19 < _list18.size; ++_i19) { - TRegionInfo _elem20 = new TRegionInfo(); + TRegionInfo _elem20; _elem20 = new TRegionInfo(); _elem20.read(iprot); this.success.add(_elem20); } iprot.readListEnd(); } - this.__isset.success = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4154,62 +5869,89 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getTableRegions_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.LIST; - field.id = 0; - oprot.writeFieldBegin(field); - { - oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (TRegionInfo _iter21 : this.success) { - _iter21.write(oprot); - } - oprot.writeListEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRegionInfo _iter21 : this.success) { + _iter21.write(oprot); } - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getTableRegions_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class createTable_args implements TBase, java.io.Serializable { - public byte[] tableName; - public List columnFamilies; + public static class createTable_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("createTable_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField COLUMN_FAMILIES_FIELD_DESC = new TField("columnFamilies", TType.LIST, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean columnFamilies = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public List columnFamilies; + public static final int COLUMNFAMILIES = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNFAMILIES, new FieldMetaData("columnFamilies", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, ColumnDescriptor.class)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(createTable_args.class, metaDataMap); } public createTable_args() { @@ -4221,11 +5963,140 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.columnFamilies = columnFamilies; - this.__isset.columnFamilies = true; } + /** + * Performs a deep copy on other. + */ + public createTable_args(createTable_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetColumnFamilies()) { + List __this__columnFamilies = new ArrayList(); + for (ColumnDescriptor other_element : other.columnFamilies) { + __this__columnFamilies.add(new ColumnDescriptor(other_element)); + } + this.columnFamilies = __this__columnFamilies; + } + } + + @Override + public createTable_args clone() { + return new createTable_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public int getColumnFamiliesSize() { + return (this.columnFamilies == null) ? 0 : this.columnFamilies.size(); + } + + public java.util.Iterator getColumnFamiliesIterator() { + return (this.columnFamilies == null) ? null : this.columnFamilies.iterator(); + } + + public void addToColumnFamilies(ColumnDescriptor elem) { + if (this.columnFamilies == null) { + this.columnFamilies = new ArrayList(); + } + this.columnFamilies.add(elem); + } + + public List getColumnFamilies() { + return this.columnFamilies; + } + + public void setColumnFamilies(List columnFamilies) { + this.columnFamilies = columnFamilies; + } + + public void unsetColumnFamilies() { + this.columnFamilies = null; + } + + // Returns true if field columnFamilies is set (has been asigned a value) and false otherwise + public boolean isSetColumnFamilies() { + return this.columnFamilies != null; + } + + public void setColumnFamiliesIsSet(boolean value) { + if (!value) { + this.columnFamilies = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case COLUMNFAMILIES: + if (value == null) { + unsetColumnFamilies(); + } else { + setColumnFamilies((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case COLUMNFAMILIES: + return getColumnFamilies(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case COLUMNFAMILIES: + return isSetColumnFamilies(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4238,8 +6109,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -4247,8 +6118,8 @@ public class Hbase { return false; } - boolean this_present_columnFamilies = true && (this.columnFamilies != null); - boolean that_present_columnFamilies = true && (that.columnFamilies != null); + boolean this_present_columnFamilies = true && this.isSetColumnFamilies(); + boolean that_present_columnFamilies = true && that.isSetColumnFamilies(); if (this_present_columnFamilies || that_present_columnFamilies) { if (!(this_present_columnFamilies && that_present_columnFamilies)) return false; @@ -4259,6 +6130,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4274,29 +6146,27 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case COLUMNFAMILIES: if (field.type == TType.LIST) { { TList _list22 = iprot.readListBegin(); this.columnFamilies = new ArrayList(_list22.size); for (int _i23 = 0; _i23 < _list22.size; ++_i23) { - ColumnDescriptor _elem24 = new ColumnDescriptor(); + ColumnDescriptor _elem24; _elem24 = new ColumnDescriptor(); _elem24.read(iprot); this.columnFamilies.add(_elem24); } iprot.readListEnd(); } - this.__isset.columnFamilies = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4308,25 +6178,23 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("createTable_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.columnFamilies != null) { - field.name = "columnFamilies"; - field.type = TType.LIST; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FAMILIES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.columnFamilies.size())); for (ColumnDescriptor _iter25 : this.columnFamilies) { @@ -4340,28 +6208,65 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("createTable_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",columnFamilies:"); - sb.append(this.columnFamilies); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("columnFamilies:"); + if (this.columnFamilies == null) { + sb.append("null"); + } else { + sb.append(this.columnFamilies); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class createTable_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; - public AlreadyExists exist; + public static class createTable_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("createTable_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); + private static final TField EXIST_FIELD_DESC = new TField("exist", TType.STRUCT, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; - public boolean exist = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + public AlreadyExists exist; + public static final int EXIST = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(EXIST, new FieldMetaData("exist", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(createTable_result.class, metaDataMap); } public createTable_result() { @@ -4374,13 +6279,161 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; this.exist = exist; - this.__isset.exist = true; } + /** + * Performs a deep copy on other. + */ + public createTable_result(createTable_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + if (other.isSetExist()) { + this.exist = new AlreadyExists(other.exist); + } + } + + @Override + public createTable_result clone() { + return new createTable_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public AlreadyExists getExist() { + return this.exist; + } + + public void setExist(AlreadyExists exist) { + this.exist = exist; + } + + public void unsetExist() { + this.exist = null; + } + + // Returns true if field exist is set (has been asigned a value) and false otherwise + public boolean isSetExist() { + return this.exist != null; + } + + public void setExistIsSet(boolean value) { + if (!value) { + this.exist = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + case EXIST: + if (value == null) { + unsetExist(); + } else { + setExist((AlreadyExists)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + case EXIST: + return getExist(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + case EXIST: + return isSetExist(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4393,8 +6446,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -4402,8 +6455,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -4411,8 +6464,8 @@ public class Hbase { return false; } - boolean this_present_exist = true && (this.exist != null); - boolean that_present_exist = true && (that.exist != null); + boolean this_present_exist = true && this.isSetExist(); + boolean that_present_exist = true && that.isSetExist(); if (this_present_exist || that_present_exist) { if (!(this_present_exist && that_present_exist)) return false; @@ -4423,6 +6476,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4438,29 +6492,26 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case EXIST: if (field.type == TType.STRUCT) { this.exist = new AlreadyExists(); this.exist.read(iprot); - this.__isset.exist = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4472,65 +6523,89 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("createTable_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.exist) { - if (this.exist != null) { - field.name = "exist"; - field.type = TType.STRUCT; - field.id = 3; - oprot.writeFieldBegin(field); - this.exist.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetExist()) { + oprot.writeFieldBegin(EXIST_FIELD_DESC); + this.exist.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("createTable_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); - sb.append(",exist:"); - sb.append(this.exist.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; + if (!first) sb.append(", "); + sb.append("exist:"); + if (this.exist == null) { + sb.append("null"); + } else { + sb.append(this.exist); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class deleteTable_args implements TBase, java.io.Serializable { - public byte[] tableName; + public static class deleteTable_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteTable_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; + public byte[] tableName; + public static final int TABLENAME = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteTable_args.class, metaDataMap); } public deleteTable_args() { @@ -4541,9 +6616,81 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; } + /** + * Performs a deep copy on other. + */ + public deleteTable_args(deleteTable_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + } + + @Override + public deleteTable_args clone() { + return new deleteTable_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4556,8 +6703,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -4568,6 +6715,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4583,10 +6731,9 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4598,17 +6745,18 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteTable_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } @@ -4616,40 +6764,132 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteTable_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class deleteTable_result implements TBase, java.io.Serializable { - public IOError io; - public NotFound nf; + public static class deleteTable_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteTable_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean nf = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteTable_result.class, metaDataMap); } public deleteTable_result() { } public deleteTable_result( - IOError io, - NotFound nf) + IOError io) { this(); this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public deleteTable_result(deleteTable_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public deleteTable_result clone() { + return new deleteTable_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4662,8 +6902,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -4671,18 +6911,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -4698,20 +6930,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4723,58 +6945,75 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteTable_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteTable_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class get_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public byte[] column; + public static class get_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("get_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public byte[] column; + public static final int COLUMN = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(get_args.class, metaDataMap); } public get_args() { @@ -4787,13 +7026,161 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; } + /** + * Performs a deep copy on other. + */ + public get_args(get_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + } + + @Override + public get_args clone() { + return new get_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4806,8 +7193,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -4815,8 +7202,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -4824,8 +7211,8 @@ public class Hbase { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -4836,6 +7223,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -4851,26 +7239,23 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -4882,33 +7267,28 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("get_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } @@ -4916,49 +7296,214 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("get_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class get_result implements TBase, java.io.Serializable { - public TCell success; - public IOError io; - public NotFound nf; + public static class get_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("get_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TCell.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(get_result.class, metaDataMap); } public get_result() { } public get_result( - TCell success, - IOError io, - NotFound nf) + List success, + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public get_result(get_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TCell other_element : other.success) { + __this__success.add(new TCell(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public get_result clone() { + return new get_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TCell elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -4971,8 +7516,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -4980,8 +7525,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -4989,18 +7534,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -5016,29 +7553,28 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TCell(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list26 = iprot.readListBegin(); + this.success = new ArrayList(_list26.size); + for (int _i27 = 0; _i27 < _list26.size; ++_i27) + { + TCell _elem28; + _elem28 = new TCell(); + _elem28.read(iprot); + this.success.add(_elem28); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -5050,73 +7586,101 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("get_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TCell _iter29 : this.success) { + _iter29.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("get_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getVer_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public byte[] column; - public int numVersions; + public static class getVer_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getVer_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); + private static final TField NUM_VERSIONS_FIELD_DESC = new TField("numVersions", TType.I32, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public byte[] column; + public static final int COLUMN = 3; + public int numVersions; + public static final int NUMVERSIONS = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean numVersions = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(NUMVERSIONS, new FieldMetaData("numVersions", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getVer_args.class, metaDataMap); + } + public getVer_args() { } @@ -5128,15 +7692,200 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; this.numVersions = numVersions; this.__isset.numVersions = true; } + /** + * Performs a deep copy on other. + */ + public getVer_args(getVer_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + __isset.numVersions = other.__isset.numVersions; + this.numVersions = other.numVersions; + } + + @Override + public getVer_args clone() { + return new getVer_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public int getNumVersions() { + return this.numVersions; + } + + public void setNumVersions(int numVersions) { + this.numVersions = numVersions; + this.__isset.numVersions = true; + } + + public void unsetNumVersions() { + this.__isset.numVersions = false; + } + + // Returns true if field numVersions is set (has been asigned a value) and false otherwise + public boolean isSetNumVersions() { + return this.__isset.numVersions; + } + + public void setNumVersionsIsSet(boolean value) { + this.__isset.numVersions = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + case NUMVERSIONS: + if (value == null) { + unsetNumVersions(); + } else { + setNumVersions((Integer)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + case NUMVERSIONS: + return new Integer(getNumVersions()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + case NUMVERSIONS: + return isSetNumVersions(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -5149,8 +7898,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -5158,8 +7907,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -5167,8 +7916,8 @@ public class Hbase { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -5188,6 +7937,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -5203,31 +7953,28 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case NUMVERSIONS: if (field.type == TType.I32) { this.numVersions = iprot.readI32(); this.__isset.numVersions = true; @@ -5242,72 +7989,105 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getVer_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } - field.name = "numVersions"; - field.type = TType.I32; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(NUM_VERSIONS_FIELD_DESC); oprot.writeI32(this.numVersions); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getVer_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); - sb.append(",numVersions:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; + if (!first) sb.append(", "); + sb.append("numVersions:"); sb.append(this.numVersions); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getVer_result implements TBase, java.io.Serializable { - public List success; - public IOError io; - public NotFound nf; + public static class getVer_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getVer_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TCell.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getVer_result.class, metaDataMap); } public getVer_result() { @@ -5315,18 +8095,144 @@ public class Hbase { public getVer_result( List success, - IOError io, - NotFound nf) + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getVer_result(getVer_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TCell other_element : other.success) { + __this__success.add(new TCell(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getVer_result clone() { + return new getVer_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TCell elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -5339,8 +8245,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -5348,8 +8254,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -5357,18 +8263,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -5384,39 +8282,28 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.LIST) { { - TList _list26 = iprot.readListBegin(); - this.success = new ArrayList(_list26.size); - for (int _i27 = 0; _i27 < _list26.size; ++_i27) + TList _list30 = iprot.readListBegin(); + this.success = new ArrayList(_list30.size); + for (int _i31 = 0; _i31 < _list30.size; ++_i31) { - TCell _elem28 = new TCell(); - _elem28 = new TCell(); - _elem28.read(iprot); - this.success.add(_elem28); + TCell _elem32; + _elem32 = new TCell(); + _elem32.read(iprot); + this.success.add(_elem32); } iprot.readListEnd(); } - this.__isset.success = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -5428,81 +8315,107 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getVer_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.LIST; - field.id = 0; - oprot.writeFieldBegin(field); - { - oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (TCell _iter29 : this.success) { - _iter29.write(oprot); - } - oprot.writeListEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TCell _iter33 : this.success) { + _iter33.write(oprot); } - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getVer_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getVerTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public byte[] column; - public long timestamp; - public int numVersions; + public static class getVerTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getVerTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)4); + private static final TField NUM_VERSIONS_FIELD_DESC = new TField("numVersions", TType.I32, (short)5); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public byte[] column; + public static final int COLUMN = 3; + public long timestamp; + public static final int TIMESTAMP = 4; + public int numVersions; + public static final int NUMVERSIONS = 5; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; public boolean numVersions = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + put(NUMVERSIONS, new FieldMetaData("numVersions", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getVerTs_args.class, metaDataMap); + } + public getVerTs_args() { } @@ -5515,17 +8428,239 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; this.timestamp = timestamp; this.__isset.timestamp = true; this.numVersions = numVersions; this.__isset.numVersions = true; } + /** + * Performs a deep copy on other. + */ + public getVerTs_args(getVerTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + __isset.numVersions = other.__isset.numVersions; + this.numVersions = other.numVersions; + } + + @Override + public getVerTs_args clone() { + return new getVerTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public int getNumVersions() { + return this.numVersions; + } + + public void setNumVersions(int numVersions) { + this.numVersions = numVersions; + this.__isset.numVersions = true; + } + + public void unsetNumVersions() { + this.__isset.numVersions = false; + } + + // Returns true if field numVersions is set (has been asigned a value) and false otherwise + public boolean isSetNumVersions() { + return this.__isset.numVersions; + } + + public void setNumVersionsIsSet(boolean value) { + this.__isset.numVersions = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + case NUMVERSIONS: + if (value == null) { + unsetNumVersions(); + } else { + setNumVersions((Integer)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + case NUMVERSIONS: + return new Integer(getNumVersions()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + case TIMESTAMP: + return isSetTimestamp(); + case NUMVERSIONS: + return isSetNumVersions(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -5538,8 +8673,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -5547,8 +8682,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -5556,8 +8691,8 @@ public class Hbase { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -5586,6 +8721,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -5601,31 +8737,28 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -5633,7 +8766,7 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 5: + case NUMVERSIONS: if (field.type == TType.I32) { this.numVersions = iprot.readI32(); this.__isset.numVersions = true; @@ -5648,80 +8781,112 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getVerTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); - field.name = "numVersions"; - field.type = TType.I32; - field.id = 5; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(NUM_VERSIONS_FIELD_DESC); oprot.writeI32(this.numVersions); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getVerTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); - sb.append(",numVersions:"); + first = false; + if (!first) sb.append(", "); + sb.append("numVersions:"); sb.append(this.numVersions); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getVerTs_result implements TBase, java.io.Serializable { - public List success; - public IOError io; - public NotFound nf; + public static class getVerTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getVerTs_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TCell.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getVerTs_result.class, metaDataMap); } public getVerTs_result() { @@ -5729,18 +8894,144 @@ public class Hbase { public getVerTs_result( List success, - IOError io, - NotFound nf) + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getVerTs_result(getVerTs_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TCell other_element : other.success) { + __this__success.add(new TCell(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getVerTs_result clone() { + return new getVerTs_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TCell elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -5753,8 +9044,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -5762,8 +9053,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -5771,18 +9062,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -5798,39 +9081,28 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.LIST) { { - TList _list30 = iprot.readListBegin(); - this.success = new ArrayList(_list30.size); - for (int _i31 = 0; _i31 < _list30.size; ++_i31) + TList _list34 = iprot.readListBegin(); + this.success = new ArrayList(_list34.size); + for (int _i35 = 0; _i35 < _list34.size; ++_i35) { - TCell _elem32 = new TCell(); - _elem32 = new TCell(); - _elem32.read(iprot); - this.success.add(_elem32); + TCell _elem36; + _elem36 = new TCell(); + _elem36.read(iprot); + this.success.add(_elem36); } iprot.readListEnd(); } - this.__isset.success = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -5842,73 +9114,88 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getVerTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.LIST; - field.id = 0; - oprot.writeFieldBegin(field); - { - oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); - for (TCell _iter33 : this.success) { - _iter33.write(oprot); - } - oprot.writeListEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TCell _iter37 : this.success) { + _iter37.write(oprot); } - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getVerTs_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getRow_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; + public static class getRow_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRow_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRow_args.class, metaDataMap); } public getRow_args() { @@ -5920,11 +9207,121 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; } + /** + * Performs a deep copy on other. + */ + public getRow_args(getRow_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + } + + @Override + public getRow_args clone() { + return new getRow_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -5937,8 +9334,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -5946,8 +9343,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -5958,6 +9355,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -5973,18 +9371,16 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -5996,25 +9392,23 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRow_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } @@ -6022,47 +9416,206 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRow_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getRow_result implements TBase, java.io.Serializable { - public TRowResult success; - public IOError io; - public NotFound nf; + public static class getRow_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRow_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRowResult.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRow_result.class, metaDataMap); } public getRow_result() { } public getRow_result( - TRowResult success, - IOError io, - NotFound nf) + List success, + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getRow_result(getRow_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRowResult other_element : other.success) { + __this__success.add(new TRowResult(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getRow_result clone() { + return new getRow_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRowResult elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6075,8 +9628,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -6084,8 +9637,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -6093,18 +9646,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -6120,29 +9665,28 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TRowResult(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list38 = iprot.readListBegin(); + this.success = new ArrayList(_list38.size); + for (int _i39 = 0; _i39 < _list38.size; ++_i39) + { + TRowResult _elem40; + _elem40 = new TRowResult(); + _elem40.read(iprot); + this.success.add(_elem40); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -6154,69 +9698,94 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRow_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRowResult _iter41 : this.success) { + _iter41.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRow_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getRowWithColumns_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public List columns; + public static class getRowWithColumns_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowWithColumns_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public List columns; + public static final int COLUMNS = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowWithColumns_args.class, metaDataMap); } public getRowWithColumns_args() { @@ -6229,13 +9798,180 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.columns = columns; - this.__isset.columns = true; } + /** + * Performs a deep copy on other. + */ + public getRowWithColumns_args(getRowWithColumns_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + } + + @Override + public getRowWithColumns_args clone() { + return new getRowWithColumns_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMNS: + return getColumns(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMNS: + return isSetColumns(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6248,8 +9984,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -6257,8 +9993,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -6266,8 +10002,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -6278,6 +10014,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -6293,36 +10030,33 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list34 = iprot.readListBegin(); - this.columns = new ArrayList(_list34.size); - for (int _i35 = 0; _i35 < _list34.size; ++_i35) + TList _list42 = iprot.readListBegin(); + this.columns = new ArrayList(_list42.size); + for (int _i43 = 0; _i43 < _list42.size; ++_i43) { - byte[] _elem36 = null; - _elem36 = iprot.readBinary(); - this.columns.add(_elem36); + byte[] _elem44; + _elem44 = iprot.readBinary(); + this.columns.add(_elem44); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -6334,37 +10068,32 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowWithColumns_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter37 : this.columns) { - oprot.writeBinary(_iter37); + for (byte[] _iter45 : this.columns) { + oprot.writeBinary(_iter45); } oprot.writeListEnd(); } @@ -6374,49 +10103,214 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowWithColumns_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",columns:"); - sb.append(this.columns); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getRowWithColumns_result implements TBase, java.io.Serializable { - public TRowResult success; - public IOError io; - public NotFound nf; + public static class getRowWithColumns_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowWithColumns_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRowResult.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowWithColumns_result.class, metaDataMap); } public getRowWithColumns_result() { } public getRowWithColumns_result( - TRowResult success, - IOError io, - NotFound nf) + List success, + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getRowWithColumns_result(getRowWithColumns_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRowResult other_element : other.success) { + __this__success.add(new TRowResult(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getRowWithColumns_result clone() { + return new getRowWithColumns_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRowResult elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6429,8 +10323,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -6438,8 +10332,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -6447,18 +10341,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -6474,29 +10360,28 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TRowResult(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list46 = iprot.readListBegin(); + this.success = new ArrayList(_list46.size); + for (int _i47 = 0; _i47 < _list46.size; ++_i47) + { + TRowResult _elem48; + _elem48 = new TRowResult(); + _elem48.read(iprot); + this.success.add(_elem48); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -6508,71 +10393,96 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowWithColumns_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRowResult _iter49 : this.success) { + _iter49.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowWithColumns_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getRowTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public long timestamp; + public static class getRowTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public long timestamp; + public static final int TIMESTAMP = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowTs_args.class, metaDataMap); + } + public getRowTs_args() { } @@ -6583,13 +10493,160 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public getRowTs_args(getRowTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public getRowTs_args clone() { + return new getRowTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6602,8 +10659,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -6611,8 +10668,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -6632,6 +10689,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -6647,23 +10705,21 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -6678,81 +10734,237 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getRowTs_result implements TBase, java.io.Serializable { - public TRowResult success; - public IOError io; - public NotFound nf; + public static class getRowTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowTs_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRowResult.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowTs_result.class, metaDataMap); } public getRowTs_result() { } public getRowTs_result( - TRowResult success, - IOError io, - NotFound nf) + List success, + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getRowTs_result(getRowTs_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRowResult other_element : other.success) { + __this__success.add(new TRowResult(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getRowTs_result clone() { + return new getRowTs_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRowResult elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6765,8 +10977,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -6774,8 +10986,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -6783,18 +10995,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -6810,29 +11014,28 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TRowResult(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list50 = iprot.readListBegin(); + this.success = new ArrayList(_list50.size); + for (int _i51 = 0; _i51 < _list50.size; ++_i51) + { + TRowResult _elem52; + _elem52 = new TRowResult(); + _elem52.read(iprot); + this.success.add(_elem52); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -6844,73 +11047,102 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRowResult _iter53 : this.success) { + _iter53.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowTs_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class getRowWithColumnsTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public List columns; - public long timestamp; + public static class getRowWithColumnsTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowWithColumnsTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)3); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public List columns; + public static final int COLUMNS = 3; + public long timestamp; + public static final int TIMESTAMP = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowWithColumnsTs_args.class, metaDataMap); + } + public getRowWithColumnsTs_args() { } @@ -6922,15 +11154,219 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.columns = columns; - this.__isset.columns = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public getRowWithColumnsTs_args(getRowWithColumnsTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public getRowWithColumnsTs_args clone() { + return new getRowWithColumnsTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMNS: + return getColumns(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMNS: + return isSetColumns(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -6943,8 +11379,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -6952,8 +11388,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -6961,8 +11397,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -6982,6 +11418,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -6997,41 +11434,38 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list38 = iprot.readListBegin(); - this.columns = new ArrayList(_list38.size); - for (int _i39 = 0; _i39 < _list38.size; ++_i39) + TList _list54 = iprot.readListBegin(); + this.columns = new ArrayList(_list54.size); + for (int _i55 = 0; _i55 < _list54.size; ++_i55) { - byte[] _elem40 = null; - _elem40 = iprot.readBinary(); - this.columns.add(_elem40); + byte[] _elem56; + _elem56 = iprot.readBinary(); + this.columns.add(_elem56); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -7046,97 +11480,256 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowWithColumnsTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter41 : this.columns) { - oprot.writeBinary(_iter41); + for (byte[] _iter57 : this.columns) { + oprot.writeBinary(_iter57); } oprot.writeListEnd(); } oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowWithColumnsTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",columns:"); - sb.append(this.columns); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class getRowWithColumnsTs_result implements TBase, java.io.Serializable { - public TRowResult success; - public IOError io; - public NotFound nf; + public static class getRowWithColumnsTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("getRowWithColumnsTs_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRowResult.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(getRowWithColumnsTs_result.class, metaDataMap); } public getRowWithColumnsTs_result() { } public getRowWithColumnsTs_result( - TRowResult success, - IOError io, - NotFound nf) + List success, + IOError io) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public getRowWithColumnsTs_result(getRowWithColumnsTs_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRowResult other_element : other.success) { + __this__success.add(new TRowResult(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public getRowWithColumnsTs_result clone() { + return new getRowWithColumnsTs_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRowResult elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7149,8 +11742,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -7158,8 +11751,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -7167,18 +11760,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -7194,29 +11779,28 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TRowResult(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list58 = iprot.readListBegin(); + this.success = new ArrayList(_list58.size); + for (int _i59 = 0; _i59 < _list58.size; ++_i59) + { + TRowResult _elem60; + _elem60 = new TRowResult(); + _elem60.read(iprot); + this.success.add(_elem60); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 2: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -7228,69 +11812,94 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("getRowWithColumnsTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRowResult _iter61 : this.success) { + _iter61.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("getRowWithColumnsTs_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class mutateRow_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public List mutations; + public static class mutateRow_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRow_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField MUTATIONS_FIELD_DESC = new TField("mutations", TType.LIST, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean mutations = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public List mutations; + public static final int MUTATIONS = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(MUTATIONS, new FieldMetaData("mutations", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, Mutation.class)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRow_args.class, metaDataMap); } public mutateRow_args() { @@ -7303,13 +11912,180 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.mutations = mutations; - this.__isset.mutations = true; } + /** + * Performs a deep copy on other. + */ + public mutateRow_args(mutateRow_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetMutations()) { + List __this__mutations = new ArrayList(); + for (Mutation other_element : other.mutations) { + __this__mutations.add(new Mutation(other_element)); + } + this.mutations = __this__mutations; + } + } + + @Override + public mutateRow_args clone() { + return new mutateRow_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getMutationsSize() { + return (this.mutations == null) ? 0 : this.mutations.size(); + } + + public java.util.Iterator getMutationsIterator() { + return (this.mutations == null) ? null : this.mutations.iterator(); + } + + public void addToMutations(Mutation elem) { + if (this.mutations == null) { + this.mutations = new ArrayList(); + } + this.mutations.add(elem); + } + + public List getMutations() { + return this.mutations; + } + + public void setMutations(List mutations) { + this.mutations = mutations; + } + + public void unsetMutations() { + this.mutations = null; + } + + // Returns true if field mutations is set (has been asigned a value) and false otherwise + public boolean isSetMutations() { + return this.mutations != null; + } + + public void setMutationsIsSet(boolean value) { + if (!value) { + this.mutations = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case MUTATIONS: + if (value == null) { + unsetMutations(); + } else { + setMutations((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case MUTATIONS: + return getMutations(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case MUTATIONS: + return isSetMutations(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7322,8 +12098,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -7331,8 +12107,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -7340,8 +12116,8 @@ public class Hbase { return false; } - boolean this_present_mutations = true && (this.mutations != null); - boolean that_present_mutations = true && (that.mutations != null); + boolean this_present_mutations = true && this.isSetMutations(); + boolean that_present_mutations = true && that.isSetMutations(); if (this_present_mutations || that_present_mutations) { if (!(this_present_mutations && that_present_mutations)) return false; @@ -7352,6 +12128,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -7367,37 +12144,34 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case MUTATIONS: if (field.type == TType.LIST) { { - TList _list42 = iprot.readListBegin(); - this.mutations = new ArrayList(_list42.size); - for (int _i43 = 0; _i43 < _list42.size; ++_i43) + TList _list62 = iprot.readListBegin(); + this.mutations = new ArrayList(_list62.size); + for (int _i63 = 0; _i63 < _list62.size; ++_i63) { - Mutation _elem44 = new Mutation(); - _elem44 = new Mutation(); - _elem44.read(iprot); - this.mutations.add(_elem44); + Mutation _elem64; + _elem64 = new Mutation(); + _elem64.read(iprot); + this.mutations.add(_elem64); } iprot.readListEnd(); } - this.__isset.mutations = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -7409,37 +12183,32 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRow_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.mutations != null) { - field.name = "mutations"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MUTATIONS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.mutations.size())); - for (Mutation _iter45 : this.mutations) { - _iter45.write(oprot); + for (Mutation _iter65 : this.mutations) { + _iter65.write(oprot); } oprot.writeListEnd(); } @@ -7449,28 +12218,68 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRow_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",mutations:"); - sb.append(this.mutations); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("mutations:"); + if (this.mutations == null) { + sb.append("null"); + } else { + sb.append(this.mutations); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class mutateRow_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; + public static class mutateRow_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRow_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRow_result.class, metaDataMap); } public mutateRow_result() { @@ -7482,11 +12291,121 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public mutateRow_result(mutateRow_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public mutateRow_result clone() { + return new mutateRow_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7499,8 +12418,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -7508,8 +12427,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -7520,6 +12439,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -7535,20 +12455,18 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -7560,62 +12478,96 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRow_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRow_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class mutateRowTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public List mutations; - public long timestamp; + public static class mutateRowTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRowTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField MUTATIONS_FIELD_DESC = new TField("mutations", TType.LIST, (short)3); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean mutations = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public List mutations; + public static final int MUTATIONS = 3; + public long timestamp; + public static final int TIMESTAMP = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(MUTATIONS, new FieldMetaData("mutations", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, Mutation.class)))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRowTs_args.class, metaDataMap); + } + public mutateRowTs_args() { } @@ -7627,15 +12579,219 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.mutations = mutations; - this.__isset.mutations = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public mutateRowTs_args(mutateRowTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetMutations()) { + List __this__mutations = new ArrayList(); + for (Mutation other_element : other.mutations) { + __this__mutations.add(new Mutation(other_element)); + } + this.mutations = __this__mutations; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public mutateRowTs_args clone() { + return new mutateRowTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getMutationsSize() { + return (this.mutations == null) ? 0 : this.mutations.size(); + } + + public java.util.Iterator getMutationsIterator() { + return (this.mutations == null) ? null : this.mutations.iterator(); + } + + public void addToMutations(Mutation elem) { + if (this.mutations == null) { + this.mutations = new ArrayList(); + } + this.mutations.add(elem); + } + + public List getMutations() { + return this.mutations; + } + + public void setMutations(List mutations) { + this.mutations = mutations; + } + + public void unsetMutations() { + this.mutations = null; + } + + // Returns true if field mutations is set (has been asigned a value) and false otherwise + public boolean isSetMutations() { + return this.mutations != null; + } + + public void setMutationsIsSet(boolean value) { + if (!value) { + this.mutations = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case MUTATIONS: + if (value == null) { + unsetMutations(); + } else { + setMutations((List)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case MUTATIONS: + return getMutations(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case MUTATIONS: + return isSetMutations(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7648,8 +12804,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -7657,8 +12813,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -7666,8 +12822,8 @@ public class Hbase { return false; } - boolean this_present_mutations = true && (this.mutations != null); - boolean that_present_mutations = true && (that.mutations != null); + boolean this_present_mutations = true && this.isSetMutations(); + boolean that_present_mutations = true && that.isSetMutations(); if (this_present_mutations || that_present_mutations) { if (!(this_present_mutations && that_present_mutations)) return false; @@ -7687,6 +12843,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -7702,42 +12859,39 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case MUTATIONS: if (field.type == TType.LIST) { { - TList _list46 = iprot.readListBegin(); - this.mutations = new ArrayList(_list46.size); - for (int _i47 = 0; _i47 < _list46.size; ++_i47) + TList _list66 = iprot.readListBegin(); + this.mutations = new ArrayList(_list66.size); + for (int _i67 = 0; _i67 < _list66.size; ++_i67) { - Mutation _elem48 = new Mutation(); - _elem48 = new Mutation(); - _elem48.read(iprot); - this.mutations.add(_elem48); + Mutation _elem68; + _elem68 = new Mutation(); + _elem68.read(iprot); + this.mutations.add(_elem68); } iprot.readListEnd(); } - this.__isset.mutations = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -7752,76 +12906,110 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRowTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.mutations != null) { - field.name = "mutations"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MUTATIONS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.mutations.size())); - for (Mutation _iter49 : this.mutations) { - _iter49.write(oprot); + for (Mutation _iter69 : this.mutations) { + _iter69.write(oprot); } oprot.writeListEnd(); } oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRowTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",mutations:"); - sb.append(this.mutations); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("mutations:"); + if (this.mutations == null) { + sb.append("null"); + } else { + sb.append(this.mutations); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class mutateRowTs_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; + public static class mutateRowTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRowTs_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRowTs_result.class, metaDataMap); } public mutateRowTs_result() { @@ -7833,11 +13021,121 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public mutateRowTs_result(mutateRowTs_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public mutateRowTs_result clone() { + return new mutateRowTs_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7850,8 +13148,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -7859,8 +13157,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -7871,6 +13169,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -7886,20 +13185,18 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -7911,56 +13208,83 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRowTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRowTs_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class mutateRows_args implements TBase, java.io.Serializable { - public byte[] tableName; - public List rowBatches; + public static class mutateRows_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRows_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_BATCHES_FIELD_DESC = new TField("rowBatches", TType.LIST, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean rowBatches = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public List rowBatches; + public static final int ROWBATCHES = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROWBATCHES, new FieldMetaData("rowBatches", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, BatchMutation.class)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRows_args.class, metaDataMap); } public mutateRows_args() { @@ -7972,11 +13296,140 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.rowBatches = rowBatches; - this.__isset.rowBatches = true; } + /** + * Performs a deep copy on other. + */ + public mutateRows_args(mutateRows_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRowBatches()) { + List __this__rowBatches = new ArrayList(); + for (BatchMutation other_element : other.rowBatches) { + __this__rowBatches.add(new BatchMutation(other_element)); + } + this.rowBatches = __this__rowBatches; + } + } + + @Override + public mutateRows_args clone() { + return new mutateRows_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public int getRowBatchesSize() { + return (this.rowBatches == null) ? 0 : this.rowBatches.size(); + } + + public java.util.Iterator getRowBatchesIterator() { + return (this.rowBatches == null) ? null : this.rowBatches.iterator(); + } + + public void addToRowBatches(BatchMutation elem) { + if (this.rowBatches == null) { + this.rowBatches = new ArrayList(); + } + this.rowBatches.add(elem); + } + + public List getRowBatches() { + return this.rowBatches; + } + + public void setRowBatches(List rowBatches) { + this.rowBatches = rowBatches; + } + + public void unsetRowBatches() { + this.rowBatches = null; + } + + // Returns true if field rowBatches is set (has been asigned a value) and false otherwise + public boolean isSetRowBatches() { + return this.rowBatches != null; + } + + public void setRowBatchesIsSet(boolean value) { + if (!value) { + this.rowBatches = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROWBATCHES: + if (value == null) { + unsetRowBatches(); + } else { + setRowBatches((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROWBATCHES: + return getRowBatches(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROWBATCHES: + return isSetRowBatches(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -7989,8 +13442,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -7998,8 +13451,8 @@ public class Hbase { return false; } - boolean this_present_rowBatches = true && (this.rowBatches != null); - boolean that_present_rowBatches = true && (that.rowBatches != null); + boolean this_present_rowBatches = true && this.isSetRowBatches(); + boolean that_present_rowBatches = true && that.isSetRowBatches(); if (this_present_rowBatches || that_present_rowBatches) { if (!(this_present_rowBatches && that_present_rowBatches)) return false; @@ -8010,6 +13463,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8025,29 +13479,27 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROWBATCHES: if (field.type == TType.LIST) { { - TList _list50 = iprot.readListBegin(); - this.rowBatches = new ArrayList(_list50.size); - for (int _i51 = 0; _i51 < _list50.size; ++_i51) + TList _list70 = iprot.readListBegin(); + this.rowBatches = new ArrayList(_list70.size); + for (int _i71 = 0; _i71 < _list70.size; ++_i71) { - BatchMutation _elem52 = new BatchMutation(); - _elem52 = new BatchMutation(); - _elem52.read(iprot); - this.rowBatches.add(_elem52); + BatchMutation _elem72; + _elem72 = new BatchMutation(); + _elem72.read(iprot); + this.rowBatches.add(_elem72); } iprot.readListEnd(); } - this.__isset.rowBatches = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -8059,29 +13511,27 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRows_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.rowBatches != null) { - field.name = "rowBatches"; - field.type = TType.LIST; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_BATCHES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.rowBatches.size())); - for (BatchMutation _iter53 : this.rowBatches) { - _iter53.write(oprot); + for (BatchMutation _iter73 : this.rowBatches) { + _iter73.write(oprot); } oprot.writeListEnd(); } @@ -8091,26 +13541,60 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRows_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",rowBatches:"); - sb.append(this.rowBatches); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("rowBatches:"); + if (this.rowBatches == null) { + sb.append("null"); + } else { + sb.append(this.rowBatches); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class mutateRows_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; + public static class mutateRows_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRows_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRows_result.class, metaDataMap); } public mutateRows_result() { @@ -8122,11 +13606,121 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public mutateRows_result(mutateRows_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public mutateRows_result clone() { + return new mutateRows_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8139,8 +13733,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -8148,8 +13742,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -8160,6 +13754,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8175,20 +13770,18 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -8200,60 +13793,91 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRows_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRows_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class mutateRowsTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public List rowBatches; - public long timestamp; + public static class mutateRowsTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRowsTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_BATCHES_FIELD_DESC = new TField("rowBatches", TType.LIST, (short)2); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean rowBatches = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public List rowBatches; + public static final int ROWBATCHES = 2; + public long timestamp; + public static final int TIMESTAMP = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROWBATCHES, new FieldMetaData("rowBatches", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, BatchMutation.class)))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRowsTs_args.class, metaDataMap); + } + public mutateRowsTs_args() { } @@ -8264,13 +13888,179 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.rowBatches = rowBatches; - this.__isset.rowBatches = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public mutateRowsTs_args(mutateRowsTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRowBatches()) { + List __this__rowBatches = new ArrayList(); + for (BatchMutation other_element : other.rowBatches) { + __this__rowBatches.add(new BatchMutation(other_element)); + } + this.rowBatches = __this__rowBatches; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public mutateRowsTs_args clone() { + return new mutateRowsTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public int getRowBatchesSize() { + return (this.rowBatches == null) ? 0 : this.rowBatches.size(); + } + + public java.util.Iterator getRowBatchesIterator() { + return (this.rowBatches == null) ? null : this.rowBatches.iterator(); + } + + public void addToRowBatches(BatchMutation elem) { + if (this.rowBatches == null) { + this.rowBatches = new ArrayList(); + } + this.rowBatches.add(elem); + } + + public List getRowBatches() { + return this.rowBatches; + } + + public void setRowBatches(List rowBatches) { + this.rowBatches = rowBatches; + } + + public void unsetRowBatches() { + this.rowBatches = null; + } + + // Returns true if field rowBatches is set (has been asigned a value) and false otherwise + public boolean isSetRowBatches() { + return this.rowBatches != null; + } + + public void setRowBatchesIsSet(boolean value) { + if (!value) { + this.rowBatches = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROWBATCHES: + if (value == null) { + unsetRowBatches(); + } else { + setRowBatches((List)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROWBATCHES: + return getRowBatches(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROWBATCHES: + return isSetRowBatches(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8283,8 +14073,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -8292,8 +14082,8 @@ public class Hbase { return false; } - boolean this_present_rowBatches = true && (this.rowBatches != null); - boolean that_present_rowBatches = true && (that.rowBatches != null); + boolean this_present_rowBatches = true && this.isSetRowBatches(); + boolean that_present_rowBatches = true && that.isSetRowBatches(); if (this_present_rowBatches || that_present_rowBatches) { if (!(this_present_rowBatches && that_present_rowBatches)) return false; @@ -8313,6 +14103,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8328,34 +14119,32 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROWBATCHES: if (field.type == TType.LIST) { { - TList _list54 = iprot.readListBegin(); - this.rowBatches = new ArrayList(_list54.size); - for (int _i55 = 0; _i55 < _list54.size; ++_i55) + TList _list74 = iprot.readListBegin(); + this.rowBatches = new ArrayList(_list74.size); + for (int _i75 = 0; _i75 < _list74.size; ++_i75) { - BatchMutation _elem56 = new BatchMutation(); - _elem56 = new BatchMutation(); - _elem56.read(iprot); - this.rowBatches.add(_elem56); + BatchMutation _elem76; + _elem76 = new BatchMutation(); + _elem76.read(iprot); + this.rowBatches.add(_elem76); } iprot.readListEnd(); } - this.__isset.rowBatches = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -8370,66 +14159,97 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRowsTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.rowBatches != null) { - field.name = "rowBatches"; - field.type = TType.LIST; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_BATCHES_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRUCT, this.rowBatches.size())); - for (BatchMutation _iter57 : this.rowBatches) { - _iter57.write(oprot); + for (BatchMutation _iter77 : this.rowBatches) { + _iter77.write(oprot); } oprot.writeListEnd(); } oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRowsTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",rowBatches:"); - sb.append(this.rowBatches); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("rowBatches:"); + if (this.rowBatches == null) { + sb.append("null"); + } else { + sb.append(this.rowBatches); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class mutateRowsTs_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; + public static class mutateRowsTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("mutateRowsTs_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(mutateRowsTs_result.class, metaDataMap); } public mutateRowsTs_result() { @@ -8441,11 +14261,121 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public mutateRowsTs_result(mutateRowsTs_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public mutateRowsTs_result clone() { + return new mutateRowsTs_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8458,8 +14388,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -8467,8 +14397,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -8479,6 +14409,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8494,20 +14425,18 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -8519,82 +14448,300 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("mutateRowsTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("mutateRowsTs_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class atomicIncrement_args implements TBase, java.io.Serializable { + public static class atomicIncrement_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("atomicIncrement_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); + private static final TField VALUE_FIELD_DESC = new TField("value", TType.I64, (short)4); + public byte[] tableName; + public static final int TABLENAME = 1; public byte[] row; + public static final int ROW = 2; public byte[] column; + public static final int COLUMN = 3; public long value; + public static final int VALUE = 4; - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean value = false; + } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(VALUE, new FieldMetaData("value", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(atomicIncrement_args.class, metaDataMap); } public atomicIncrement_args() { } public atomicIncrement_args( - byte[] tableName, - byte[] row, - byte[] column, - long value) + byte[] tableName, + byte[] row, + byte[] column, + long value) { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; this.value = value; this.__isset.value = true; } + /** + * Performs a deep copy on other. + */ + public atomicIncrement_args(atomicIncrement_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + __isset.value = other.__isset.value; + this.value = other.value; + } + + @Override + public atomicIncrement_args clone() { + return new atomicIncrement_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public long getValue() { + return this.value; + } + + public void setValue(long value) { + this.value = value; + this.__isset.value = true; + } + + public void unsetValue() { + this.__isset.value = false; + } + + // Returns true if field value is set (has been asigned a value) and false otherwise + public boolean isSetValue() { + return this.__isset.value; + } + + public void setValueIsSet(boolean value) { + this.__isset.value = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + case VALUE: + if (value == null) { + unsetValue(); + } else { + setValue((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + case VALUE: + return new Long(getValue()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + case VALUE: + return isSetValue(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8607,8 +14754,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -8616,8 +14763,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -8625,9 +14772,8 @@ public class Hbase { return false; } - - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -8647,6 +14793,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8657,40 +14804,37 @@ public class Hbase { while (true) { field = iprot.readFieldBegin(); - if (field.type == TType.STOP) { + if (field.type == TType.STOP) { break; } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case VALUE: if (field.type == TType.I64) { this.value = iprot.readI64(); this.__isset.value = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; @@ -8701,91 +14845,276 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("atomicIncrement_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } - field.name = "value"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(VALUE_FIELD_DESC); oprot.writeI64(this.value); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("atomicIncrement_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); - sb.append(",value:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; + if (!first) sb.append(", "); + sb.append("value:"); sb.append(this.value); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class atomicIncrement_result implements TBase, java.io.Serializable { - public long success; - public IOError io; - public IllegalArgument ia; + public static class atomicIncrement_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("atomicIncrement_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I64, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public long success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; - public boolean ia = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(atomicIncrement_result.class, metaDataMap); } public atomicIncrement_result() { } public atomicIncrement_result( - long success, - IOError io, - IllegalArgument ia) + long success, + IOError io, + IllegalArgument ia) { this(); this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public atomicIncrement_result(atomicIncrement_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public atomicIncrement_result clone() { + return new atomicIncrement_result(this); + } + + public long getSuccess() { + return this.success; + } + + public void setSuccess(long success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Long)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Long(getSuccess()); + + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8807,8 +15136,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -8816,8 +15145,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -8828,6 +15157,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -8838,34 +15168,32 @@ public class Hbase { while (true) { field = iprot.readFieldBegin(); - if (field.type == TType.STOP) { + if (field.type == TType.STOP) { break; } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.I64) { this.success = iprot.readI64(); this.__isset.success = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; - } else { + } else { TProtocolUtil.skip(iprot, field.type); } break; @@ -8876,71 +15204,95 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("atomicIncrement_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.I64; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeI64(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("atomicIncrement_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); - - + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } + public static class deleteAll_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAll_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); - - public static class deleteAll_args implements TBase, java.io.Serializable { public byte[] tableName; + public static final int TABLENAME = 1; public byte[] row; + public static final int ROW = 2; public byte[] column; + public static final int COLUMN = 3; - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAll_args.class, metaDataMap); } public deleteAll_args() { @@ -8953,13 +15305,161 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; } + /** + * Performs a deep copy on other. + */ + public deleteAll_args(deleteAll_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + } + + @Override + public deleteAll_args clone() { + return new deleteAll_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -8972,8 +15472,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -8981,8 +15481,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -8990,8 +15490,8 @@ public class Hbase { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -9002,6 +15502,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9017,26 +15518,23 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9048,33 +15546,28 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAll_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } @@ -9082,26 +15575,63 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAll_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class deleteAll_result implements TBase, java.io.Serializable { - public IOError io; + public static class deleteAll_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAll_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAll_result.class, metaDataMap); } public deleteAll_result() { @@ -9112,9 +15642,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public deleteAll_result(deleteAll_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public deleteAll_result clone() { + return new deleteAll_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9127,8 +15729,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -9139,6 +15741,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9154,11 +15757,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9170,51 +15772,83 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAll_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAll_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class deleteAllTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public byte[] column; - public long timestamp; + public static class deleteAllTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)3); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; - public boolean column = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public byte[] column; + public static final int COLUMN = 3; + public long timestamp; + public static final int TIMESTAMP = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllTs_args.class, metaDataMap); + } + public deleteAllTs_args() { } @@ -9226,15 +15860,200 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.column = column; - this.__isset.column = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllTs_args(deleteAllTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumn()) { + this.column = other.column; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public deleteAllTs_args clone() { + return new deleteAllTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case COLUMN: + return getColumn(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case COLUMN: + return isSetColumn(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9247,8 +16066,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -9256,8 +16075,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -9265,8 +16084,8 @@ public class Hbase { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -9286,6 +16105,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9301,31 +16121,28 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -9340,68 +16157,99 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",column:"); - sb.append(this.column); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class deleteAllTs_result implements TBase, java.io.Serializable { - public IOError io; + public static class deleteAllTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllTs_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllTs_result.class, metaDataMap); } public deleteAllTs_result() { @@ -9412,9 +16260,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllTs_result(deleteAllTs_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public deleteAllTs_result clone() { + return new deleteAllTs_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9427,8 +16347,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -9439,6 +16359,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9454,11 +16375,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9470,45 +16390,70 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllTs_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class deleteAllRow_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; + public static class deleteAllRow_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllRow_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllRow_args.class, metaDataMap); } public deleteAllRow_args() { @@ -9520,11 +16465,121 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllRow_args(deleteAllRow_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + } + + @Override + public deleteAllRow_args clone() { + return new deleteAllRow_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9537,8 +16592,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -9546,8 +16601,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -9558,6 +16613,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9573,18 +16629,16 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9596,25 +16650,23 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllRow_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } @@ -9622,24 +16674,55 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllRow_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class deleteAllRow_result implements TBase, java.io.Serializable { - public IOError io; + public static class deleteAllRow_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllRow_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllRow_result.class, metaDataMap); } public deleteAllRow_result() { @@ -9650,9 +16733,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllRow_result(deleteAllRow_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public deleteAllRow_result clone() { + return new deleteAllRow_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9665,8 +16820,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -9677,6 +16832,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9692,11 +16848,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9708,49 +16863,78 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllRow_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllRow_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class deleteAllRowTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] row; - public long timestamp; + public static class deleteAllRowTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllRowTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)2); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean row = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] row; + public static final int ROW = 2; + public long timestamp; + public static final int TIMESTAMP = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllRowTs_args.class, metaDataMap); + } + public deleteAllRowTs_args() { } @@ -9761,13 +16945,160 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.row = row; - this.__isset.row = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllRowTs_args(deleteAllRowTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetRow()) { + this.row = other.row; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public deleteAllRowTs_args clone() { + return new deleteAllRowTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case ROW: + return getRow(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case ROW: + return isSetRow(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9780,8 +17111,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -9789,8 +17120,8 @@ public class Hbase { return false; } - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -9810,6 +17141,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9825,23 +17157,21 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -9856,58 +17186,86 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllRowTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllRowTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",row:"); - sb.append(this.row); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("row:"); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class deleteAllRowTs_result implements TBase, java.io.Serializable { - public IOError io; + public static class deleteAllRowTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("deleteAllRowTs_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(deleteAllRowTs_result.class, metaDataMap); } public deleteAllRowTs_result() { @@ -9918,9 +17276,81 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public deleteAllRowTs_result(deleteAllRowTs_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public deleteAllRowTs_result clone() { + return new deleteAllRowTs_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -9933,8 +17363,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -9945,6 +17375,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -9960,11 +17391,10 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -9976,47 +17406,76 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("deleteAllRowTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("deleteAllRowTs_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerOpen_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] startRow; - public List columns; + public static class scannerOpen_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpen_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)2); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean startRow = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] startRow; + public static final int STARTROW = 2; + public List columns; + public static final int COLUMNS = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STARTROW, new FieldMetaData("startRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpen_args.class, metaDataMap); } public scannerOpen_args() { @@ -10029,13 +17488,180 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.startRow = startRow; - this.__isset.startRow = true; this.columns = columns; - this.__isset.columns = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpen_args(scannerOpen_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetStartRow()) { + this.startRow = other.startRow; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + } + + @Override + public scannerOpen_args clone() { + return new scannerOpen_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getStartRow() { + return this.startRow; + } + + public void setStartRow(byte[] startRow) { + this.startRow = startRow; + } + + public void unsetStartRow() { + this.startRow = null; + } + + // Returns true if field startRow is set (has been asigned a value) and false otherwise + public boolean isSetStartRow() { + return this.startRow != null; + } + + public void setStartRowIsSet(boolean value) { + if (!value) { + this.startRow = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case STARTROW: + if (value == null) { + unsetStartRow(); + } else { + setStartRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case STARTROW: + return getStartRow(); + + case COLUMNS: + return getColumns(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case STARTROW: + return isSetStartRow(); + case COLUMNS: + return isSetColumns(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10048,8 +17674,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -10057,8 +17683,8 @@ public class Hbase { return false; } - boolean this_present_startRow = true && (this.startRow != null); - boolean that_present_startRow = true && (that.startRow != null); + boolean this_present_startRow = true && this.isSetStartRow(); + boolean that_present_startRow = true && that.isSetStartRow(); if (this_present_startRow || that_present_startRow) { if (!(this_present_startRow && that_present_startRow)) return false; @@ -10066,8 +17692,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -10078,6 +17704,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10093,36 +17720,33 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case STARTROW: if (field.type == TType.STRING) { this.startRow = iprot.readBinary(); - this.__isset.startRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list58 = iprot.readListBegin(); - this.columns = new ArrayList(_list58.size); - for (int _i59 = 0; _i59 < _list58.size; ++_i59) + TList _list78 = iprot.readListBegin(); + this.columns = new ArrayList(_list78.size); + for (int _i79 = 0; _i79 < _list78.size; ++_i79) { - byte[] _elem60 = null; - _elem60 = iprot.readBinary(); - this.columns.add(_elem60); + byte[] _elem80; + _elem80 = iprot.readBinary(); + this.columns.add(_elem80); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -10134,37 +17758,32 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpen_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.startRow != null) { - field.name = "startRow"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(START_ROW_FIELD_DESC); oprot.writeBinary(this.startRow); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter61 : this.columns) { - oprot.writeBinary(_iter61); + for (byte[] _iter81 : this.columns) { + oprot.writeBinary(_iter81); } oprot.writeListEnd(); } @@ -10174,28 +17793,69 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpen_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",startRow:"); - sb.append(this.startRow); - sb.append(",columns:"); - sb.append(this.columns); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("startRow:"); + if (this.startRow == null) { + sb.append("null"); + } else { + sb.append(this.startRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerOpen_result implements TBase, java.io.Serializable { - public int success; - public IOError io; + public static class scannerOpen_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpen_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpen_result.class, metaDataMap); } public scannerOpen_result() { @@ -10209,9 +17869,118 @@ public class Hbase { this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpen_result(scannerOpen_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public scannerOpen_result clone() { + return new scannerOpen_result(this); + } + + public int getSuccess() { + return this.success; + } + + public void setSuccess(int success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Integer)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Integer(getSuccess()); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10233,8 +18002,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -10245,6 +18014,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10260,7 +18030,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.I32) { this.success = iprot.readI32(); this.__isset.success = true; @@ -10268,11 +18038,10 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -10284,58 +18053,89 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpen_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.I32; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeI32(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpen_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerOpenWithStop_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] startRow; - public byte[] stopRow; - public List columns; + public static class scannerOpenWithStop_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenWithStop_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)2); + private static final TField STOP_ROW_FIELD_DESC = new TField("stopRow", TType.STRING, (short)3); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean startRow = false; - public boolean stopRow = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] startRow; + public static final int STARTROW = 2; + public byte[] stopRow; + public static final int STOPROW = 3; + public List columns; + public static final int COLUMNS = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STARTROW, new FieldMetaData("startRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STOPROW, new FieldMetaData("stopRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenWithStop_args.class, metaDataMap); } public scannerOpenWithStop_args() { @@ -10349,15 +18149,220 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.startRow = startRow; - this.__isset.startRow = true; this.stopRow = stopRow; - this.__isset.stopRow = true; this.columns = columns; - this.__isset.columns = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenWithStop_args(scannerOpenWithStop_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetStartRow()) { + this.startRow = other.startRow; + } + if (other.isSetStopRow()) { + this.stopRow = other.stopRow; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + } + + @Override + public scannerOpenWithStop_args clone() { + return new scannerOpenWithStop_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getStartRow() { + return this.startRow; + } + + public void setStartRow(byte[] startRow) { + this.startRow = startRow; + } + + public void unsetStartRow() { + this.startRow = null; + } + + // Returns true if field startRow is set (has been asigned a value) and false otherwise + public boolean isSetStartRow() { + return this.startRow != null; + } + + public void setStartRowIsSet(boolean value) { + if (!value) { + this.startRow = null; + } + } + + public byte[] getStopRow() { + return this.stopRow; + } + + public void setStopRow(byte[] stopRow) { + this.stopRow = stopRow; + } + + public void unsetStopRow() { + this.stopRow = null; + } + + // Returns true if field stopRow is set (has been asigned a value) and false otherwise + public boolean isSetStopRow() { + return this.stopRow != null; + } + + public void setStopRowIsSet(boolean value) { + if (!value) { + this.stopRow = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case STARTROW: + if (value == null) { + unsetStartRow(); + } else { + setStartRow((byte[])value); + } + break; + + case STOPROW: + if (value == null) { + unsetStopRow(); + } else { + setStopRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case STARTROW: + return getStartRow(); + + case STOPROW: + return getStopRow(); + + case COLUMNS: + return getColumns(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case STARTROW: + return isSetStartRow(); + case STOPROW: + return isSetStopRow(); + case COLUMNS: + return isSetColumns(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10370,8 +18375,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -10379,8 +18384,8 @@ public class Hbase { return false; } - boolean this_present_startRow = true && (this.startRow != null); - boolean that_present_startRow = true && (that.startRow != null); + boolean this_present_startRow = true && this.isSetStartRow(); + boolean that_present_startRow = true && that.isSetStartRow(); if (this_present_startRow || that_present_startRow) { if (!(this_present_startRow && that_present_startRow)) return false; @@ -10388,8 +18393,8 @@ public class Hbase { return false; } - boolean this_present_stopRow = true && (this.stopRow != null); - boolean that_present_stopRow = true && (that.stopRow != null); + boolean this_present_stopRow = true && this.isSetStopRow(); + boolean that_present_stopRow = true && that.isSetStopRow(); if (this_present_stopRow || that_present_stopRow) { if (!(this_present_stopRow && that_present_stopRow)) return false; @@ -10397,8 +18402,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -10409,6 +18414,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10424,44 +18430,40 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case STARTROW: if (field.type == TType.STRING) { this.startRow = iprot.readBinary(); - this.__isset.startRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case STOPROW: if (field.type == TType.STRING) { this.stopRow = iprot.readBinary(); - this.__isset.stopRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list62 = iprot.readListBegin(); - this.columns = new ArrayList(_list62.size); - for (int _i63 = 0; _i63 < _list62.size; ++_i63) + TList _list82 = iprot.readListBegin(); + this.columns = new ArrayList(_list82.size); + for (int _i83 = 0; _i83 < _list82.size; ++_i83) { - byte[] _elem64 = null; - _elem64 = iprot.readBinary(); - this.columns.add(_elem64); + byte[] _elem84; + _elem84 = iprot.readBinary(); + this.columns.add(_elem84); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -10473,45 +18475,37 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenWithStop_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.startRow != null) { - field.name = "startRow"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(START_ROW_FIELD_DESC); oprot.writeBinary(this.startRow); oprot.writeFieldEnd(); } if (this.stopRow != null) { - field.name = "stopRow"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(STOP_ROW_FIELD_DESC); oprot.writeBinary(this.stopRow); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter65 : this.columns) { - oprot.writeBinary(_iter65); + for (byte[] _iter85 : this.columns) { + oprot.writeBinary(_iter85); } oprot.writeListEnd(); } @@ -10521,30 +18515,77 @@ public class Hbase { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenWithStop_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",startRow:"); - sb.append(this.startRow); - sb.append(",stopRow:"); - sb.append(this.stopRow); - sb.append(",columns:"); - sb.append(this.columns); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("startRow:"); + if (this.startRow == null) { + sb.append("null"); + } else { + sb.append(this.startRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("stopRow:"); + if (this.stopRow == null) { + sb.append("null"); + } else { + sb.append(this.stopRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerOpenWithStop_result implements TBase, java.io.Serializable { - public int success; - public IOError io; + public static class scannerOpenWithStop_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenWithStop_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenWithStop_result.class, metaDataMap); } public scannerOpenWithStop_result() { @@ -10558,9 +18599,118 @@ public class Hbase { this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenWithStop_result(scannerOpenWithStop_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public scannerOpenWithStop_result clone() { + return new scannerOpenWithStop_result(this); + } + + public int getSuccess() { + return this.success; + } + + public void setSuccess(int success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Integer)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Integer(getSuccess()); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10582,8 +18732,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -10594,6 +18744,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10609,7 +18760,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.I32) { this.success = iprot.readI32(); this.__isset.success = true; @@ -10617,11 +18768,10 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -10633,60 +18783,92 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenWithStop_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.I32; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeI32(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenWithStop_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerOpenTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] startRow; - public List columns; - public long timestamp; + public static class scannerOpenTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)2); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)3); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)4); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean startRow = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] startRow; + public static final int STARTROW = 2; + public List columns; + public static final int COLUMNS = 3; + public long timestamp; + public static final int TIMESTAMP = 4; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STARTROW, new FieldMetaData("startRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenTs_args.class, metaDataMap); + } + public scannerOpenTs_args() { } @@ -10698,15 +18880,219 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.startRow = startRow; - this.__isset.startRow = true; this.columns = columns; - this.__isset.columns = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenTs_args(scannerOpenTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetStartRow()) { + this.startRow = other.startRow; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public scannerOpenTs_args clone() { + return new scannerOpenTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getStartRow() { + return this.startRow; + } + + public void setStartRow(byte[] startRow) { + this.startRow = startRow; + } + + public void unsetStartRow() { + this.startRow = null; + } + + // Returns true if field startRow is set (has been asigned a value) and false otherwise + public boolean isSetStartRow() { + return this.startRow != null; + } + + public void setStartRowIsSet(boolean value) { + if (!value) { + this.startRow = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case STARTROW: + if (value == null) { + unsetStartRow(); + } else { + setStartRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case STARTROW: + return getStartRow(); + + case COLUMNS: + return getColumns(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case STARTROW: + return isSetStartRow(); + case COLUMNS: + return isSetColumns(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10719,8 +19105,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -10728,8 +19114,8 @@ public class Hbase { return false; } - boolean this_present_startRow = true && (this.startRow != null); - boolean that_present_startRow = true && (that.startRow != null); + boolean this_present_startRow = true && this.isSetStartRow(); + boolean that_present_startRow = true && that.isSetStartRow(); if (this_present_startRow || that_present_startRow) { if (!(this_present_startRow && that_present_startRow)) return false; @@ -10737,8 +19123,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -10758,6 +19144,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10773,41 +19160,38 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case STARTROW: if (field.type == TType.STRING) { this.startRow = iprot.readBinary(); - this.__isset.startRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list66 = iprot.readListBegin(); - this.columns = new ArrayList(_list66.size); - for (int _i67 = 0; _i67 < _list66.size; ++_i67) + TList _list86 = iprot.readListBegin(); + this.columns = new ArrayList(_list86.size); + for (int _i87 = 0; _i87 < _list86.size; ++_i87) { - byte[] _elem68 = null; - _elem68 = iprot.readBinary(); - this.columns.add(_elem68); + byte[] _elem88; + _elem88 = iprot.readBinary(); + this.columns.add(_elem88); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -10822,76 +19206,111 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.startRow != null) { - field.name = "startRow"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(START_ROW_FIELD_DESC); oprot.writeBinary(this.startRow); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter69 : this.columns) { - oprot.writeBinary(_iter69); + for (byte[] _iter89 : this.columns) { + oprot.writeBinary(_iter89); } oprot.writeListEnd(); } oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",startRow:"); - sb.append(this.startRow); - sb.append(",columns:"); - sb.append(this.columns); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("startRow:"); + if (this.startRow == null) { + sb.append("null"); + } else { + sb.append(this.startRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerOpenTs_result implements TBase, java.io.Serializable { - public int success; - public IOError io; + public static class scannerOpenTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenTs_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenTs_result.class, metaDataMap); } public scannerOpenTs_result() { @@ -10905,9 +19324,118 @@ public class Hbase { this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenTs_result(scannerOpenTs_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public scannerOpenTs_result clone() { + return new scannerOpenTs_result(this); + } + + public int getSuccess() { + return this.success; + } + + public void setSuccess(int success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Integer)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Integer(getSuccess()); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -10929,8 +19457,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -10941,6 +19469,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -10956,7 +19485,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.I32) { this.success = iprot.readI32(); this.__isset.success = true; @@ -10964,11 +19493,10 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -10980,62 +19508,97 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.I32; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeI32(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenTs_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerOpenWithStopTs_args implements TBase, java.io.Serializable { - public byte[] tableName; - public byte[] startRow; - public byte[] stopRow; - public List columns; - public long timestamp; + public static class scannerOpenWithStopTs_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenWithStopTs_args"); + private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1); + private static final TField START_ROW_FIELD_DESC = new TField("startRow", TType.STRING, (short)2); + private static final TField STOP_ROW_FIELD_DESC = new TField("stopRow", TType.STRING, (short)3); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.LIST, (short)4); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)5); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean tableName = false; - public boolean startRow = false; - public boolean stopRow = false; - public boolean columns = false; + public byte[] tableName; + public static final int TABLENAME = 1; + public byte[] startRow; + public static final int STARTROW = 2; + public byte[] stopRow; + public static final int STOPROW = 3; + public List columns; + public static final int COLUMNS = 4; + public long timestamp; + public static final int TIMESTAMP = 5; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STARTROW, new FieldMetaData("startRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(STOPROW, new FieldMetaData("stopRow", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new FieldValueMetaData(TType.STRING)))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenWithStopTs_args.class, metaDataMap); + } + public scannerOpenWithStopTs_args() { } @@ -11048,17 +19611,259 @@ public class Hbase { { this(); this.tableName = tableName; - this.__isset.tableName = true; this.startRow = startRow; - this.__isset.startRow = true; this.stopRow = stopRow; - this.__isset.stopRow = true; this.columns = columns; - this.__isset.columns = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenWithStopTs_args(scannerOpenWithStopTs_args other) { + if (other.isSetTableName()) { + this.tableName = other.tableName; + } + if (other.isSetStartRow()) { + this.startRow = other.startRow; + } + if (other.isSetStopRow()) { + this.stopRow = other.stopRow; + } + if (other.isSetColumns()) { + List __this__columns = new ArrayList(); + for (byte[] other_element : other.columns) { + __this__columns.add(other_element); + } + this.columns = __this__columns; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public scannerOpenWithStopTs_args clone() { + return new scannerOpenWithStopTs_args(this); + } + + public byte[] getTableName() { + return this.tableName; + } + + public void setTableName(byte[] tableName) { + this.tableName = tableName; + } + + public void unsetTableName() { + this.tableName = null; + } + + // Returns true if field tableName is set (has been asigned a value) and false otherwise + public boolean isSetTableName() { + return this.tableName != null; + } + + public void setTableNameIsSet(boolean value) { + if (!value) { + this.tableName = null; + } + } + + public byte[] getStartRow() { + return this.startRow; + } + + public void setStartRow(byte[] startRow) { + this.startRow = startRow; + } + + public void unsetStartRow() { + this.startRow = null; + } + + // Returns true if field startRow is set (has been asigned a value) and false otherwise + public boolean isSetStartRow() { + return this.startRow != null; + } + + public void setStartRowIsSet(boolean value) { + if (!value) { + this.startRow = null; + } + } + + public byte[] getStopRow() { + return this.stopRow; + } + + public void setStopRow(byte[] stopRow) { + this.stopRow = stopRow; + } + + public void unsetStopRow() { + this.stopRow = null; + } + + // Returns true if field stopRow is set (has been asigned a value) and false otherwise + public boolean isSetStopRow() { + return this.stopRow != null; + } + + public void setStopRowIsSet(boolean value) { + if (!value) { + this.stopRow = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public java.util.Iterator getColumnsIterator() { + return (this.columns == null) ? null : this.columns.iterator(); + } + + public void addToColumns(byte[] elem) { + if (this.columns == null) { + this.columns = new ArrayList(); + } + this.columns.add(elem); + } + + public List getColumns() { + return this.columns; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case TABLENAME: + if (value == null) { + unsetTableName(); + } else { + setTableName((byte[])value); + } + break; + + case STARTROW: + if (value == null) { + unsetStartRow(); + } else { + setStartRow((byte[])value); + } + break; + + case STOPROW: + if (value == null) { + unsetStopRow(); + } else { + setStopRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((List)value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case TABLENAME: + return getTableName(); + + case STARTROW: + return getStartRow(); + + case STOPROW: + return getStopRow(); + + case COLUMNS: + return getColumns(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case TABLENAME: + return isSetTableName(); + case STARTROW: + return isSetStartRow(); + case STOPROW: + return isSetStopRow(); + case COLUMNS: + return isSetColumns(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11071,8 +19876,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_tableName = true && (this.tableName != null); - boolean that_present_tableName = true && (that.tableName != null); + boolean this_present_tableName = true && this.isSetTableName(); + boolean that_present_tableName = true && that.isSetTableName(); if (this_present_tableName || that_present_tableName) { if (!(this_present_tableName && that_present_tableName)) return false; @@ -11080,8 +19885,8 @@ public class Hbase { return false; } - boolean this_present_startRow = true && (this.startRow != null); - boolean that_present_startRow = true && (that.startRow != null); + boolean this_present_startRow = true && this.isSetStartRow(); + boolean that_present_startRow = true && that.isSetStartRow(); if (this_present_startRow || that_present_startRow) { if (!(this_present_startRow && that_present_startRow)) return false; @@ -11089,8 +19894,8 @@ public class Hbase { return false; } - boolean this_present_stopRow = true && (this.stopRow != null); - boolean that_present_stopRow = true && (that.stopRow != null); + boolean this_present_stopRow = true && this.isSetStopRow(); + boolean that_present_stopRow = true && that.isSetStopRow(); if (this_present_stopRow || that_present_stopRow) { if (!(this_present_stopRow && that_present_stopRow)) return false; @@ -11098,8 +19903,8 @@ public class Hbase { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -11119,6 +19924,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -11134,49 +19940,45 @@ public class Hbase { } switch (field.id) { - case 1: + case TABLENAME: if (field.type == TType.STRING) { this.tableName = iprot.readBinary(); - this.__isset.tableName = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case STARTROW: if (field.type == TType.STRING) { this.startRow = iprot.readBinary(); - this.__isset.startRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case STOPROW: if (field.type == TType.STRING) { this.stopRow = iprot.readBinary(); - this.__isset.stopRow = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case COLUMNS: if (field.type == TType.LIST) { { - TList _list70 = iprot.readListBegin(); - this.columns = new ArrayList(_list70.size); - for (int _i71 = 0; _i71 < _list70.size; ++_i71) + TList _list90 = iprot.readListBegin(); + this.columns = new ArrayList(_list90.size); + for (int _i91 = 0; _i91 < _list90.size; ++_i91) { - byte[] _elem72 = null; - _elem72 = iprot.readBinary(); - this.columns.add(_elem72); + byte[] _elem92; + _elem92 = iprot.readBinary(); + this.columns.add(_elem92); } iprot.readListEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 5: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -11191,86 +19993,124 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenWithStopTs_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.tableName != null) { - field.name = "tableName"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC); oprot.writeBinary(this.tableName); oprot.writeFieldEnd(); } if (this.startRow != null) { - field.name = "startRow"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(START_ROW_FIELD_DESC); oprot.writeBinary(this.startRow); oprot.writeFieldEnd(); } if (this.stopRow != null) { - field.name = "stopRow"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(STOP_ROW_FIELD_DESC); oprot.writeBinary(this.stopRow); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.LIST; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeListBegin(new TList(TType.STRING, this.columns.size())); - for (byte[] _iter73 : this.columns) { - oprot.writeBinary(_iter73); + for (byte[] _iter93 : this.columns) { + oprot.writeBinary(_iter93); } oprot.writeListEnd(); } oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 5; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenWithStopTs_args("); + boolean first = true; + sb.append("tableName:"); - sb.append(this.tableName); - sb.append(",startRow:"); - sb.append(this.startRow); - sb.append(",stopRow:"); - sb.append(this.stopRow); - sb.append(",columns:"); - sb.append(this.columns); - sb.append(",timestamp:"); + if (this.tableName == null) { + sb.append("null"); + } else { + sb.append(this.tableName); + } + first = false; + if (!first) sb.append(", "); + sb.append("startRow:"); + if (this.startRow == null) { + sb.append("null"); + } else { + sb.append(this.startRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("stopRow:"); + if (this.stopRow == null) { + sb.append("null"); + } else { + sb.append(this.stopRow); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerOpenWithStopTs_result implements TBase, java.io.Serializable { - public int success; - public IOError io; + public static class scannerOpenWithStopTs_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerOpenWithStopTs_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.I32, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean success = false; - public boolean io = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerOpenWithStopTs_result.class, metaDataMap); } public scannerOpenWithStopTs_result() { @@ -11284,9 +20124,118 @@ public class Hbase { this.success = success; this.__isset.success = true; this.io = io; - this.__isset.io = true; } + /** + * Performs a deep copy on other. + */ + public scannerOpenWithStopTs_result(scannerOpenWithStopTs_result other) { + __isset.success = other.__isset.success; + this.success = other.success; + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + } + + @Override + public scannerOpenWithStopTs_result clone() { + return new scannerOpenWithStopTs_result(this); + } + + public int getSuccess() { + return this.success; + } + + public void setSuccess(int success) { + this.success = success; + this.__isset.success = true; + } + + public void unsetSuccess() { + this.__isset.success = false; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.__isset.success; + } + + public void setSuccessIsSet(boolean value) { + this.__isset.success = value; + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Integer)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return new Integer(getSuccess()); + + case IO: + return getIo(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11308,8 +20257,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -11320,6 +20269,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -11335,7 +20285,7 @@ public class Hbase { } switch (field.id) { - case 0: + case SUCCESS: if (field.type == TType.I32) { this.success = iprot.readI32(); this.__isset.success = true; @@ -11343,11 +20293,10 @@ public class Hbase { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -11359,54 +20308,76 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerOpenWithStopTs_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - field.name = "success"; - field.type = TType.I32; - field.id = 0; - oprot.writeFieldBegin(field); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); oprot.writeI32(this.success); oprot.writeFieldEnd(); - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerOpenWithStopTs_result("); + boolean first = true; + sb.append("success:"); sb.append(this.success); - sb.append(",io:"); - sb.append(this.io.toString()); + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerGet_args implements TBase, java.io.Serializable { - public int id; + public static class scannerGet_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerGet_args"); + private static final TField ID_FIELD_DESC = new TField("id", TType.I32, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int id; + public static final int ID = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean id = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(ID, new FieldMetaData("id", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerGet_args.class, metaDataMap); + } + public scannerGet_args() { } @@ -11418,6 +20389,77 @@ public class Hbase { this.__isset.id = true; } + /** + * Performs a deep copy on other. + */ + public scannerGet_args(scannerGet_args other) { + __isset.id = other.__isset.id; + this.id = other.id; + } + + @Override + public scannerGet_args clone() { + return new scannerGet_args(this); + } + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + this.__isset.id = true; + } + + public void unsetId() { + this.__isset.id = false; + } + + // Returns true if field id is set (has been asigned a value) and false otherwise + public boolean isSetId() { + return this.__isset.id; + } + + public void setIdIsSet(boolean value) { + this.__isset.id = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case ID: + if (value == null) { + unsetId(); + } else { + setId((Integer)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case ID: + return new Integer(getId()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case ID: + return isSetId(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11442,6 +20484,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -11457,7 +20500,7 @@ public class Hbase { } switch (field.id) { - case 1: + case ID: if (field.type == TType.I32) { this.id = iprot.readI32(); this.__isset.id = true; @@ -11472,66 +20515,257 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerGet_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); - field.name = "id"; - field.type = TType.I32; - field.id = 1; - oprot.writeFieldBegin(field); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ID_FIELD_DESC); oprot.writeI32(this.id); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerGet_args("); + boolean first = true; + sb.append("id:"); sb.append(this.id); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerGet_result implements TBase, java.io.Serializable { - public TRowResult success; - public IOError io; - public IllegalArgument ia; - public NotFound nf; + public static class scannerGet_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerGet_result"); + private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.LIST, (short)0); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean success = false; - public boolean io = false; - public boolean ia = false; - public boolean nf = false; + public List success; + public static final int SUCCESS = 0; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, + new ListMetaData(TType.LIST, + new StructMetaData(TType.STRUCT, TRowResult.class)))); + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerGet_result.class, metaDataMap); } public scannerGet_result() { } public scannerGet_result( - TRowResult success, + List success, IOError io, - IllegalArgument ia, - NotFound nf) + IllegalArgument ia) { this(); this.success = success; - this.__isset.success = true; this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; - this.nf = nf; - this.__isset.nf = true; } + /** + * Performs a deep copy on other. + */ + public scannerGet_result(scannerGet_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(); + for (TRowResult other_element : other.success) { + __this__success.add(new TRowResult(other_element)); + } + this.success = __this__success; + } + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public scannerGet_result clone() { + return new scannerGet_result(this); + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(TRowResult elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public void setSuccess(List success) { + this.success = success; + } + + public void unsetSuccess() { + this.success = null; + } + + // Returns true if field success is set (has been asigned a value) and false otherwise + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case SUCCESS: + return getSuccess(); + + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case SUCCESS: + return isSetSuccess(); + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11544,8 +20778,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_success = true && (this.success != null); - boolean that_present_success = true && (that.success != null); + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); if (this_present_success || that_present_success) { if (!(this_present_success && that_present_success)) return false; @@ -11553,8 +20787,8 @@ public class Hbase { return false; } - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -11562,8 +20796,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -11571,18 +20805,10 @@ public class Hbase { return false; } - boolean this_present_nf = true && (this.nf != null); - boolean that_present_nf = true && (that.nf != null); - if (this_present_nf || that_present_nf) { - if (!(this_present_nf && that_present_nf)) - return false; - if (!this.nf.equals(that.nf)) - return false; - } - return true; } + @Override public int hashCode() { return 0; } @@ -11598,38 +20824,36 @@ public class Hbase { } switch (field.id) { - case 0: - if (field.type == TType.STRUCT) { - this.success = new TRowResult(); - this.success.read(iprot); - this.__isset.success = true; + case SUCCESS: + if (field.type == TType.LIST) { + { + TList _list94 = iprot.readListBegin(); + this.success = new ArrayList(_list94.size); + for (int _i95 = 0; _i95 < _list94.size; ++_i95) + { + TRowResult _elem96; + _elem96 = new TRowResult(); + _elem96.read(iprot); + this.success.add(_elem96); + } + iprot.readListEnd(); + } } else { TProtocolUtil.skip(iprot, field.type); } break; - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - case 3: - if (field.type == TType.STRUCT) { - this.nf = new NotFound(); - this.nf.read(iprot); - this.__isset.nf = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -11641,78 +20865,98 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerGet_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.success) { - if (this.success != null) { - field.name = "success"; - field.type = TType.STRUCT; - field.id = 0; - oprot.writeFieldBegin(field); - this.success.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.nf) { - if (this.nf != null) { - field.name = "nf"; - field.type = TType.STRUCT; - field.id = 3; - oprot.writeFieldBegin(field); - this.nf.write(oprot); - oprot.writeFieldEnd(); + if (this.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new TList(TType.STRUCT, this.success.size())); + for (TRowResult _iter97 : this.success) { + _iter97.write(oprot); + } + oprot.writeListEnd(); } + oprot.writeFieldEnd(); + } else if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerGet_result("); + boolean first = true; + sb.append("success:"); - sb.append(this.success.toString()); - sb.append(",io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); - sb.append(",nf:"); - sb.append(this.nf.toString()); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("io:"); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public static class scannerClose_args implements TBase, java.io.Serializable { - public int id; + public static class scannerClose_args implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerClose_args"); + private static final TField ID_FIELD_DESC = new TField("id", TType.I32, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public int id; + public static final int ID = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean id = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(ID, new FieldMetaData("id", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I32))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerClose_args.class, metaDataMap); + } + public scannerClose_args() { } @@ -11724,6 +20968,77 @@ public class Hbase { this.__isset.id = true; } + /** + * Performs a deep copy on other. + */ + public scannerClose_args(scannerClose_args other) { + __isset.id = other.__isset.id; + this.id = other.id; + } + + @Override + public scannerClose_args clone() { + return new scannerClose_args(this); + } + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + this.__isset.id = true; + } + + public void unsetId() { + this.__isset.id = false; + } + + // Returns true if field id is set (has been asigned a value) and false otherwise + public boolean isSetId() { + return this.__isset.id; + } + + public void setIdIsSet(boolean value) { + this.__isset.id = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case ID: + if (value == null) { + unsetId(); + } else { + setId((Integer)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case ID: + return new Integer(getId()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case ID: + return isSetId(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11748,6 +21063,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -11763,7 +21079,7 @@ public class Hbase { } switch (field.id) { - case 1: + case ID: if (field.type == TType.I32) { this.id = iprot.readI32(); this.__isset.id = true; @@ -11778,40 +21094,65 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerClose_args"); - oprot.writeStructBegin(struct); - TField field = new TField(); - field.name = "id"; - field.type = TType.I32; - field.id = 1; - oprot.writeFieldBegin(field); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(ID_FIELD_DESC); oprot.writeI32(this.id); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerClose_args("); + boolean first = true; + sb.append("id:"); sb.append(this.id); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } - public final static class scannerClose_result implements TBase, java.io.Serializable { - public IOError io; - public IllegalArgument ia; + public static class scannerClose_result implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("scannerClose_result"); + private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1); + private static final TField IA_FIELD_DESC = new TField("ia", TType.STRUCT, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean io = false; - public boolean ia = false; + public IOError io; + public static final int IO = 1; + public IllegalArgument ia; + public static final int IA = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + put(IA, new FieldMetaData("ia", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRUCT))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(scannerClose_result.class, metaDataMap); } public scannerClose_result() { @@ -11823,11 +21164,121 @@ public class Hbase { { this(); this.io = io; - this.__isset.io = true; this.ia = ia; - this.__isset.ia = true; } + /** + * Performs a deep copy on other. + */ + public scannerClose_result(scannerClose_result other) { + if (other.isSetIo()) { + this.io = new IOError(other.io); + } + if (other.isSetIa()) { + this.ia = new IllegalArgument(other.ia); + } + } + + @Override + public scannerClose_result clone() { + return new scannerClose_result(this); + } + + public IOError getIo() { + return this.io; + } + + public void setIo(IOError io) { + this.io = io; + } + + public void unsetIo() { + this.io = null; + } + + // Returns true if field io is set (has been asigned a value) and false otherwise + public boolean isSetIo() { + return this.io != null; + } + + public void setIoIsSet(boolean value) { + if (!value) { + this.io = null; + } + } + + public IllegalArgument getIa() { + return this.ia; + } + + public void setIa(IllegalArgument ia) { + this.ia = ia; + } + + public void unsetIa() { + this.ia = null; + } + + // Returns true if field ia is set (has been asigned a value) and false otherwise + public boolean isSetIa() { + return this.ia != null; + } + + public void setIaIsSet(boolean value) { + if (!value) { + this.ia = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case IO: + if (value == null) { + unsetIo(); + } else { + setIo((IOError)value); + } + break; + + case IA: + if (value == null) { + unsetIa(); + } else { + setIa((IllegalArgument)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case IO: + return getIo(); + + case IA: + return getIa(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case IO: + return isSetIo(); + case IA: + return isSetIa(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -11840,8 +21291,8 @@ public class Hbase { if (that == null) return false; - boolean this_present_io = true && (this.io != null); - boolean that_present_io = true && (that.io != null); + boolean this_present_io = true && this.isSetIo(); + boolean that_present_io = true && that.isSetIo(); if (this_present_io || that_present_io) { if (!(this_present_io && that_present_io)) return false; @@ -11849,8 +21300,8 @@ public class Hbase { return false; } - boolean this_present_ia = true && (this.ia != null); - boolean that_present_ia = true && (that.ia != null); + boolean this_present_ia = true && this.isSetIa(); + boolean that_present_ia = true && that.isSetIa(); if (this_present_ia || that_present_ia) { if (!(this_present_ia && that_present_ia)) return false; @@ -11861,6 +21312,7 @@ public class Hbase { return true; } + @Override public int hashCode() { return 0; } @@ -11876,20 +21328,18 @@ public class Hbase { } switch (field.id) { - case 1: + case IO: if (field.type == TType.STRUCT) { this.io = new IOError(); this.io.read(iprot); - this.__isset.io = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case IA: if (field.type == TType.STRUCT) { this.ia = new IllegalArgument(); this.ia.read(iprot); - this.__isset.ia = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -11901,46 +21351,57 @@ public class Hbase { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("scannerClose_result"); - oprot.writeStructBegin(struct); - TField field = new TField(); + oprot.writeStructBegin(STRUCT_DESC); - if (this.__isset.io) { - if (this.io != null) { - field.name = "io"; - field.type = TType.STRUCT; - field.id = 1; - oprot.writeFieldBegin(field); - this.io.write(oprot); - oprot.writeFieldEnd(); - } - } else if (this.__isset.ia) { - if (this.ia != null) { - field.name = "ia"; - field.type = TType.STRUCT; - field.id = 2; - oprot.writeFieldBegin(field); - this.ia.write(oprot); - oprot.writeFieldEnd(); - } + if (this.isSetIo()) { + oprot.writeFieldBegin(IO_FIELD_DESC); + this.io.write(oprot); + oprot.writeFieldEnd(); + } else if (this.isSetIa()) { + oprot.writeFieldBegin(IA_FIELD_DESC); + this.ia.write(oprot); + oprot.writeFieldEnd(); } oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("scannerClose_result("); + boolean first = true; + sb.append("io:"); - sb.append(this.io.toString()); - sb.append(",ia:"); - sb.append(this.ia.toString()); + if (this.io == null) { + sb.append("null"); + } else { + sb.append(this.io); + } + first = false; + if (!first) sb.append(", "); + sb.append("ia:"); + if (this.ia == null) { + sb.append("null"); + } else { + sb.append(this.ia); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/IOError.java b/src/java/org/apache/hadoop/hbase/thrift/generated/IOError.java index e08bb3861b5..4280d0d0bd4 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/IOError.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/IOError.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,22 +28,35 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * An IOError exception signals that an error occurred communicating * to the Hbase master or an Hbase region server. Also used to return * more general Hbase error conditions. */ -public class IOError extends Exception implements TBase, java.io.Serializable { - public String message; +public class IOError extends Exception implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("IOError"); + private static final TField MESSAGE_FIELD_DESC = new TField("message", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean message = false; + public String message; + public static final int MESSAGE = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(MESSAGE, new FieldMetaData("message", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(IOError.class, metaDataMap); } public IOError() { @@ -55,9 +67,81 @@ public class IOError extends Exception implements TBase, java.io.Serializable { { this(); this.message = message; - this.__isset.message = true; } + /** + * Performs a deep copy on other. + */ + public IOError(IOError other) { + if (other.isSetMessage()) { + this.message = other.message; + } + } + + @Override + public IOError clone() { + return new IOError(this); + } + + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } + + public void unsetMessage() { + this.message = null; + } + + // Returns true if field message is set (has been asigned a value) and false otherwise + public boolean isSetMessage() { + return this.message != null; + } + + public void setMessageIsSet(boolean value) { + if (!value) { + this.message = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case MESSAGE: + if (value == null) { + unsetMessage(); + } else { + setMessage((String)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case MESSAGE: + return getMessage(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case MESSAGE: + return isSetMessage(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -70,8 +154,8 @@ public class IOError extends Exception implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_message = true && (this.message != null); - boolean that_present_message = true && (that.message != null); + boolean this_present_message = true && this.isSetMessage(); + boolean that_present_message = true && that.isSetMessage(); if (this_present_message || that_present_message) { if (!(this_present_message && that_present_message)) return false; @@ -82,6 +166,7 @@ public class IOError extends Exception implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -97,10 +182,9 @@ public class IOError extends Exception implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case MESSAGE: if (field.type == TType.STRING) { this.message = iprot.readString(); - this.__isset.message = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -112,17 +196,18 @@ public class IOError extends Exception implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("IOError"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.message != null) { - field.name = "message"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MESSAGE_FIELD_DESC); oprot.writeString(this.message); oprot.writeFieldEnd(); } @@ -130,13 +215,26 @@ public class IOError extends Exception implements TBase, java.io.Serializable { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("IOError("); + boolean first = true; + sb.append("message:"); - sb.append(this.message); + if (this.message == null) { + sb.append("null"); + } else { + sb.append(this.message); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java b/src/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java index cce3ec9fec9..b51ef619b35 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,21 +28,34 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * An IllegalArgument exception indicates an illegal or invalid * argument was passed into a procedure. */ -public class IllegalArgument extends Exception implements TBase, java.io.Serializable { - public String message; +public class IllegalArgument extends Exception implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("IllegalArgument"); + private static final TField MESSAGE_FIELD_DESC = new TField("message", TType.STRING, (short)1); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean message = false; + public String message; + public static final int MESSAGE = 1; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(MESSAGE, new FieldMetaData("message", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(IllegalArgument.class, metaDataMap); } public IllegalArgument() { @@ -54,9 +66,81 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali { this(); this.message = message; - this.__isset.message = true; } + /** + * Performs a deep copy on other. + */ + public IllegalArgument(IllegalArgument other) { + if (other.isSetMessage()) { + this.message = other.message; + } + } + + @Override + public IllegalArgument clone() { + return new IllegalArgument(this); + } + + public String getMessage() { + return this.message; + } + + public void setMessage(String message) { + this.message = message; + } + + public void unsetMessage() { + this.message = null; + } + + // Returns true if field message is set (has been asigned a value) and false otherwise + public boolean isSetMessage() { + return this.message != null; + } + + public void setMessageIsSet(boolean value) { + if (!value) { + this.message = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case MESSAGE: + if (value == null) { + unsetMessage(); + } else { + setMessage((String)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case MESSAGE: + return getMessage(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case MESSAGE: + return isSetMessage(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -69,8 +153,8 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali if (that == null) return false; - boolean this_present_message = true && (this.message != null); - boolean that_present_message = true && (that.message != null); + boolean this_present_message = true && this.isSetMessage(); + boolean that_present_message = true && that.isSetMessage(); if (this_present_message || that_present_message) { if (!(this_present_message && that_present_message)) return false; @@ -81,6 +165,7 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali return true; } + @Override public int hashCode() { return 0; } @@ -96,10 +181,9 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali } switch (field.id) { - case 1: + case MESSAGE: if (field.type == TType.STRING) { this.message = iprot.readString(); - this.__isset.message = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -111,17 +195,18 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("IllegalArgument"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.message != null) { - field.name = "message"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(MESSAGE_FIELD_DESC); oprot.writeString(this.message); oprot.writeFieldEnd(); } @@ -129,13 +214,26 @@ public class IllegalArgument extends Exception implements TBase, java.io.Seriali oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("IllegalArgument("); + boolean first = true; + sb.append("message:"); - sb.append(this.message); + if (this.message == null) { + sb.append("null"); + } else { + sb.append(this.message); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java b/src/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java index b02890486f8..921beaa0ed0 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,24 +28,44 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * A Mutation object is used to either update or delete a column-value. */ -public class Mutation implements TBase, java.io.Serializable { - public boolean isDelete; - public byte[] column; - public byte[] value; +public class Mutation implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("Mutation"); + private static final TField IS_DELETE_FIELD_DESC = new TField("isDelete", TType.BOOL, (short)1); + private static final TField COLUMN_FIELD_DESC = new TField("column", TType.STRING, (short)2); + private static final TField VALUE_FIELD_DESC = new TField("value", TType.STRING, (short)3); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { + public boolean isDelete; + public static final int ISDELETE = 1; + public byte[] column; + public static final int COLUMN = 2; + public byte[] value; + public static final int VALUE = 3; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean isDelete = false; - public boolean column = false; - public boolean value = false; + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(ISDELETE, new FieldMetaData("isDelete", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.BOOL))); + put(COLUMN, new FieldMetaData("column", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(VALUE, new FieldMetaData("value", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(Mutation.class, metaDataMap); } public Mutation() { @@ -63,11 +82,158 @@ public class Mutation implements TBase, java.io.Serializable { this.isDelete = isDelete; this.__isset.isDelete = true; this.column = column; - this.__isset.column = true; this.value = value; - this.__isset.value = true; } + /** + * Performs a deep copy on other. + */ + public Mutation(Mutation other) { + __isset.isDelete = other.__isset.isDelete; + this.isDelete = other.isDelete; + if (other.isSetColumn()) { + this.column = other.column; + } + if (other.isSetValue()) { + this.value = other.value; + } + } + + @Override + public Mutation clone() { + return new Mutation(this); + } + + public boolean isIsDelete() { + return this.isDelete; + } + + public void setIsDelete(boolean isDelete) { + this.isDelete = isDelete; + this.__isset.isDelete = true; + } + + public void unsetIsDelete() { + this.__isset.isDelete = false; + } + + // Returns true if field isDelete is set (has been asigned a value) and false otherwise + public boolean isSetIsDelete() { + return this.__isset.isDelete; + } + + public void setIsDeleteIsSet(boolean value) { + this.__isset.isDelete = value; + } + + public byte[] getColumn() { + return this.column; + } + + public void setColumn(byte[] column) { + this.column = column; + } + + public void unsetColumn() { + this.column = null; + } + + // Returns true if field column is set (has been asigned a value) and false otherwise + public boolean isSetColumn() { + return this.column != null; + } + + public void setColumnIsSet(boolean value) { + if (!value) { + this.column = null; + } + } + + public byte[] getValue() { + return this.value; + } + + public void setValue(byte[] value) { + this.value = value; + } + + public void unsetValue() { + this.value = null; + } + + // Returns true if field value is set (has been asigned a value) and false otherwise + public boolean isSetValue() { + return this.value != null; + } + + public void setValueIsSet(boolean value) { + if (!value) { + this.value = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case ISDELETE: + if (value == null) { + unsetIsDelete(); + } else { + setIsDelete((Boolean)value); + } + break; + + case COLUMN: + if (value == null) { + unsetColumn(); + } else { + setColumn((byte[])value); + } + break; + + case VALUE: + if (value == null) { + unsetValue(); + } else { + setValue((byte[])value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case ISDELETE: + return new Boolean(isIsDelete()); + + case COLUMN: + return getColumn(); + + case VALUE: + return getValue(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case ISDELETE: + return isSetIsDelete(); + case COLUMN: + return isSetColumn(); + case VALUE: + return isSetValue(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -89,8 +255,8 @@ public class Mutation implements TBase, java.io.Serializable { return false; } - boolean this_present_column = true && (this.column != null); - boolean that_present_column = true && (that.column != null); + boolean this_present_column = true && this.isSetColumn(); + boolean that_present_column = true && that.isSetColumn(); if (this_present_column || that_present_column) { if (!(this_present_column && that_present_column)) return false; @@ -98,8 +264,8 @@ public class Mutation implements TBase, java.io.Serializable { return false; } - boolean this_present_value = true && (this.value != null); - boolean that_present_value = true && (that.value != null); + boolean this_present_value = true && this.isSetValue(); + boolean that_present_value = true && that.isSetValue(); if (this_present_value || that_present_value) { if (!(this_present_value && that_present_value)) return false; @@ -110,6 +276,7 @@ public class Mutation implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -125,7 +292,7 @@ public class Mutation implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case ISDELETE: if (field.type == TType.BOOL) { this.isDelete = iprot.readBool(); this.__isset.isDelete = true; @@ -133,18 +300,16 @@ public class Mutation implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case COLUMN: if (field.type == TType.STRING) { this.column = iprot.readBinary(); - this.__isset.column = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case VALUE: if (field.type == TType.STRING) { this.value = iprot.readBinary(); - this.__isset.value = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -156,31 +321,26 @@ public class Mutation implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("Mutation"); - oprot.writeStructBegin(struct); - TField field = new TField(); - field.name = "isDelete"; - field.type = TType.BOOL; - field.id = 1; - oprot.writeFieldBegin(field); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(IS_DELETE_FIELD_DESC); oprot.writeBool(this.isDelete); oprot.writeFieldEnd(); if (this.column != null) { - field.name = "column"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMN_FIELD_DESC); oprot.writeBinary(this.column); oprot.writeFieldEnd(); } if (this.value != null) { - field.name = "value"; - field.type = TType.STRING; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(VALUE_FIELD_DESC); oprot.writeBinary(this.value); oprot.writeFieldEnd(); } @@ -188,17 +348,38 @@ public class Mutation implements TBase, java.io.Serializable { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("Mutation("); + boolean first = true; + sb.append("isDelete:"); sb.append(this.isDelete); - sb.append(",column:"); - sb.append(this.column); - sb.append(",value:"); - sb.append(this.value); + first = false; + if (!first) sb.append(", "); + sb.append("column:"); + if (this.column == null) { + sb.append("null"); + } else { + sb.append(this.column); + } + first = false; + if (!first) sb.append(", "); + sb.append("value:"); + if (this.value == null) { + sb.append("null"); + } else { + sb.append(this.value); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/NotFound.java b/src/java/org/apache/hadoop/hbase/thrift/generated/NotFound.java deleted file mode 100644 index a8561a24126..00000000000 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/NotFound.java +++ /dev/null @@ -1,141 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Autogenerated by Thrift - * - * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING - */ -package org.apache.hadoop.hbase.thrift.generated; - -import java.util.List; -import java.util.ArrayList; -import java.util.Map; -import java.util.HashMap; -import java.util.Set; -import java.util.HashSet; -import com.facebook.thrift.*; - -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; - -/** - * A NotFound exception is used to indicate that no value was found - * for a query, or that a scanner has reached it's end. - */ -public class NotFound extends Exception implements TBase, java.io.Serializable { - public String message; - - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean message = false; - } - - public NotFound() { - } - - public NotFound( - String message) - { - this(); - this.message = message; - this.__isset.message = true; - } - - public boolean equals(Object that) { - if (that == null) - return false; - if (that instanceof NotFound) - return this.equals((NotFound)that); - return false; - } - - public boolean equals(NotFound that) { - if (that == null) - return false; - - boolean this_present_message = true && (this.message != null); - boolean that_present_message = true && (that.message != null); - if (this_present_message || that_present_message) { - if (!(this_present_message && that_present_message)) - return false; - if (!this.message.equals(that.message)) - return false; - } - - return true; - } - - public int hashCode() { - return 0; - } - - public void read(TProtocol iprot) throws TException { - TField field; - iprot.readStructBegin(); - while (true) - { - field = iprot.readFieldBegin(); - if (field.type == TType.STOP) { - break; - } - switch (field.id) - { - case 1: - if (field.type == TType.STRING) { - this.message = iprot.readString(); - this.__isset.message = true; - } else { - TProtocolUtil.skip(iprot, field.type); - } - break; - default: - TProtocolUtil.skip(iprot, field.type); - break; - } - iprot.readFieldEnd(); - } - iprot.readStructEnd(); - } - - public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("NotFound"); - oprot.writeStructBegin(struct); - TField field = new TField(); - if (this.message != null) { - field.name = "message"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); - oprot.writeString(this.message); - oprot.writeFieldEnd(); - } - oprot.writeFieldStop(); - oprot.writeStructEnd(); - } - - public String toString() { - StringBuilder sb = new StringBuilder("NotFound("); - sb.append("message:"); - sb.append(this.message); - sb.append(")"); - return sb.toString(); - } - -} - diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/RegionDescriptor.java b/src/java/org/apache/hadoop/hbase/thrift/generated/RegionDescriptor.java deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/ScanEntry.java b/src/java/org/apache/hadoop/hbase/thrift/generated/ScanEntry.java deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/TCell.java b/src/java/org/apache/hadoop/hbase/thrift/generated/TCell.java index c3b4aed5533..cc94058a193 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/TCell.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/TCell.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,10 +28,11 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * TCell - Used to transport a cell value (byte[]) and the timestamp it was @@ -40,16 +40,32 @@ import com.facebook.thrift.transport.*; * the timestamp of a cell to a first-class value, making it easy to take * note of temporal data. Cell is used all the way from HStore up to HTable. */ -public class TCell implements TBase, java.io.Serializable { - public byte[] value; - public long timestamp; +public class TCell implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("TCell"); + private static final TField VALUE_FIELD_DESC = new TField("value", TType.STRING, (short)1); + private static final TField TIMESTAMP_FIELD_DESC = new TField("timestamp", TType.I64, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean value = false; + public byte[] value; + public static final int VALUE = 1; + public long timestamp; + public static final int TIMESTAMP = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean timestamp = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(VALUE, new FieldMetaData("value", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(TIMESTAMP, new FieldMetaData("timestamp", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(TCell.class, metaDataMap); + } + public TCell() { } @@ -59,11 +75,120 @@ public class TCell implements TBase, java.io.Serializable { { this(); this.value = value; - this.__isset.value = true; this.timestamp = timestamp; this.__isset.timestamp = true; } + /** + * Performs a deep copy on other. + */ + public TCell(TCell other) { + if (other.isSetValue()) { + this.value = other.value; + } + __isset.timestamp = other.__isset.timestamp; + this.timestamp = other.timestamp; + } + + @Override + public TCell clone() { + return new TCell(this); + } + + public byte[] getValue() { + return this.value; + } + + public void setValue(byte[] value) { + this.value = value; + } + + public void unsetValue() { + this.value = null; + } + + // Returns true if field value is set (has been asigned a value) and false otherwise + public boolean isSetValue() { + return this.value != null; + } + + public void setValueIsSet(boolean value) { + if (!value) { + this.value = null; + } + } + + public long getTimestamp() { + return this.timestamp; + } + + public void setTimestamp(long timestamp) { + this.timestamp = timestamp; + this.__isset.timestamp = true; + } + + public void unsetTimestamp() { + this.__isset.timestamp = false; + } + + // Returns true if field timestamp is set (has been asigned a value) and false otherwise + public boolean isSetTimestamp() { + return this.__isset.timestamp; + } + + public void setTimestampIsSet(boolean value) { + this.__isset.timestamp = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case VALUE: + if (value == null) { + unsetValue(); + } else { + setValue((byte[])value); + } + break; + + case TIMESTAMP: + if (value == null) { + unsetTimestamp(); + } else { + setTimestamp((Long)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case VALUE: + return getValue(); + + case TIMESTAMP: + return new Long(getTimestamp()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case VALUE: + return isSetValue(); + case TIMESTAMP: + return isSetTimestamp(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -76,8 +201,8 @@ public class TCell implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_value = true && (this.value != null); - boolean that_present_value = true && (that.value != null); + boolean this_present_value = true && this.isSetValue(); + boolean that_present_value = true && that.isSetValue(); if (this_present_value || that_present_value) { if (!(this_present_value && that_present_value)) return false; @@ -97,6 +222,7 @@ public class TCell implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -112,15 +238,14 @@ public class TCell implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case VALUE: if (field.type == TType.STRING) { this.value = iprot.readBinary(); - this.__isset.value = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case TIMESTAMP: if (field.type == TType.I64) { this.timestamp = iprot.readI64(); this.__isset.timestamp = true; @@ -135,39 +260,52 @@ public class TCell implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("TCell"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.value != null) { - field.name = "value"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(VALUE_FIELD_DESC); oprot.writeBinary(this.value); oprot.writeFieldEnd(); } - field.name = "timestamp"; - field.type = TType.I64; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(TIMESTAMP_FIELD_DESC); oprot.writeI64(this.timestamp); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("TCell("); + boolean first = true; + sb.append("value:"); - sb.append(this.value); - sb.append(",timestamp:"); + if (this.value == null) { + sb.append("null"); + } else { + sb.append(this.value); + } + first = false; + if (!first) sb.append(", "); + sb.append("timestamp:"); sb.append(this.timestamp); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java b/src/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java index 4e0d150946e..4f369366731 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,30 +28,57 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * A TRegionInfo contains information about an HTable region. */ -public class TRegionInfo implements TBase, java.io.Serializable { - public byte[] startKey; - public byte[] endKey; - public long id; - public byte[] name; - public byte version; +public class TRegionInfo implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("TRegionInfo"); + private static final TField START_KEY_FIELD_DESC = new TField("startKey", TType.STRING, (short)1); + private static final TField END_KEY_FIELD_DESC = new TField("endKey", TType.STRING, (short)2); + private static final TField ID_FIELD_DESC = new TField("id", TType.I64, (short)3); + private static final TField NAME_FIELD_DESC = new TField("name", TType.STRING, (short)4); + private static final TField VERSION_FIELD_DESC = new TField("version", TType.BYTE, (short)5); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean startKey = false; - public boolean endKey = false; + public byte[] startKey; + public static final int STARTKEY = 1; + public byte[] endKey; + public static final int ENDKEY = 2; + public long id; + public static final int ID = 3; + public byte[] name; + public static final int NAME = 4; + public byte version; + public static final int VERSION = 5; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { public boolean id = false; - public boolean name = false; public boolean version = false; } + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(STARTKEY, new FieldMetaData("startKey", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ENDKEY, new FieldMetaData("endKey", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(ID, new FieldMetaData("id", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.I64))); + put(NAME, new FieldMetaData("name", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(VERSION, new FieldMetaData("version", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.BYTE))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(TRegionInfo.class, metaDataMap); + } + public TRegionInfo() { } @@ -65,17 +91,239 @@ public class TRegionInfo implements TBase, java.io.Serializable { { this(); this.startKey = startKey; - this.__isset.startKey = true; this.endKey = endKey; - this.__isset.endKey = true; this.id = id; this.__isset.id = true; this.name = name; - this.__isset.name = true; this.version = version; this.__isset.version = true; } + /** + * Performs a deep copy on other. + */ + public TRegionInfo(TRegionInfo other) { + if (other.isSetStartKey()) { + this.startKey = other.startKey; + } + if (other.isSetEndKey()) { + this.endKey = other.endKey; + } + __isset.id = other.__isset.id; + this.id = other.id; + if (other.isSetName()) { + this.name = other.name; + } + __isset.version = other.__isset.version; + this.version = other.version; + } + + @Override + public TRegionInfo clone() { + return new TRegionInfo(this); + } + + public byte[] getStartKey() { + return this.startKey; + } + + public void setStartKey(byte[] startKey) { + this.startKey = startKey; + } + + public void unsetStartKey() { + this.startKey = null; + } + + // Returns true if field startKey is set (has been asigned a value) and false otherwise + public boolean isSetStartKey() { + return this.startKey != null; + } + + public void setStartKeyIsSet(boolean value) { + if (!value) { + this.startKey = null; + } + } + + public byte[] getEndKey() { + return this.endKey; + } + + public void setEndKey(byte[] endKey) { + this.endKey = endKey; + } + + public void unsetEndKey() { + this.endKey = null; + } + + // Returns true if field endKey is set (has been asigned a value) and false otherwise + public boolean isSetEndKey() { + return this.endKey != null; + } + + public void setEndKeyIsSet(boolean value) { + if (!value) { + this.endKey = null; + } + } + + public long getId() { + return this.id; + } + + public void setId(long id) { + this.id = id; + this.__isset.id = true; + } + + public void unsetId() { + this.__isset.id = false; + } + + // Returns true if field id is set (has been asigned a value) and false otherwise + public boolean isSetId() { + return this.__isset.id; + } + + public void setIdIsSet(boolean value) { + this.__isset.id = value; + } + + public byte[] getName() { + return this.name; + } + + public void setName(byte[] name) { + this.name = name; + } + + public void unsetName() { + this.name = null; + } + + // Returns true if field name is set (has been asigned a value) and false otherwise + public boolean isSetName() { + return this.name != null; + } + + public void setNameIsSet(boolean value) { + if (!value) { + this.name = null; + } + } + + public byte getVersion() { + return this.version; + } + + public void setVersion(byte version) { + this.version = version; + this.__isset.version = true; + } + + public void unsetVersion() { + this.__isset.version = false; + } + + // Returns true if field version is set (has been asigned a value) and false otherwise + public boolean isSetVersion() { + return this.__isset.version; + } + + public void setVersionIsSet(boolean value) { + this.__isset.version = value; + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case STARTKEY: + if (value == null) { + unsetStartKey(); + } else { + setStartKey((byte[])value); + } + break; + + case ENDKEY: + if (value == null) { + unsetEndKey(); + } else { + setEndKey((byte[])value); + } + break; + + case ID: + if (value == null) { + unsetId(); + } else { + setId((Long)value); + } + break; + + case NAME: + if (value == null) { + unsetName(); + } else { + setName((byte[])value); + } + break; + + case VERSION: + if (value == null) { + unsetVersion(); + } else { + setVersion((Byte)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case STARTKEY: + return getStartKey(); + + case ENDKEY: + return getEndKey(); + + case ID: + return new Long(getId()); + + case NAME: + return getName(); + + case VERSION: + return new Byte(getVersion()); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case STARTKEY: + return isSetStartKey(); + case ENDKEY: + return isSetEndKey(); + case ID: + return isSetId(); + case NAME: + return isSetName(); + case VERSION: + return isSetVersion(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -88,8 +336,8 @@ public class TRegionInfo implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_startKey = true && (this.startKey != null); - boolean that_present_startKey = true && (that.startKey != null); + boolean this_present_startKey = true && this.isSetStartKey(); + boolean that_present_startKey = true && that.isSetStartKey(); if (this_present_startKey || that_present_startKey) { if (!(this_present_startKey && that_present_startKey)) return false; @@ -97,8 +345,8 @@ public class TRegionInfo implements TBase, java.io.Serializable { return false; } - boolean this_present_endKey = true && (this.endKey != null); - boolean that_present_endKey = true && (that.endKey != null); + boolean this_present_endKey = true && this.isSetEndKey(); + boolean that_present_endKey = true && that.isSetEndKey(); if (this_present_endKey || that_present_endKey) { if (!(this_present_endKey && that_present_endKey)) return false; @@ -115,8 +363,8 @@ public class TRegionInfo implements TBase, java.io.Serializable { return false; } - boolean this_present_name = true && (this.name != null); - boolean that_present_name = true && (that.name != null); + boolean this_present_name = true && this.isSetName(); + boolean that_present_name = true && that.isSetName(); if (this_present_name || that_present_name) { if (!(this_present_name && that_present_name)) return false; @@ -136,6 +384,7 @@ public class TRegionInfo implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -151,23 +400,21 @@ public class TRegionInfo implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case STARTKEY: if (field.type == TType.STRING) { this.startKey = iprot.readBinary(); - this.__isset.startKey = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case ENDKEY: if (field.type == TType.STRING) { this.endKey = iprot.readBinary(); - this.__isset.endKey = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 3: + case ID: if (field.type == TType.I64) { this.id = iprot.readI64(); this.__isset.id = true; @@ -175,15 +422,14 @@ public class TRegionInfo implements TBase, java.io.Serializable { TProtocolUtil.skip(iprot, field.type); } break; - case 4: + case NAME: if (field.type == TType.STRING) { this.name = iprot.readBinary(); - this.__isset.name = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 5: + case VERSION: if (field.type == TType.BYTE) { this.version = iprot.readByte(); this.__isset.version = true; @@ -198,67 +444,85 @@ public class TRegionInfo implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("TRegionInfo"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.startKey != null) { - field.name = "startKey"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(START_KEY_FIELD_DESC); oprot.writeBinary(this.startKey); oprot.writeFieldEnd(); } if (this.endKey != null) { - field.name = "endKey"; - field.type = TType.STRING; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(END_KEY_FIELD_DESC); oprot.writeBinary(this.endKey); oprot.writeFieldEnd(); } - field.name = "id"; - field.type = TType.I64; - field.id = 3; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ID_FIELD_DESC); oprot.writeI64(this.id); oprot.writeFieldEnd(); if (this.name != null) { - field.name = "name"; - field.type = TType.STRING; - field.id = 4; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(NAME_FIELD_DESC); oprot.writeBinary(this.name); oprot.writeFieldEnd(); } - field.name = "version"; - field.type = TType.BYTE; - field.id = 5; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(VERSION_FIELD_DESC); oprot.writeByte(this.version); oprot.writeFieldEnd(); oprot.writeFieldStop(); oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("TRegionInfo("); + boolean first = true; + sb.append("startKey:"); - sb.append(this.startKey); - sb.append(",endKey:"); - sb.append(this.endKey); - sb.append(",id:"); + if (this.startKey == null) { + sb.append("null"); + } else { + sb.append(this.startKey); + } + first = false; + if (!first) sb.append(", "); + sb.append("endKey:"); + if (this.endKey == null) { + sb.append("null"); + } else { + sb.append(this.endKey); + } + first = false; + if (!first) sb.append(", "); + sb.append("id:"); sb.append(this.id); - sb.append(",name:"); - sb.append(this.name); - sb.append(",version:"); + first = false; + if (!first) sb.append(", "); + sb.append("name:"); + if (this.name == null) { + sb.append("null"); + } else { + sb.append(this.name); + } + first = false; + if (!first) sb.append(", "); + sb.append("version:"); sb.append(this.version); + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java b/src/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java index 5aa801f36e9..c00eb583d14 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java +++ b/src/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - /** * Autogenerated by Thrift * @@ -29,22 +28,40 @@ import java.util.Map; import java.util.HashMap; import java.util.Set; import java.util.HashSet; -import com.facebook.thrift.*; +import java.util.Collections; -import com.facebook.thrift.protocol.*; -import com.facebook.thrift.transport.*; +import org.apache.thrift.*; +import org.apache.thrift.meta_data.*; +import org.apache.thrift.protocol.*; /** * Holds row name and then a map of columns to cells. */ -public class TRowResult implements TBase, java.io.Serializable { - public byte[] row; - public Map columns; +public class TRowResult implements TBase, java.io.Serializable, Cloneable { + private static final TStruct STRUCT_DESC = new TStruct("TRowResult"); + private static final TField ROW_FIELD_DESC = new TField("row", TType.STRING, (short)1); + private static final TField COLUMNS_FIELD_DESC = new TField("columns", TType.MAP, (short)2); - public final Isset __isset = new Isset(); - public static final class Isset implements java.io.Serializable { - public boolean row = false; - public boolean columns = false; + public byte[] row; + public static final int ROW = 1; + public Map columns; + public static final int COLUMNS = 2; + + private final Isset __isset = new Isset(); + private static final class Isset implements java.io.Serializable { + } + + public static final Map metaDataMap = Collections.unmodifiableMap(new HashMap() {{ + put(ROW, new FieldMetaData("row", TFieldRequirementType.DEFAULT, + new FieldValueMetaData(TType.STRING))); + put(COLUMNS, new FieldMetaData("columns", TFieldRequirementType.DEFAULT, + new MapMetaData(TType.MAP, + new FieldValueMetaData(TType.STRING), + new StructMetaData(TType.STRUCT, TCell.class)))); + }}); + + static { + FieldMetaData.addStructMetaDataMap(TRowResult.class, metaDataMap); } public TRowResult() { @@ -56,11 +73,144 @@ public class TRowResult implements TBase, java.io.Serializable { { this(); this.row = row; - this.__isset.row = true; this.columns = columns; - this.__isset.columns = true; } + /** + * Performs a deep copy on other. + */ + public TRowResult(TRowResult other) { + if (other.isSetRow()) { + this.row = other.row; + } + if (other.isSetColumns()) { + Map __this__columns = new HashMap(); + for (Map.Entry other_element : other.columns.entrySet()) { + + byte[] other_element_key = other_element.getKey(); + TCell other_element_value = other_element.getValue(); + + byte[] __this__columns_copy_key = other_element_key; + + TCell __this__columns_copy_value = new TCell(other_element_value); + + __this__columns.put(__this__columns_copy_key, __this__columns_copy_value); + } + this.columns = __this__columns; + } + } + + @Override + public TRowResult clone() { + return new TRowResult(this); + } + + public byte[] getRow() { + return this.row; + } + + public void setRow(byte[] row) { + this.row = row; + } + + public void unsetRow() { + this.row = null; + } + + // Returns true if field row is set (has been asigned a value) and false otherwise + public boolean isSetRow() { + return this.row != null; + } + + public void setRowIsSet(boolean value) { + if (!value) { + this.row = null; + } + } + + public int getColumnsSize() { + return (this.columns == null) ? 0 : this.columns.size(); + } + + public void putToColumns(byte[] key, TCell val) { + if (this.columns == null) { + this.columns = new HashMap(); + } + this.columns.put(key, val); + } + + public Map getColumns() { + return this.columns; + } + + public void setColumns(Map columns) { + this.columns = columns; + } + + public void unsetColumns() { + this.columns = null; + } + + // Returns true if field columns is set (has been asigned a value) and false otherwise + public boolean isSetColumns() { + return this.columns != null; + } + + public void setColumnsIsSet(boolean value) { + if (!value) { + this.columns = null; + } + } + + public void setFieldValue(int fieldID, Object value) { + switch (fieldID) { + case ROW: + if (value == null) { + unsetRow(); + } else { + setRow((byte[])value); + } + break; + + case COLUMNS: + if (value == null) { + unsetColumns(); + } else { + setColumns((Map)value); + } + break; + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + public Object getFieldValue(int fieldID) { + switch (fieldID) { + case ROW: + return getRow(); + + case COLUMNS: + return getColumns(); + + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise + public boolean isSet(int fieldID) { + switch (fieldID) { + case ROW: + return isSetRow(); + case COLUMNS: + return isSetColumns(); + default: + throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!"); + } + } + + @Override public boolean equals(Object that) { if (that == null) return false; @@ -73,8 +223,8 @@ public class TRowResult implements TBase, java.io.Serializable { if (that == null) return false; - boolean this_present_row = true && (this.row != null); - boolean that_present_row = true && (that.row != null); + boolean this_present_row = true && this.isSetRow(); + boolean that_present_row = true && that.isSetRow(); if (this_present_row || that_present_row) { if (!(this_present_row && that_present_row)) return false; @@ -82,8 +232,8 @@ public class TRowResult implements TBase, java.io.Serializable { return false; } - boolean this_present_columns = true && (this.columns != null); - boolean that_present_columns = true && (that.columns != null); + boolean this_present_columns = true && this.isSetColumns(); + boolean that_present_columns = true && that.isSetColumns(); if (this_present_columns || that_present_columns) { if (!(this_present_columns && that_present_columns)) return false; @@ -94,6 +244,7 @@ public class TRowResult implements TBase, java.io.Serializable { return true; } + @Override public int hashCode() { return 0; } @@ -109,15 +260,14 @@ public class TRowResult implements TBase, java.io.Serializable { } switch (field.id) { - case 1: + case ROW: if (field.type == TType.STRING) { this.row = iprot.readBinary(); - this.__isset.row = true; } else { TProtocolUtil.skip(iprot, field.type); } break; - case 2: + case COLUMNS: if (field.type == TType.MAP) { { TMap _map4 = iprot.readMapBegin(); @@ -133,7 +283,6 @@ public class TRowResult implements TBase, java.io.Serializable { } iprot.readMapEnd(); } - this.__isset.columns = true; } else { TProtocolUtil.skip(iprot, field.type); } @@ -145,30 +294,28 @@ public class TRowResult implements TBase, java.io.Serializable { iprot.readFieldEnd(); } iprot.readStructEnd(); + + + // check for required fields of primitive type, which can't be checked in the validate method + validate(); } public void write(TProtocol oprot) throws TException { - TStruct struct = new TStruct("TRowResult"); - oprot.writeStructBegin(struct); - TField field = new TField(); + validate(); + + oprot.writeStructBegin(STRUCT_DESC); if (this.row != null) { - field.name = "row"; - field.type = TType.STRING; - field.id = 1; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(ROW_FIELD_DESC); oprot.writeBinary(this.row); oprot.writeFieldEnd(); } if (this.columns != null) { - field.name = "columns"; - field.type = TType.MAP; - field.id = 2; - oprot.writeFieldBegin(field); + oprot.writeFieldBegin(COLUMNS_FIELD_DESC); { oprot.writeMapBegin(new TMap(TType.STRING, TType.STRUCT, this.columns.size())); - for (byte[] _iter8 : this.columns.keySet()) { - oprot.writeBinary(_iter8); - this.columns.get(_iter8).write(oprot); + for (Map.Entry _iter8 : this.columns.entrySet()) { + oprot.writeBinary(_iter8.getKey()); + _iter8.getValue().write(oprot); } oprot.writeMapEnd(); } @@ -178,15 +325,34 @@ public class TRowResult implements TBase, java.io.Serializable { oprot.writeStructEnd(); } + @Override public String toString() { StringBuilder sb = new StringBuilder("TRowResult("); + boolean first = true; + sb.append("row:"); - sb.append(this.row); - sb.append(",columns:"); - sb.append(this.columns); + if (this.row == null) { + sb.append("null"); + } else { + sb.append(this.row); + } + first = false; + if (!first) sb.append(", "); + sb.append("columns:"); + if (this.columns == null) { + sb.append("null"); + } else { + sb.append(this.columns); + } + first = false; sb.append(")"); return sb.toString(); } + public void validate() throws TException { + // check for required fields + // check that fields of type enum have valid values + } + } diff --git a/src/java/org/apache/hadoop/hbase/thrift/package.html b/src/java/org/apache/hadoop/hbase/thrift/package.html index f1aad6c71b3..71d669db83c 100644 --- a/src/java/org/apache/hadoop/hbase/thrift/package.html +++ b/src/java/org/apache/hadoop/hbase/thrift/package.html @@ -62,9 +62,6 @@ part of the Thrift package. A version of the Java runtime is checked into SVN under the hbase/lib directory.

-

The version of Thrift used to generate the Java files is release 20080411p1 from -the thrift homepage.

-

To start ThriftServer, use:

   ./bin/hbase-daemon.sh start thrift [--port=PORT]
diff --git a/src/test/org/apache/hadoop/hbase/thrift/DisabledTestThriftServer.java b/src/test/org/apache/hadoop/hbase/thrift/DisabledTestThriftServer.java
index f2a38ba42f0..6679f1142e6 100644
--- a/src/test/org/apache/hadoop/hbase/thrift/DisabledTestThriftServer.java
+++ b/src/test/org/apache/hadoop/hbase/thrift/DisabledTestThriftServer.java
@@ -1,5 +1,5 @@
 /**
- * Copyright 2008 The Apache Software Foundation
+ * Copyright 2008-2009 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -27,7 +27,6 @@ import org.apache.hadoop.hbase.thrift.generated.BatchMutation;
 import org.apache.hadoop.hbase.thrift.generated.ColumnDescriptor;
 import org.apache.hadoop.hbase.thrift.generated.IllegalArgument;
 import org.apache.hadoop.hbase.thrift.generated.Mutation;
-import org.apache.hadoop.hbase.thrift.generated.NotFound;
 import org.apache.hadoop.hbase.thrift.generated.TCell;
 import org.apache.hadoop.hbase.thrift.generated.TRowResult;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -127,8 +126,8 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     handler.mutateRow(tableAname, rowAname, getMutations());
 
     // Assert that the changes were made
-    assertTrue(Bytes.equals(valueAname, handler.get(tableAname, rowAname, columnAname).value));
-    TRowResult rowResult1 = handler.getRow(tableAname, rowAname);
+    assertTrue(Bytes.equals(valueAname, handler.get(tableAname, rowAname, columnAname).get(0).value));
+    TRowResult rowResult1 = handler.getRow(tableAname, rowAname).get(0);
     assertTrue(Bytes.equals(rowAname, rowResult1.row));
     assertTrue(Bytes.equals(valueBname, rowResult1.columns.get(columnBname).value));
 
@@ -136,20 +135,14 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     handler.mutateRows(tableAname, getBatchMutations());
 
     // Assert that changes were made to rowA
-    boolean failed1 = false;
-    try {
-      handler.get(tableAname, rowAname, columnAname);
-    } catch (NotFound nf) {
-      failed1 = true;
-    }
-    assertTrue(failed1);
-    assertTrue(Bytes.equals(valueCname, handler.get(tableAname, rowAname, columnBname).value));
+    assertFalse(handler.get(tableAname, rowAname, columnAname).size() > 0);
+    assertTrue(Bytes.equals(valueCname, handler.get(tableAname, rowAname, columnBname).get(0).value));
     List versions = handler.getVer(tableAname, rowAname, columnBname, MAXVERSIONS);
     assertTrue(Bytes.equals(valueCname, versions.get(0).value));
     assertTrue(Bytes.equals(valueBname, versions.get(1).value));
 
     // Assert that changes were made to rowB
-    TRowResult rowResult2 = handler.getRow(tableAname, rowBname);
+    TRowResult rowResult2 = handler.getRow(tableAname, rowBname).get(0);
     assertTrue(Bytes.equals(rowBname, rowResult2.row));
     assertTrue(Bytes.equals(valueCname, rowResult2.columns.get(columnAname).value));
 	  assertTrue(Bytes.equals(valueDname, rowResult2.columns.get(columnBname).value));
@@ -159,20 +152,8 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     handler.deleteAllRow(tableAname, rowBname);
 
     // Assert that the deletes were applied
-    boolean failed2 = false;
-    try {
-      handler.get(tableAname, rowAname, columnBname);
-    } catch (NotFound nf) {
-      failed2 = true;
-    }
-    assertTrue(failed2);
-    boolean failed3 = false;
-    try {
-      handler.getRow(tableAname, rowBname);
-    } catch (NotFound nf) {
-      failed3 = true;
-    }
-    assertTrue(failed3);
+    assertFalse(handler.get(tableAname, rowAname, columnBname).size() == 0);
+    assertFalse(handler.getRow(tableAname, rowBname).size() == 0);
 
     // Teardown
     handler.disableTable(tableAname);
@@ -210,8 +191,8 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     assertEquals(handler.getVerTs(tableAname, rowAname, columnBname, time2, MAXVERSIONS).size(), 2);
     assertEquals(handler.getVerTs(tableAname, rowAname, columnBname, time1, MAXVERSIONS).size(), 1);
 
-    TRowResult rowResult1 = handler.getRowTs(tableAname, rowAname, time1);
-    TRowResult rowResult2 = handler.getRowTs(tableAname, rowAname, time2);
+    TRowResult rowResult1 = handler.getRowTs(tableAname, rowAname, time1).get(0);
+    TRowResult rowResult2 = handler.getRowTs(tableAname, rowAname, time2).get(0);
     assertTrue(Bytes.equals(rowResult1.columns.get(columnAname).value, valueAname));
     assertTrue(Bytes.equals(rowResult1.columns.get(columnBname).value, valueBname));
     assertTrue(Bytes.equals(rowResult2.columns.get(columnBname).value, valueCname));
@@ -221,11 +202,11 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     List columns = new ArrayList();
     columns.add(columnBname);
 
-    rowResult1 = handler.getRowWithColumns(tableAname, rowAname, columns);
+    rowResult1 = handler.getRowWithColumns(tableAname, rowAname, columns).get(0);
     assertTrue(Bytes.equals(rowResult1.columns.get(columnBname).value, valueCname));
     assertFalse(rowResult1.columns.containsKey(columnAname));
 
-    rowResult1 = handler.getRowWithColumnsTs(tableAname, rowAname, columns, time1);
+    rowResult1 = handler.getRowWithColumnsTs(tableAname, rowAname, columns, time1).get(0);
     assertTrue(Bytes.equals(rowResult1.columns.get(columnBname).value, valueBname));
     assertFalse(rowResult1.columns.containsKey(columnAname));
     
@@ -234,21 +215,9 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     handler.deleteAllRowTs(tableAname, rowBname, time2);
 
     // Assert that the timestamp-related methods retrieve the correct data
-    boolean failed = false;
-    try {
-      handler.getVerTs(tableAname, rowAname, columnBname, time1, MAXVERSIONS);
-    } catch (NotFound nf) {
-      failed = true;
-    }
-    assertTrue(failed);
-    assertTrue(Bytes.equals(handler.get(tableAname, rowAname, columnBname).value, valueCname));
-    boolean failed2 = false;
-    try {
-      handler.getRow(tableAname, rowBname);
-    } catch (NotFound nf) {
-      failed2 = true;
-    }
-    assertTrue(failed2);
+    assertFalse(handler.getVerTs(tableAname, rowAname, columnBname, time1, MAXVERSIONS).size() > 0);
+    assertTrue(Bytes.equals(handler.get(tableAname, rowAname, columnBname).get(0).value, valueCname));
+    assertFalse(handler.getRow(tableAname, rowBname).size() > 0);
 
     // Teardown
     handler.disableTable(tableAname);
@@ -280,11 +249,11 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
 
     // Test a scanner on all rows and all columns, no timestamp
     int scanner1 = handler.scannerOpen(tableAname, rowAname, getColumnList(true, true));
-    TRowResult rowResult1a = handler.scannerGet(scanner1);
+    TRowResult rowResult1a = handler.scannerGet(scanner1).get(0);
     assertTrue(Bytes.equals(rowResult1a.row, rowAname));
     assertEquals(rowResult1a.columns.size(), 1);
     assertTrue(Bytes.equals(rowResult1a.columns.get(columnBname).value, valueCname));
-    TRowResult rowResult1b = handler.scannerGet(scanner1);
+    TRowResult rowResult1b = handler.scannerGet(scanner1).get(0);
     assertTrue(Bytes.equals(rowResult1b.row, rowBname));
     assertEquals(rowResult1b.columns.size(), 2);
     assertTrue(Bytes.equals(rowResult1b.columns.get(columnAname).value, valueCname));
@@ -293,7 +262,7 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
 
     // Test a scanner on all rows and all columns, with timestamp
     int scanner2 = handler.scannerOpenTs(tableAname, rowAname, getColumnList(true, true), time1);
-    TRowResult rowResult2a = handler.scannerGet(scanner2);
+    TRowResult rowResult2a = handler.scannerGet(scanner2).get(0);
     assertEquals(rowResult2a.columns.size(), 2);
     assertTrue(Bytes.equals(rowResult2a.columns.get(columnAname).value, valueAname));
     assertTrue(Bytes.equals(rowResult2a.columns.get(columnBname).value, valueBname));
@@ -307,7 +276,7 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
     // Test a scanner on the first row and second column only, with timestamp
     int scanner4 = handler.scannerOpenWithStopTs(tableAname, rowAname, rowBname, 
         getColumnList(false, true), time1);
-    TRowResult rowResult4a = handler.scannerGet(scanner4);
+    TRowResult rowResult4a = handler.scannerGet(scanner4).get(0);
     assertEquals(rowResult4a.columns.size(), 1);
     assertTrue(Bytes.equals(rowResult4a.columns.get(columnBname).value, valueBname));
 
@@ -394,13 +363,7 @@ public class DisabledTestThriftServer extends HBaseClusterTestCase {
    * @throws Exception
    */
   private void closeScanner(int scannerId, ThriftServer.HBaseHandler handler) throws Exception {
-    boolean failed = false;
-    try {
-      handler.scannerGet(scannerId);
-    } catch (NotFound nf) {
-      failed = true;
-    }
-    assertTrue(failed);
+    handler.scannerGet(scannerId);
     handler.scannerClose(scannerId);
   }
 }