All Downloads are FREE. Search and download functionalities are using the official Maven repository.

open_rtb.SeatBid Maven / Gradle / Ivy

There is a newer version: 3.1.2
Show newest version
/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */

package open_rtb;

/** 4.3.2 Seat Bid Object
A bid response can contain multiple “seatbid” objects, each on behalf of a different bidder seat. Since a bid request can include multiple impressions, each “seatbid” object can contain multiple bids each pertaining to a different impression on behalf of a seat. Thus, each “bid” object must include the impression ID to which it pertains as well as the bid price. The “group” attribute can be used to specify if a seat is willing to accept any impressions that it can win (default) or if it is only interested in winning any if it can win them all (i.e., all or nothing). */
public interface SeatBid
  extends java.util.function.Supplier,
          java.lang.Comparable>,
          java.io.Serializable {

  /** True if all fields are set to default values. */
  default boolean isDefault() {
    return
      isDefaultBid() &&
      isDefaultSeat() &&
      isDefaultGroup();
  }

  /** Returns underlying object. */
  T get();

  /** Creates a new builder based on this object. */
  Builder newBuilder();

  /** Array of bid objects; each bid object relates to an imp object in the bid request. Note that, if supported by an exchange, one imp object can have many bid objects. */
  java.util.List> getBid();

  boolean isDefaultBid();

  /** ID of the bidder seat on whose behalf this bid is made. */
  java.lang.String getSeat();

  boolean isDefaultSeat();

  /** “1” means impressions must be won-lost as a group; default is “0”. */
  int getGroup();

  boolean isDefaultGroup();

  public interface Builder {

    SeatBid build();

    Builder setBid(java.util.List> value);

    Builder clearBid();

    Builder setSeat(java.lang.String value);

    Builder clearSeat();

    Builder setGroup(int value);

    Builder clearGroup();
  }


  static class Comparator implements java.util.Comparator>, java.io.Serializable {

    @Override public int compare(open_rtb.SeatBid a, open_rtb.SeatBid b) {
      int _cmp;
      if (0 != (_cmp = compareBid(a, b))) return _cmp;
      if (0 != (_cmp = compareSeat(a, b))) return _cmp;
      if (0 != (_cmp = compareGroup(a, b))) return _cmp;
      return 0;
    }

    static private int compareBid (open_rtb.SeatBid a, open_rtb.SeatBid b) {
      final java.util.List> fa = a.getBid();
      final java.util.List> fb = b.getBid();
      int _cmp = 0; java.util.Iterator> a_it0 = fa.iterator(); java.util.Iterator> b_it0 = fb.iterator(); while (a_it0.hasNext() && b_it0.hasNext()) { if (0 != (_cmp = a_it0.next().compareTo(b_it0.next()))) return _cmp; } if (a_it0.hasNext()) return 1; if (b_it0.hasNext()) return -1; return 0;
    }

    static private int compareSeat (open_rtb.SeatBid a, open_rtb.SeatBid b) {
      final java.lang.String fa = a.getSeat();
      final java.lang.String fb = b.getSeat();
      return fa.compareTo(fb);
    }

    static private int compareGroup (open_rtb.SeatBid a, open_rtb.SeatBid b) {
      final java.lang.Integer fa = a.getGroup();
      final java.lang.Integer fb = b.getGroup();
      return java.lang.Integer.compareUnsigned(fa, fb);
    }

    static private final Comparator INSTANCE = new Comparator();

    static public final long serialVersionUID = 3;
  }

  /** Returns comparator instance for SeatBid objects. */
  static java.util.Comparator> getComparator() {
    return Comparator.INSTANCE;
  }

  @Override default int compareTo(open_rtb.SeatBid other) {
    return getComparator().compare(this, other);
  }

  static class NativeImpl implements open_rtb.SeatBid {

    transient private java.lang.String json;
    private java.util.List> __bid;
    transient private java.lang.Boolean is_default$bid;
    transient private java.util.List> _bid;
    private java.lang.String __seat;
    transient private java.lang.Boolean is_default$seat;
    private int __group;
    transient private java.lang.Boolean is_default$group;

    private NativeImpl() {
      __bid = java.util.Collections.emptyList();
      is_default$bid = java.lang.Boolean.TRUE;
      __seat = "";
      is_default$seat = java.lang.Boolean.TRUE;
      __group = 0;
      is_default$group = java.lang.Boolean.TRUE;
      json = "{}";
    }

    private NativeImpl(NativeImpl other) {
      setBid(other.getBid());
      setSeat(other.getSeat());
      setGroup(other.getGroup());
      json = other.json;
    }

    @Override public NativeImpl get() {
      return this;
    }

    @Override public Builder newBuilder() {
      return newNativeImplBuilder(this);
    }

    private java.lang.String buildJson() {
      java.lang.StringBuilder sb = new StringBuilder();
      if (!isDefaultBid()) {
        sb.append((0 == sb.length()) ? "{\"bid\": " : ", \"bid\": ")
          .append(__bid.stream().map(java.lang.Object::toString).collect(java.util.stream.Collectors.joining(", ", "[", "]")));
      }
      if (!isDefaultSeat()) {
        sb.append((0 == sb.length()) ? "{\"seat\": " : ", \"seat\": ")
          .append("\"" + __seat.replace("\"","\\\"") + '\"');
      }
      if (!isDefaultGroup()) {
        sb.append((0 == sb.length()) ? "{\"group\": " : ", \"group\": ")
          .append(__group);
      }
      return (0 == sb.length()) ? "{}" : sb.append('}').toString();
    }

    @Override public String toString() {
      if (null == json) {
        json = buildJson();
      }
      return json;
    }

    @Override public int hashCode() {
      return toString().hashCode();
    }

    @Override public boolean equals(Object other) {
      if (other == this) return true;
      if (other == null || !(other instanceof NativeImpl)) return false;
      return toString().equals(other.toString());
    }

    @Override public java.util.List> getBid() {
      if (null == _bid) {
        _bid = java.util.Collections.unmodifiableList(__bid);
      }
      return _bid;
    }

    @Override public boolean isDefaultBid() {
      if (null == is_default$bid) {
        is_default$bid = getBid().isEmpty();
      }
      return is_default$bid;
    }

    private void setBid(java.util.List> value) {
      this.__bid = value.stream().map(open_rtb.Bid::nativeImpl).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList<>(value.size())));
      this.is_default$bid = null;
      this.json = null;
      this._bid = null;
    }

    @Override public java.lang.String getSeat() {
      return __seat;
    }

    @Override public boolean isDefaultSeat() {
      if (null == is_default$seat) {
        is_default$seat = getSeat().length() == 0;
      }
      return is_default$seat;
    }

    private void setSeat(java.lang.String value) {
      this.__seat = value;
      this.is_default$seat = null;
      this.json = null;
    }

    @Override public int getGroup() {
      return __group;
    }

    @Override public boolean isDefaultGroup() {
      if (null == is_default$group) {
        is_default$group = 0 == getGroup();
      }
      return is_default$group;
    }

    private void setGroup(int value) {
      this.__group = value;
      this.is_default$group = null;
      this.json = null;
    }

    static class NativeImplBuilder implements Builder {

      private NativeImpl wrapped = new NativeImpl();

      @Override public open_rtb.SeatBid build() {
        return new NativeImpl(wrapped);
      }

      @Override public Builder setBid(java.util.List> value) {
        if (value.isEmpty()) {
          return clearBid();
        }
        wrapped.setBid(value);
        return this;
      }

      @Override public Builder clearBid() {
        wrapped.__bid = _DEFAULT.get().__bid;
        wrapped.is_default$bid = true;
        wrapped._bid = _DEFAULT.get()._bid;
        return this;
      }

      @Override public Builder setSeat(java.lang.String value) {
        if (value.length() == 0) {
          return clearSeat();
        }
        wrapped.setSeat(value);
        return this;
      }

      @Override public Builder clearSeat() {
        wrapped.__seat = _DEFAULT.get().__seat;
        wrapped.is_default$seat = true;
        return this;
      }

      @Override public Builder setGroup(int value) {
        if (0 == value) {
          return clearGroup();
        }
        wrapped.setGroup(value);
        return this;
      }

      @Override public Builder clearGroup() {
        wrapped.__group = _DEFAULT.get().__group;
        wrapped.is_default$group = true;
        return this;
      }
    }

    static private java.lang.ThreadLocal _DEFAULT = new java.lang.ThreadLocal() {
      @Override protected NativeImpl initialValue() {
        NativeImpl instance = new NativeImpl();
        assert instance.isDefault();
        return instance;
      }
    };

    static public final long serialVersionUID = 3;
  }

  /** Returns a POJO builder instance with default values. */
  static Builder newNativeImplBuilder() { return new NativeImpl.NativeImplBuilder(); }

  /** Returns a POJO builder instance based on existing prototype SeatBid. */
  static Builder newNativeImplBuilder(open_rtb.SeatBid other) {
    return newNativeImplBuilder()
      .setBid(other.getBid())
      .setSeat(other.getSeat())
      .setGroup(other.getGroup());
  }

  /** Returns a POJO based on an instance of SeatBid. */
  static NativeImpl nativeImpl(open_rtb.SeatBid instance) {
    if (instance instanceof NativeImpl) {
      return (NativeImpl) instance;
    } else {
      return (NativeImpl) newNativeImplBuilder(instance).build();
    }
  }

  static class Avro implements open_rtb.SeatBid {

    private byte[] binaryEncoding;
    transient private open_rtb.SeatBidAvro wrapped;
    transient private java.lang.Boolean is_default$bid;
    transient private java.util.List> _bid;
    transient private java.lang.Boolean is_default$seat;
    transient private java.lang.String _seat;
    transient private java.lang.Boolean is_default$group;

    private Avro(open_rtb.SeatBidAvro wrapped, byte[] binaryEncoding) {
      this.wrapped = wrapped;
      this.binaryEncoding = binaryEncoding;
    }

    /** Constructs a new Avro instance based on a message's binary encoding. Only use this if you know what you're doing. */
    public Avro(byte[] binaryEncoding) { this(null, binaryEncoding); }

    @Override public open_rtb.SeatBidAvro get() {
      if (wrapped == null) {
        try {
          wrapped = decode(binaryEncoding);
        } catch (java.io.IOException e) {
          throw new java.io.UncheckedIOException(e);
        }
      }
      return wrapped;
    }

    @Override public Builder newBuilder() {
      return newAvroBuilder(get());
    }

    /** Returns an Avro binary encoding of this record. */
    public byte[] toByteArray() {
      return (byte[]) encoded().binaryEncoding.clone();
    }

    /** Returns the Avro binary encoding of this record wrapped in a read-only buffer. */
    public java.nio.ByteBuffer toByteBuffer() {
      return java.nio.ByteBuffer.wrap(encoded().binaryEncoding).asReadOnlyBuffer();
    }

    @Override public java.util.List> getBid() {
      if (_bid == null) {
        _bid = java.util.Collections.unmodifiableList(get().bid.stream().map(open_rtb.Bid::avro).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList>(get().bid.size()))));
      }
      return _bid;
    }

    @Override public boolean isDefaultBid() {
      if (is_default$bid == null) {
        is_default$bid = getBid().isEmpty();
      }
      return is_default$bid;
    }

    @Override public java.lang.String getSeat() {
      if (_seat == null) {
        _seat = java.util.Optional.of(get().seat).map(java.lang.Object::toString).orElse("");
      }
      return _seat;
    }

    @Override public boolean isDefaultSeat() {
      if (is_default$seat == null) {
        is_default$seat = getSeat().length() == 0;
      }
      return is_default$seat;
    }

    @Override public int getGroup() {
      return get().group;
    }

    @Override public boolean isDefaultGroup() {
      if (is_default$group == null) {
        is_default$group = 0 == getGroup();
      }
      return is_default$group;
    }

    @Override public boolean equals(Object other) {
      if (other == this) return true;
      if (other == null && !(other instanceof Avro)) return false;
      return get().equals(((Avro) other).get());
    }

    @Override public int hashCode() { return get().hashCode(); }

    @Override public String toString() { return get().toString(); }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      if (binaryEncoding == null) { encode(); }
      out.defaultWriteObject();
    }

    public Avro encoded() {
      if (binaryEncoding != null) {
        try {
          encode();
        } catch (java.io.IOException e) {
          throw new java.io.UncheckedIOException(e);
        }
      }
      return this;
    }

    private void encode() throws java.io.IOException {
      java.io.ByteArrayOutputStream stream = _ENCODER_STREAM.get();
      org.apache.avro.io.BinaryEncoder encoder = _ENCODER.get();
      stream.reset();
      wrapped.encode(encoder);
      encoder.flush();
      binaryEncoding = stream.toByteArray();
    }

    static private open_rtb.SeatBidAvro decode(byte[] binaryEncoding) throws java.io.IOException {
      open_rtb.SeatBidAvro instance = new open_rtb.SeatBidAvro();
      org.apache.avro.io.BinaryDecoder decoder = org.apache.avro.io.DecoderFactory.get().binaryDecoder(binaryEncoding, _DECODER.get());
      return instance.decode(decoder);
    }

    /** Decodes a Avro record. */
    static public open_rtb.SeatBid from(byte[] binaryEncoding) throws java.io.IOException {
      return new Avro(decode(binaryEncoding), binaryEncoding);
    }

    static private java.lang.ThreadLocal _DECODER = new java.lang.ThreadLocal() {
      @Override protected org.apache.avro.io.BinaryDecoder initialValue() { return org.apache.avro.io.DecoderFactory.get().binaryDecoder(new byte[0], null); }
    };

    static private java.lang.ThreadLocal _ENCODER_STREAM = new java.lang.ThreadLocal() {
      @Override protected java.io.ByteArrayOutputStream initialValue() { return new java.io.ByteArrayOutputStream(); }
    };

    static private java.lang.ThreadLocal _ENCODER = new java.lang.ThreadLocal() {
      @Override protected org.apache.avro.io.BinaryEncoder initialValue() { return org.apache.avro.io.EncoderFactory.get().binaryEncoder(_ENCODER_STREAM.get(), null); }
    };

    static private java.lang.ThreadLocal _DEFAULT = new java.lang.ThreadLocal() {
      @Override protected Avro initialValue() { return new Avro(open_rtb.SeatBidAvro.newBuilder().build(), null); }
    };

    static public final long serialVersionUID = 3;
  }

  static class AvroBuilder implements Builder {

    final private open_rtb.SeatBidAvro.Builder builder;

    /** Only use this if you know what you are doing. */
    public AvroBuilder(open_rtb.SeatBidAvro.Builder builder) { this.builder = builder; }

    @Override public open_rtb.SeatBid build() {
      return new Avro(builder.build(), null);
    }

    @Override public Builder setBid(java.util.List> value) {
      builder.setBid(value.stream().map(open_rtb.Bid::avro).map(java.util.function.Supplier::get).collect(java.util.stream.Collectors.toCollection(() -> new org.apache.avro.generic.GenericData.Array<>(value.size(), open_rtb.SeatBidAvro.SCHEMA$.getFields().get(0).schema()))));
      return this;
    }

    @Override public Builder clearBid() {
      builder.clearBid();
      return this;
    }

    @Override public Builder setSeat(java.lang.String value) {
      builder.setSeat(new org.apache.avro.util.Utf8(value));
      return this;
    }

    @Override public Builder clearSeat() {
      builder.clearSeat();
      return this;
    }

    @Override public Builder setGroup(int value) {
      builder.setGroup(value);
      return this;
    }

    @Override public Builder clearGroup() {
      builder.clearGroup();
      return this;
    }
  }

  /** Returns new Avro builder instance with default values. */
  static Builder newAvroBuilder() {
    return new AvroBuilder(open_rtb.SeatBidAvro.newBuilder());
  }

  /** Returns new Avro builder instance based on existing prototype. */
  static Builder newAvroBuilder(open_rtb.SeatBidAvro other) {
    return new AvroBuilder(open_rtb.SeatBidAvro.newBuilder(other));
  }

  /** Returns new Avro builder instance based on existing prototype builder. */
  static Builder newAvroBuilder(open_rtb.SeatBidAvro.Builder other) {
    return new AvroBuilder(open_rtb.SeatBidAvro.newBuilder(other));
  }

  /** Returns new Avro builder instance based on existing prototype SeatBid. */
  static Builder newAvroBuilder(open_rtb.SeatBid other) {
    return newAvroBuilder()
      .setBid(other.getBid())
      .setSeat(other.getSeat())
      .setGroup(other.getGroup());
  }

  /** Returns a wrapped Avro record based on an instance of SeatBid. */
  static Avro avro(open_rtb.SeatBid instance) {
    if (instance instanceof Avro) {
      return (Avro) instance;
    } else {
      return (Avro) newAvroBuilder(instance).build();
    }
  }

  /** Wraps an existing Avro record. */
  static Avro avro(open_rtb.SeatBidAvro wrapped) {
    assert wrapped != null;
    return new Avro(wrapped.freeze(), null);
  }

  /** Returns Avro record class. */
  static java.lang.Class getAvroClass() {
    return open_rtb.SeatBidAvro.class;
  }

  /** Returns Avro record schema. */
  static org.apache.avro.Schema getAvroSchema() {
    return open_rtb.SeatBidAvro.SCHEMA$;
  }

  static class Protobuf implements open_rtb.SeatBid {

    private byte[] binaryEncoding;
    transient private open_rtb.OpenRtbProtobuf.SeatBid wrapped;
    transient private java.lang.Boolean is_default$bid;
    transient private java.util.List> _bid;
    transient private java.lang.Boolean is_default$seat;
    transient private java.lang.Boolean is_default$group;

    private Protobuf(open_rtb.OpenRtbProtobuf.SeatBid wrapped, byte[] binaryEncoding) {
      this.wrapped = wrapped;
      this.binaryEncoding = binaryEncoding;
    }

    /** Constructs a new Protobuf instance based on a message's binary encoding. Only use this if you know what you're doing. */
    public Protobuf(byte[] binaryEncoding) { this(null, binaryEncoding); }

    @Override public open_rtb.OpenRtbProtobuf.SeatBid get() {
      if (wrapped == null) {
        try {
          wrapped = open_rtb.OpenRtbProtobuf.SeatBid.parseFrom(binaryEncoding);
        } catch (java.io.IOException e) {
          throw new java.io.UncheckedIOException(e);
        }
      }
      return wrapped;
    }

    @Override public Builder newBuilder() {
      return newProtobufBuilder(get());
    }

    @Override public java.util.List> getBid() {
      if (_bid == null) {
        _bid = java.util.Collections.unmodifiableList(get().getBidList().stream().map(open_rtb.Bid::protobuf).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList>(get().getBidCount()))));
      }
      return _bid;
    }

    @Override public boolean isDefaultBid() {
      if (is_default$bid == null) {
        is_default$bid = getBid().isEmpty();
      }
      return is_default$bid;
    }

    @Override public java.lang.String getSeat() {
      return get().getSeat();
    }

    @Override public boolean isDefaultSeat() {
      if (is_default$seat == null) {
        is_default$seat = getSeat().length() == 0;
      }
      return is_default$seat;
    }

    @Override public int getGroup() {
      return get().getGroup();
    }

    @Override public boolean isDefaultGroup() {
      if (is_default$group == null) {
        is_default$group = 0 == getGroup();
      }
      return is_default$group;
    }

    @Override public boolean equals(Object other) {
      if (other == this) return true;
      if (other == null && !(other instanceof Protobuf)) return false;
      return get().equals(((Protobuf) other).get());
    }

    @Override public int hashCode() { return get().hashCode(); }

    @Override public String toString() { return get().toString(); }

    private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
      if (binaryEncoding == null) {
        binaryEncoding = wrapped.toByteArray();
      }
      out.defaultWriteObject();
    }

    /** Decodes a Protobuf message. */
    static public open_rtb.SeatBid from(byte[] binaryEncoding) throws java.io.IOException {
      return new Protobuf(open_rtb.OpenRtbProtobuf.SeatBid.parseFrom(binaryEncoding), binaryEncoding);
    }

    static private java.lang.ThreadLocal _DEFAULT = new java.lang.ThreadLocal() {
      @Override protected Protobuf initialValue() { return new Protobuf(open_rtb.OpenRtbProtobuf.SeatBid.getDefaultInstance() , null); }
    };

    static public final long serialVersionUID = 3;
  }

  static class ProtobufBuilder implements Builder {

    final private open_rtb.OpenRtbProtobuf.SeatBid.Builder builder;

    /** Only use this if you know what you are doing. */
    public ProtobufBuilder(open_rtb.OpenRtbProtobuf.SeatBid.Builder builder) { this.builder = builder; }

    @Override public open_rtb.SeatBid build() {
      return new Protobuf(builder.build(), null);
    }

    @Override public Builder setBid(java.util.List> value) {
      if (!(value.isEmpty())) {
        builder.addAllBid(value.stream().map(open_rtb.Bid::protobuf).map(java.util.function.Supplier::get).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList(value.size()))));
      }
      return this;
    }

    @Override public Builder clearBid() {
      builder.clearBid();
      return this;
    }

    @Override public Builder setSeat(java.lang.String value) {
      if (!(value.length() == 0)) {
        builder.setSeat(value);
      }
      return this;
    }

    @Override public Builder clearSeat() {
      builder.clearSeat();
      return this;
    }

    @Override public Builder setGroup(int value) {
      if (!(0 == value)) {
        builder.setGroup(value);
      }
      return this;
    }

    @Override public Builder clearGroup() {
      builder.clearGroup();
      return this;
    }
  }

  /** Returns new Protobuf builder instance with default values. */
  static Builder newProtobufBuilder() {
    return new ProtobufBuilder(open_rtb.OpenRtbProtobuf.SeatBid.newBuilder());
  }

  /** Returns new Protobuf builder instance based on existing prototype. */
  static Builder newProtobufBuilder(open_rtb.OpenRtbProtobuf.SeatBid other) {
    return new ProtobufBuilder(open_rtb.OpenRtbProtobuf.SeatBid.newBuilder(other));
  }

  /** Returns new Protobuf builder instance based on existing prototype SeatBid. */
  static Builder newProtobufBuilder(open_rtb.SeatBid other) {
    return newProtobufBuilder()
      .setBid(other.getBid())
      .setSeat(other.getSeat())
      .setGroup(other.getGroup());
  }

  /** Returns a wrapped Protobuf message based on an instance of SeatBid. */
  static Protobuf protobuf(open_rtb.SeatBid instance) {
    if (instance instanceof Protobuf) {
      return (Protobuf) instance;
    }
    return (Protobuf) newProtobufBuilder(instance).build();
  }

  /** Wraps an existing Protobuf message. */
  static Protobuf protobuf(open_rtb.OpenRtbProtobuf.SeatBid wrapped) {
    assert wrapped != null;
    return new Protobuf(wrapped, null);
  }

  /** Returns Protobuf class for this struct. */
  static java.lang.Class getProtobufClass() {
    return open_rtb.OpenRtbProtobuf.SeatBid.class;
  }

  /** Returns Protobuf protocol class for this struct. */
  static java.lang.Class getProtobufProtocolClass() {
    return com.adgear.anoa.test.ad_exchange.AdExchangeProtobuf.class;
  }

  /** Returns Protobuf descriptor for this struct. */
  static com.google.protobuf.Descriptors.Descriptor getProtobufDescriptor() {
    return open_rtb.OpenRtbProtobuf.SeatBid.getDescriptor();
  }

  /** Returns Protobuf protocol descriptor for this struct. */
  static com.google.protobuf.Descriptors.FileDescriptor getProtobufProtocolDescriptor() {
    return com.adgear.anoa.test.ad_exchange.AdExchangeProtobuf.getDescriptor();
  }

  static class Thrift implements open_rtb.SeatBid {

    private open_rtb.SeatBidThrift wrapped;
    transient private java.lang.Boolean is_default$bid;
    transient private java.util.List> _bid;
    transient private java.lang.Boolean is_default$seat;
    transient private java.lang.String _seat;
    transient private java.lang.Boolean is_default$group;

    /** Wraps an existing instance. Only use this if you know what you are doing. */
    public Thrift(open_rtb.SeatBidThrift wrapped) { this.wrapped = wrapped; }

    /** Create a new wrapper. */
    public Thrift() { this(new open_rtb.SeatBidThrift()); }

    @Override public open_rtb.SeatBidThrift get() { return wrapped; }

    @Override public Builder newBuilder() {
      return newThriftBuilder(get());
    }

    @Override public java.util.List> getBid() {
      if (_bid == null) {
        _bid = java.util.Optional.ofNullable(wrapped.getBid()).orElseGet(java.util.Collections::emptyList).stream().map(open_rtb.Bid::thrift).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList>()));
      }
      return _bid;
    }

    @Override public boolean isDefaultBid() {
      if (is_default$bid == null) {
        is_default$bid = getBid().isEmpty();
      }
      return is_default$bid;
    }

    @Override public java.lang.String getSeat() {
      if (_seat == null) {
        _seat = java.util.Optional.ofNullable(wrapped.getSeat()).orElse("");
      }
      return _seat;
    }

    @Override public boolean isDefaultSeat() {
      if (is_default$seat == null) {
        is_default$seat = getSeat().length() == 0;
      }
      return is_default$seat;
    }

    @Override public int getGroup() {
      return wrapped.getGroup();
    }

    @Override public boolean isDefaultGroup() {
      if (is_default$group == null) {
        is_default$group = 0 == getGroup();
      }
      return is_default$group;
    }

    @Override public boolean equals(Object other) {
      if (other == this) return true;
      if (other == null || !(other instanceof Thrift)) return false;
      return wrapped.equals(((Thrift) other).wrapped);
    }

    @Override public int hashCode() { return wrapped.hashCode(); }

    @Override public String toString() { return wrapped.toString(); }

    static private java.lang.ThreadLocal _DEFAULT = new java.lang.ThreadLocal() {
      @Override protected Thrift initialValue() { return new Thrift(); }
    };

    static public final long serialVersionUID = 3;
  }

  static class ThriftBuilder implements Builder {

    final private open_rtb.SeatBidThrift builder;

    /** Only use this if you know what you are doing. */
    public ThriftBuilder(open_rtb.SeatBidThrift builder) { this.builder = builder; }

    @Override public open_rtb.SeatBid build() {
      return new Thrift((open_rtb.SeatBidThrift) builder.deepCopy());
    }

    @Override public Builder setBid(java.util.List> value) {
      if (!(value.isEmpty())) {
        builder.setBid(value.stream().map(open_rtb.Bid::thrift).map(java.util.function.Supplier::get).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList<>(value.size()))));
      }
      return this;
    }

    @Override public Builder clearBid() {
      builder.unsetBid();
      return this;
    }

    @Override public Builder setSeat(java.lang.String value) {
      if (!(value.length() == 0)) {
        builder.setSeat(value);
      }
      return this;
    }

    @Override public Builder clearSeat() {
      builder.unsetSeat();
      return this;
    }

    @Override public Builder setGroup(int value) {
      if (!(0 == value)) {
        builder.setGroup((byte) value);
      }
      return this;
    }

    @Override public Builder clearGroup() {
      builder.unsetGroup();
      return this;
    }
  }

  /** Returns new Thrift builder instance with default values. */
  static Builder newThriftBuilder() {
    return new ThriftBuilder(new open_rtb.SeatBidThrift());
  }

  /** Returns new Thrift builder instance based on existing prototype. */
  static Builder newThriftBuilder(open_rtb.SeatBidThrift other) {
    return new ThriftBuilder((open_rtb.SeatBidThrift) other.deepCopy());
  }

  /** Returns new Thrift builder instance based on existing prototype SeatBid. */
  static Builder newThriftBuilder(open_rtb.SeatBid other) {
    return newThriftBuilder()
      .setBid(other.getBid())
      .setSeat(other.getSeat())
      .setGroup(other.getGroup());
  }

  /** Returns a wrapped Thrift struct based on an instance of SeatBid. */
  static Thrift thrift(open_rtb.SeatBid instance) {
    if (instance instanceof Thrift) {
      return (Thrift) instance;
    }
    return (Thrift) newThriftBuilder(instance).build();
  }

  /** Creates a new wrapped Thrift struct copied from an existing instance. */
  @SuppressWarnings("all")
  static Thrift thrift(open_rtb.SeatBidThrift instance) {
    return new Thrift((open_rtb.SeatBidThrift) instance.deepCopy());
  }

  /** Returns Thrift class for this struct. */
  static java.lang.Class getThriftClass() {
    return open_rtb.SeatBidThrift.class;
  }

  /** Returns Thrift metadata map for this struct. */
  static java.util.Map getThriftMetadataMap() {
    return open_rtb.SeatBidThrift.metaDataMap;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy