blob: fc488f4e773a5716aaf08c33bde6cc9c0d417902 [file] [log] [blame]
/*
* 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.
*/
library thrift.test.serializer.serializer_test;
import 'package:thrift/thrift.dart';
/// TestTObject is a simple test struct
class TestTObject implements TBase {
static final TStruct _STRUCT_DESC = TStruct("TestTObject");
static final TField _I_FIELD_DESC = TField("i", TType.I32, 1);
static final TField _D_FIELD_DESC = TField("d", TType.DOUBLE, 2);
static final TField _S_FIELD_DESC = TField("s", TType.STRING, 3);
static final TField _L_FIELD_DESC = TField("l", TType.LIST, 4);
static final TField _B_FIELD_DESC = TField("b", TType.BOOL, 5);
int _i;
static const int I = 1;
double _d;
static const int D = 2;
String _s;
static const int S = 3;
List<String> _l;
static const int L = 4;
bool _b;
static const int B = 5;
bool __isset_i = false;
bool __isset_d = false;
bool __isset_b = false;
TestTObject();
// i
int get i => this._i;
set i(int i) {
this._i = i;
this.__isset_i = true;
}
bool isSetI() => this.__isset_i;
unsetI() {
this.__isset_i = false;
}
// d
double get d => this._d;
set d(double d) {
this._d = d;
this.__isset_d = true;
}
bool isSetD() => this.__isset_d;
unsetD() {
this.__isset_d = false;
}
// s
String get s => this._s;
set s(String s) {
this._s = s;
}
bool isSetS() => this.s != null;
unsetS() {
this.s = null;
}
// l
List<String> get l => this._l;
set l(List<String> l) {
this._l = l;
}
bool isSetL() => this.l != null;
unsetL() {
this.l = null;
}
// b
bool get b => this._b;
set b(bool b) {
this._b = b;
this.__isset_b = true;
}
bool isSetB() => this.__isset_b;
unsetB() {
this.__isset_b = false;
}
@override
getFieldValue(int fieldID) {
switch (fieldID) {
case I:
return this.i;
case D:
return this.d;
case S:
return this.s;
case L:
return this.l;
case B:
return this.b;
default:
throw ArgumentError("Field $fieldID doesn't exist!");
}
}
@override
setFieldValue(int fieldID, Object value) {
switch (fieldID) {
case I:
if (value == null) {
unsetI();
} else {
this.i = value;
}
break;
case D:
if (value == null) {
unsetD();
} else {
this.d = value;
}
break;
case S:
if (value == null) {
unsetS();
} else {
this.s = value;
}
break;
case L:
if (value == null) {
unsetL();
} else {
this.l = value as List<String>;
}
break;
case B:
if (value == null) {
unsetB();
} else {
this.b = value;
}
break;
default:
throw ArgumentError("Field $fieldID doesn't exist!");
}
}
// Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
@override
bool isSet(int fieldID) {
switch (fieldID) {
case I:
return isSetI();
case D:
return isSetD();
case S:
return isSetS();
case L:
return isSetL();
case B:
return isSetB();
default:
throw ArgumentError("Field $fieldID doesn't exist!");
}
}
@override
read(TProtocol iprot) {
TField field;
iprot.readStructBegin();
while (true) {
field = iprot.readFieldBegin();
if (field.type == TType.STOP) {
break;
}
switch (field.id) {
case I:
if (field.type == TType.I32) {
this.i = iprot.readI32();
this.__isset_i = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case D:
if (field.type == TType.DOUBLE) {
this.d = iprot.readDouble();
this.__isset_d = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case S:
if (field.type == TType.STRING) {
this.s = iprot.readString();
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case L:
if (field.type == TType.LIST) {
{
TList _list74 = iprot.readListBegin();
this.l = List<String>();
for (int _i75 = 0; _i75 < _list74.length; ++_i75) {
String _elem76;
_elem76 = iprot.readString();
this.l.add(_elem76);
}
iprot.readListEnd();
}
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
case B:
if (field.type == TType.BOOL) {
this.b = iprot.readBool();
this.__isset_b = true;
} else {
TProtocolUtil.skip(iprot, field.type);
}
break;
default:
TProtocolUtil.skip(iprot, field.type);
break;
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be checked in the validate method
validate();
}
@override
write(TProtocol oprot) {
validate();
oprot.writeStructBegin(_STRUCT_DESC);
oprot.writeFieldBegin(_I_FIELD_DESC);
oprot.writeI32(this.i);
oprot.writeFieldEnd();
oprot.writeFieldBegin(_D_FIELD_DESC);
oprot.writeDouble(this.d);
oprot.writeFieldEnd();
if (this.s != null) {
oprot.writeFieldBegin(_S_FIELD_DESC);
oprot.writeString(this.s);
oprot.writeFieldEnd();
}
if (this.l != null) {
oprot.writeFieldBegin(_L_FIELD_DESC);
{
oprot.writeListBegin(TList(TType.STRING, this.l.length));
for (var elem77 in this.l) {
oprot.writeString(elem77);
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
oprot.writeFieldBegin(_B_FIELD_DESC);
oprot.writeBool(this.b);
oprot.writeFieldEnd();
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@override
String toString() {
StringBuffer ret = StringBuffer("TestTObject(");
ret.write("i:");
ret.write(this.i);
ret.write(", ");
ret.write("d:");
ret.write(this.d);
ret.write(", ");
ret.write("s:");
if (this.s == null) {
ret.write("null");
} else {
ret.write(this.s);
}
ret.write(", ");
ret.write("l:");
if (this.l == null) {
ret.write("null");
} else {
ret.write(this.l);
}
ret.write(", ");
ret.write("b:");
ret.write(this.b);
ret.write(")");
return ret.toString();
}
validate() {
// check for required fields
// check that fields of type enum have valid values
}
}