public void write(org.apache.thrift.protocol.TProtocol oprot, Complex struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(AINT_FIELD_DESC);
      oprot.writeI32(struct.aint);
      oprot.writeFieldEnd();
      if (struct.aString != null) {
        oprot.writeFieldBegin(A_STRING_FIELD_DESC);
        oprot.writeString(struct.aString);
        oprot.writeFieldEnd();
      }
      if (struct.lint != null) {
        oprot.writeFieldBegin(LINT_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.lint.size()));
          for (int _iter43 : struct.lint)
          {
            oprot.writeI32(_iter43);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.lString != null) {
        oprot.writeFieldBegin(L_STRING_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.lString.size()));
          for (java.lang.String _iter44 : struct.lString)
          {
            oprot.writeString(_iter44);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.lintString != null) {
        oprot.writeFieldBegin(LINT_STRING_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.lintString.size()));
          for (IntString _iter45 : struct.lintString)
          {
            _iter45.write(oprot);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.mStringString != null) {
        oprot.writeFieldBegin(M_STRING_STRING_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.mStringString.size()));
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter46 : struct.mStringString.entrySet())
          {
            oprot.writeString(_iter46.getKey());
            oprot.writeString(_iter46.getValue());
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.attributes != null) {
        oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
        {
          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, struct.attributes.size()));
          for (java.util.Map.Entry<java.lang.String, java.util.Map<java.lang.String,java.util.Map<java.lang.String,PropValueUnion>>> _iter47 : struct.attributes.entrySet())
          {
            oprot.writeString(_iter47.getKey());
            {
              oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.MAP, _iter47.getValue().size()));
              for (java.util.Map.Entry<java.lang.String, java.util.Map<java.lang.String,PropValueUnion>> _iter48 : _iter47.getValue().entrySet())
              {
                oprot.writeString(_iter48.getKey());
                {
                  oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, _iter48.getValue().size()));
                  for (java.util.Map.Entry<java.lang.String, PropValueUnion> _iter49 : _iter48.getValue().entrySet())
                  {
                    oprot.writeString(_iter49.getKey());
                    _iter49.getValue().write(oprot);
                  }
                  oprot.writeMapEnd();
                }
              }
              oprot.writeMapEnd();
            }
          }
          oprot.writeMapEnd();
        }
        oprot.writeFieldEnd();
      }
      if (struct.unionField1 != null) {
        oprot.writeFieldBegin(UNION_FIELD1_FIELD_DESC);
        struct.unionField1.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.unionField2 != null) {
        oprot.writeFieldBegin(UNION_FIELD2_FIELD_DESC);
        struct.unionField2.write(oprot);
        oprot.writeFieldEnd();
      }
      if (struct.unionField3 != null) {
        oprot.writeFieldBegin(UNION_FIELD3_FIELD_DESC);
        struct.unionField3.write(oprot);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }
Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java