001// Automatically generated by the Thrifty compiler; do not edit!
002// Generated on: 2021-05-17T06:20:27.425Z
003// Source: J:\facedb\facedb-service\FaceDb.thrift at 145:1
004package net.gdface.facedb.thrift.client;
005
006import com.microsoft.thrifty.Adapter;
007import com.microsoft.thrifty.Struct;
008import com.microsoft.thrifty.StructBuilder;
009import com.microsoft.thrifty.TType;
010import com.microsoft.thrifty.ThriftField;
011import com.microsoft.thrifty.protocol.FieldMetadata;
012import com.microsoft.thrifty.protocol.ListMetadata;
013import com.microsoft.thrifty.protocol.Protocol;
014import com.microsoft.thrifty.util.ProtocolUtil;
015import java.io.IOException;
016import java.util.ArrayList;
017import java.util.Collections;
018import java.util.List;
019import javax.annotation.Generated;
020
021@Generated(
022    value = "com.microsoft.thrifty.gen.ThriftyCodeGenerator",
023    comments = "https://github.com/microsoft/thrifty"
024)
025public final class CompareResult implements Struct {
026  public static final Adapter<CompareResult, Builder> ADAPTER = new CompareResultAdapter();
027
028  @ThriftField(
029      fieldId = 1,
030      isOptional = true
031  )
032  public final List<CodeInfo> codes;
033
034  @ThriftField(
035      fieldId = 2,
036      isOptional = true
037  )
038  public final List<Double> similartys;
039
040  private CompareResult(Builder builder) {
041    this.codes = builder.codes == null ? null : Collections.unmodifiableList(builder.codes);
042    this.similartys = builder.similartys == null ? null : Collections.unmodifiableList(builder.similartys);
043  }
044
045  @Override
046  public boolean equals(Object other) {
047    if (this == other) return true;
048    if (other == null) return false;
049    if (!(other instanceof CompareResult)) return false;
050    CompareResult that = (CompareResult) other;
051    return (this.codes == that.codes || (this.codes != null && this.codes.equals(that.codes)))
052        && (this.similartys == that.similartys || (this.similartys != null && this.similartys.equals(that.similartys)));
053  }
054
055  @Override
056  public int hashCode() {
057    int code = 16777619;
058    code ^= (this.codes == null) ? 0 : this.codes.hashCode();
059    code *= 0x811c9dc5;
060    code ^= (this.similartys == null) ? 0 : this.similartys.hashCode();
061    code *= 0x811c9dc5;
062    return code;
063  }
064
065  @Override
066  public String toString() {
067    return "CompareResult{codes=" + this.codes + ", similartys=" + this.similartys + "}";
068  }
069
070  @Override
071  public void write(Protocol protocol) throws IOException {
072    ADAPTER.write(protocol, this);
073  }
074
075  public static final class Builder implements StructBuilder<CompareResult> {
076    private List<CodeInfo> codes;
077
078    private List<Double> similartys;
079
080    public Builder() {
081    }
082
083    public Builder(CompareResult struct) {
084      this.codes = struct.codes;
085      this.similartys = struct.similartys;
086    }
087
088    public Builder codes(List<CodeInfo> codes) {
089      this.codes = codes;
090      return this;
091    }
092
093    public Builder similartys(List<Double> similartys) {
094      this.similartys = similartys;
095      return this;
096    }
097
098    @Override
099    public CompareResult build() {
100      return new CompareResult(this);
101    }
102
103    @Override
104    public void reset() {
105      this.codes = null;
106      this.similartys = null;
107    }
108  }
109
110  private static final class CompareResultAdapter implements Adapter<CompareResult, Builder> {
111    @Override
112    public void write(Protocol protocol, CompareResult struct) throws IOException {
113      protocol.writeStructBegin("CompareResult");
114      if (struct.codes != null) {
115        protocol.writeFieldBegin("codes", 1, TType.LIST);
116        protocol.writeListBegin(TType.STRUCT, struct.codes.size());
117        for (CodeInfo item0 : struct.codes) {
118          net.gdface.facedb.thrift.client.CodeInfo.ADAPTER.write(protocol, item0);
119        }
120        protocol.writeListEnd();
121        protocol.writeFieldEnd();
122      }
123      if (struct.similartys != null) {
124        protocol.writeFieldBegin("similartys", 2, TType.LIST);
125        protocol.writeListBegin(TType.DOUBLE, struct.similartys.size());
126        for (Double item0 : struct.similartys) {
127          protocol.writeDouble(item0);
128        }
129        protocol.writeListEnd();
130        protocol.writeFieldEnd();
131      }
132      protocol.writeFieldStop();
133      protocol.writeStructEnd();
134    }
135
136    @Override
137    public CompareResult read(Protocol protocol, Builder builder) throws IOException {
138      protocol.readStructBegin();
139      while (true) {
140        FieldMetadata field = protocol.readFieldBegin();
141        if (field.typeId == TType.STOP) {
142          break;
143        }
144        switch (field.fieldId) {
145          case 1: {
146            if (field.typeId == TType.LIST) {
147              ListMetadata listMetadata0 = protocol.readListBegin();
148              List<CodeInfo> value = new ArrayList<CodeInfo>(listMetadata0.size);
149              for (int i0 = 0; i0 < listMetadata0.size; ++i0) {
150                net.gdface.facedb.thrift.client.CodeInfo item0 = net.gdface.facedb.thrift.client.CodeInfo.ADAPTER.read(protocol);
151                value.add(item0);
152              }
153              protocol.readListEnd();
154              builder.codes(value);
155            } else {
156              ProtocolUtil.skip(protocol, field.typeId);
157            }
158          }
159          break;
160          case 2: {
161            if (field.typeId == TType.LIST) {
162              ListMetadata listMetadata0 = protocol.readListBegin();
163              List<Double> value = new ArrayList<Double>(listMetadata0.size);
164              for (int i0 = 0; i0 < listMetadata0.size; ++i0) {
165                double item0 = protocol.readDouble();
166                value.add(item0);
167              }
168              protocol.readListEnd();
169              builder.similartys(value);
170            } else {
171              ProtocolUtil.skip(protocol, field.typeId);
172            }
173          }
174          break;
175          default: {
176            ProtocolUtil.skip(protocol, field.typeId);
177          }
178          break;
179        }
180        protocol.readFieldEnd();
181      }
182      protocol.readStructEnd();
183      return builder.build();
184    }
185
186    @Override
187    public CompareResult read(Protocol protocol) throws IOException {
188      return read(protocol, new Builder());
189    }
190  }
191}