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

open_rtb.Producer Maven / Gradle / Ivy

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

package open_rtb;

/** 3.3.9 Producer Object
The producer is useful when content where the ad is shown is syndicated, and may appear on a completely different publisher. The producer object itself and all of its parameters are optional, so default values are not provided. If an optional parameter is not specified, it should be considered unknown. This object is optional, but useful if the content producer is different from the site publisher. */
public interface Producer
  extends java.util.function.Supplier,
          java.lang.Comparable>,
          java.io.Serializable {

  /** True if all fields are set to default values. */
  default boolean isDefault() {
    return
      isDefaultId() &&
      isDefaultName() &&
      isDefaultCat() &&
      isDefaultDomain();
  }

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

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

  /** Content producer or originator ID. Useful if content is syndicated, and may be posted on a site using embed tags. */
  java.lang.String getId();

  boolean isDefaultId();

  /** Content producer or originator name (e.g., “Warner Bros”). */
  java.lang.String getName();

  boolean isDefaultName();

  /** Array of IAB content categories for the content producer. See Table 6.1 Content Categories. */
  java.util.List getCat();

  boolean isDefaultCat();

  /** URL of the content producer. */
  java.lang.String getDomain();

  boolean isDefaultDomain();

  public interface Builder {

    Producer build();

    Builder setId(java.lang.String value);

    Builder clearId();

    Builder setName(java.lang.String value);

    Builder clearName();

    Builder setCat(java.util.List value);

    Builder clearCat();

    Builder setDomain(java.lang.String value);

    Builder clearDomain();
  }


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

    @Override public int compare(open_rtb.Producer a, open_rtb.Producer b) {
      int _cmp;
      if (0 != (_cmp = compareId(a, b))) return _cmp;
      if (0 != (_cmp = compareName(a, b))) return _cmp;
      if (0 != (_cmp = compareCat(a, b))) return _cmp;
      if (0 != (_cmp = compareDomain(a, b))) return _cmp;
      return 0;
    }

    static private int compareId (open_rtb.Producer a, open_rtb.Producer b) {
      final java.lang.String fa = a.getId();
      final java.lang.String fb = b.getId();
      return fa.compareTo(fb);
    }

    static private int compareName (open_rtb.Producer a, open_rtb.Producer b) {
      final java.lang.String fa = a.getName();
      final java.lang.String fb = b.getName();
      return fa.compareTo(fb);
    }

    static private int compareCat (open_rtb.Producer a, open_rtb.Producer b) {
      final java.util.List fa = a.getCat();
      final java.util.List fb = b.getCat();
      int _cmp = 0; java.util.Iterator a_it2 = fa.iterator(); java.util.Iterator b_it2 = fb.iterator(); while (a_it2.hasNext() && b_it2.hasNext()) { if (0 != (_cmp = a_it2.next().compareTo(b_it2.next()))) return _cmp; } if (a_it2.hasNext()) return 1; if (b_it2.hasNext()) return -1; return 0;
    }

    static private int compareDomain (open_rtb.Producer a, open_rtb.Producer b) {
      final java.lang.String fa = a.getDomain();
      final java.lang.String fb = b.getDomain();
      return fa.compareTo(fb);
    }

    static private final Comparator INSTANCE = new Comparator();

    static public final long serialVersionUID = 4;
  }

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

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

  static class NativeImpl implements open_rtb.Producer {

    transient private java.lang.String json;
    private java.lang.String __id;
    transient private java.lang.Boolean is_default$id;
    private java.lang.String __name;
    transient private java.lang.Boolean is_default$name;
    private java.util.List __cat;
    transient private java.lang.Boolean is_default$cat;
    transient private java.util.List _cat;
    private java.lang.String __domain;
    transient private java.lang.Boolean is_default$domain;

    private NativeImpl() {
      __id = "";
      is_default$id = java.lang.Boolean.TRUE;
      __name = "";
      is_default$name = java.lang.Boolean.TRUE;
      __cat = java.util.Collections.emptyList();
      is_default$cat = java.lang.Boolean.TRUE;
      __domain = "";
      is_default$domain = java.lang.Boolean.TRUE;
      json = "{}";
    }

    private NativeImpl(NativeImpl other) {
      setId(other.getId());
      setName(other.getName());
      setCat(other.getCat());
      setDomain(other.getDomain());
      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 (!isDefaultId()) {
        sb.append((0 == sb.length()) ? "{\"id\": " : ", \"id\": ")
          .append("\"" + __id.replace("\"","\\\"") + '\"');
      }
      if (!isDefaultName()) {
        sb.append((0 == sb.length()) ? "{\"name\": " : ", \"name\": ")
          .append("\"" + __name.replace("\"","\\\"") + '\"');
      }
      if (!isDefaultCat()) {
        sb.append((0 == sb.length()) ? "{\"cat\": " : ", \"cat\": ")
          .append(__cat.stream().map(v -> "\"" + v.replace("\"","\\\"") + '\"').collect(java.util.stream.Collectors.joining(", ", "[", "]")));
      }
      if (!isDefaultDomain()) {
        sb.append((0 == sb.length()) ? "{\"domain\": " : ", \"domain\": ")
          .append("\"" + __domain.replace("\"","\\\"") + '\"');
      }
      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.lang.String getId() {
      return __id;
    }

    @Override public boolean isDefaultId() {
      if (null == is_default$id) {
        is_default$id = getId().length() == 0;
      }
      return is_default$id;
    }

    private void setId(java.lang.String value) {
      this.__id = value;
      this.is_default$id = null;
      this.json = null;
    }

    @Override public java.lang.String getName() {
      return __name;
    }

    @Override public boolean isDefaultName() {
      if (null == is_default$name) {
        is_default$name = getName().length() == 0;
      }
      return is_default$name;
    }

    private void setName(java.lang.String value) {
      this.__name = value;
      this.is_default$name = null;
      this.json = null;
    }

    @Override public java.util.List getCat() {
      if (null == _cat) {
        _cat = java.util.Collections.unmodifiableList(__cat);
      }
      return _cat;
    }

    @Override public boolean isDefaultCat() {
      if (null == is_default$cat) {
        is_default$cat = getCat().isEmpty();
      }
      return is_default$cat;
    }

    private void setCat(java.util.List value) {
      this.__cat = value.stream().collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList<>(value.size())));
      this.is_default$cat = null;
      this.json = null;
      this._cat = null;
    }

    @Override public java.lang.String getDomain() {
      return __domain;
    }

    @Override public boolean isDefaultDomain() {
      if (null == is_default$domain) {
        is_default$domain = getDomain().length() == 0;
      }
      return is_default$domain;
    }

    private void setDomain(java.lang.String value) {
      this.__domain = value;
      this.is_default$domain = null;
      this.json = null;
    }

    static class NativeImplBuilder implements Builder {

      private NativeImpl wrapped = new NativeImpl();

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

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

      @Override public Builder clearId() {
        wrapped.__id = _DEFAULT.get().__id;
        wrapped.is_default$id = true;
        return this;
      }

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

      @Override public Builder clearName() {
        wrapped.__name = _DEFAULT.get().__name;
        wrapped.is_default$name = true;
        return this;
      }

      @Override public Builder setCat(java.util.List value) {
        if (value.isEmpty()) {
          return clearCat();
        }
        wrapped.setCat(value);
        return this;
      }

      @Override public Builder clearCat() {
        wrapped.__cat = _DEFAULT.get().__cat;
        wrapped.is_default$cat = true;
        wrapped._cat = _DEFAULT.get()._cat;
        return this;
      }

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

      @Override public Builder clearDomain() {
        wrapped.__domain = _DEFAULT.get().__domain;
        wrapped.is_default$domain = 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 = 4;
  }

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

  /** Returns a POJO builder instance based on existing prototype Producer. */
  static Builder newNativeImplBuilder(open_rtb.Producer other) {
    return newNativeImplBuilder()
      .setId(other.getId())
      .setName(other.getName())
      .setCat(other.getCat())
      .setDomain(other.getDomain());
  }

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

  static class Avro implements open_rtb.Producer {

    private byte[] binaryEncoding;
    transient private open_rtb.ProducerAvro wrapped;
    transient private java.lang.Boolean is_default$id;
    transient private java.lang.String _id;
    transient private java.lang.Boolean is_default$name;
    transient private java.lang.String _name;
    transient private java.lang.Boolean is_default$cat;
    transient private java.util.List _cat;
    transient private java.lang.Boolean is_default$domain;
    transient private java.lang.String _domain;

    private Avro(open_rtb.ProducerAvro 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.ProducerAvro 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.lang.String getId() {
      if (_id == null) {
        _id = java.util.Optional.of(get().id).map(java.lang.Object::toString).orElse("");
      }
      return _id;
    }

    @Override public boolean isDefaultId() {
      if (is_default$id == null) {
        is_default$id = getId().length() == 0;
      }
      return is_default$id;
    }

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

    @Override public boolean isDefaultName() {
      if (is_default$name == null) {
        is_default$name = getName().length() == 0;
      }
      return is_default$name;
    }

    @Override public java.util.List getCat() {
      if (_cat == null) {
        _cat = java.util.Collections.unmodifiableList(get().cat.stream().map(java.lang.Object::toString).collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList(get().cat.size()))));
      }
      return _cat;
    }

    @Override public boolean isDefaultCat() {
      if (is_default$cat == null) {
        is_default$cat = getCat().isEmpty();
      }
      return is_default$cat;
    }

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

    @Override public boolean isDefaultDomain() {
      if (is_default$domain == null) {
        is_default$domain = getDomain().length() == 0;
      }
      return is_default$domain;
    }

    @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.ProducerAvro decode(byte[] binaryEncoding) throws java.io.IOException {
      open_rtb.ProducerAvro instance = new open_rtb.ProducerAvro();
      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.Producer 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.ProducerAvro.newBuilder().build(), null); }
    };

    static public final long serialVersionUID = 4;
  }

  static class AvroBuilder implements Builder {

    final private open_rtb.ProducerAvro.Builder builder;

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

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

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

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

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

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

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

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

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

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

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

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

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

  /** Returns new Avro builder instance based on existing prototype Producer. */
  static Builder newAvroBuilder(open_rtb.Producer other) {
    return newAvroBuilder()
      .setId(other.getId())
      .setName(other.getName())
      .setCat(other.getCat())
      .setDomain(other.getDomain());
  }

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

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

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

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

  static class Protobuf implements open_rtb.Producer {

    private byte[] binaryEncoding;
    transient private open_rtb.OpenRtbProtobuf.Producer wrapped;
    transient private java.lang.Boolean is_default$id;
    transient private java.lang.Boolean is_default$name;
    transient private java.lang.Boolean is_default$cat;
    transient private java.lang.Boolean is_default$domain;

    private Protobuf(open_rtb.OpenRtbProtobuf.Producer 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.Producer get() {
      if (wrapped == null) {
        try {
          wrapped = open_rtb.OpenRtbProtobuf.Producer.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.lang.String getId() {
      return get().getId();
    }

    @Override public boolean isDefaultId() {
      if (is_default$id == null) {
        is_default$id = getId().length() == 0;
      }
      return is_default$id;
    }

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

    @Override public boolean isDefaultName() {
      if (is_default$name == null) {
        is_default$name = getName().length() == 0;
      }
      return is_default$name;
    }

    @Override public java.util.List getCat() {
      return (java.util.List)(java.util.List) get().getCatList();
    }

    @Override public boolean isDefaultCat() {
      if (is_default$cat == null) {
        is_default$cat = getCat().isEmpty();
      }
      return is_default$cat;
    }

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

    @Override public boolean isDefaultDomain() {
      if (is_default$domain == null) {
        is_default$domain = getDomain().length() == 0;
      }
      return is_default$domain;
    }

    @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.Producer from(byte[] binaryEncoding) throws java.io.IOException {
      return new Protobuf(open_rtb.OpenRtbProtobuf.Producer.parseFrom(binaryEncoding), binaryEncoding);
    }

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

    static public final long serialVersionUID = 4;
  }

  static class ProtobufBuilder implements Builder {

    final private open_rtb.OpenRtbProtobuf.Producer.Builder builder;

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

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

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

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

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

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

    @Override public Builder setCat(java.util.List value) {
      if (!(value.isEmpty())) {
        builder.addAllCat(value);
      }
      return this;
    }

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

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

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

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

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

  /** Returns new Protobuf builder instance based on existing prototype Producer. */
  static Builder newProtobufBuilder(open_rtb.Producer other) {
    return newProtobufBuilder()
      .setId(other.getId())
      .setName(other.getName())
      .setCat(other.getCat())
      .setDomain(other.getDomain());
  }

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

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

  /** Returns Protobuf class for this struct. */
  static java.lang.Class getProtobufClass() {
    return open_rtb.OpenRtbProtobuf.Producer.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.Producer.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.Producer {

    private open_rtb.ProducerThrift wrapped;
    transient private java.lang.Boolean is_default$id;
    transient private java.lang.String _id;
    transient private java.lang.Boolean is_default$name;
    transient private java.lang.String _name;
    transient private java.lang.Boolean is_default$cat;
    transient private java.util.List _cat;
    transient private java.lang.Boolean is_default$domain;
    transient private java.lang.String _domain;

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

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

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

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

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

    @Override public boolean isDefaultId() {
      if (is_default$id == null) {
        is_default$id = getId().length() == 0;
      }
      return is_default$id;
    }

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

    @Override public boolean isDefaultName() {
      if (is_default$name == null) {
        is_default$name = getName().length() == 0;
      }
      return is_default$name;
    }

    @Override public java.util.List getCat() {
      if (_cat == null) {
        _cat = java.util.Optional.ofNullable(wrapped.getCat()).orElseGet(java.util.Collections::emptyList).stream().collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList()));
      }
      return _cat;
    }

    @Override public boolean isDefaultCat() {
      if (is_default$cat == null) {
        is_default$cat = getCat().isEmpty();
      }
      return is_default$cat;
    }

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

    @Override public boolean isDefaultDomain() {
      if (is_default$domain == null) {
        is_default$domain = getDomain().length() == 0;
      }
      return is_default$domain;
    }

    @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 = 4;
  }

  static class ThriftBuilder implements Builder {

    final private open_rtb.ProducerThrift builder;

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

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

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

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

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

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

    @Override public Builder setCat(java.util.List value) {
      if (!(value.isEmpty())) {
        builder.setCat(value.stream().collect(java.util.stream.Collectors.toCollection(() -> new java.util.ArrayList<>(value.size()))));
      }
      return this;
    }

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

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

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

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

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

  /** Returns new Thrift builder instance based on existing prototype Producer. */
  static Builder newThriftBuilder(open_rtb.Producer other) {
    return newThriftBuilder()
      .setId(other.getId())
      .setName(other.getName())
      .setCat(other.getCat())
      .setDomain(other.getDomain());
  }

  /** Returns a wrapped Thrift struct based on an instance of Producer. */
  static Thrift thrift(open_rtb.Producer 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.ProducerThrift instance) {
    return new Thrift((open_rtb.ProducerThrift) instance.deepCopy());
  }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy