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

open_rtb.Publisher 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.8 Publisher Object
The publisher 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. */
public interface Publisher
  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();

  /** Publisher ID on the exchange. */
  java.lang.String getId();

  boolean isDefaultId();

  /** Publisher name (may be masked at publisher’s request). */
  java.lang.String getName();

  boolean isDefaultName();

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

  boolean isDefaultCat();

  /** Publisher’s highest level domain name, for example “foopub.com”. */
  java.lang.String getDomain();

  boolean isDefaultDomain();

  public interface Builder {

    Publisher 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.Publisher a, open_rtb.Publisher 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.Publisher a, open_rtb.Publisher 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.Publisher a, open_rtb.Publisher 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.Publisher a, open_rtb.Publisher 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.Publisher a, open_rtb.Publisher 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 Publisher objects. */
  static java.util.Comparator> getComparator() {
    return Comparator.INSTANCE;
  }

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

  static class NativeImpl implements open_rtb.Publisher {

    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.Publisher 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 Publisher. */
  static Builder newNativeImplBuilder(open_rtb.Publisher other) {
    return newNativeImplBuilder()
      .setId(other.getId())
      .setName(other.getName())
      .setCat(other.getCat())
      .setDomain(other.getDomain());
  }

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

  static class Avro implements open_rtb.Publisher {

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

    static public final long serialVersionUID = 4;
  }

  static class AvroBuilder implements Builder {

    final private open_rtb.PublisherAvro.Builder builder;

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

    @Override public open_rtb.Publisher 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.PublisherAvro.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.PublisherAvro.newBuilder());
  }

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

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

  /** Returns new Avro builder instance based on existing prototype Publisher. */
  static Builder newAvroBuilder(open_rtb.Publisher 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 Publisher. */
  static Avro avro(open_rtb.Publisher instance) {
    if (instance instanceof Avro) {
      return (Avro) instance;
    } else {
      return (Avro) newAvroBuilder(instance).build();
    }
  }

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

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

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

  static class Protobuf implements open_rtb.Publisher {

    private byte[] binaryEncoding;
    transient private open_rtb.OpenRtbProtobuf.Publisher 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.Publisher 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.Publisher get() {
      if (wrapped == null) {
        try {
          wrapped = open_rtb.OpenRtbProtobuf.Publisher.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.Publisher from(byte[] binaryEncoding) throws java.io.IOException {
      return new Protobuf(open_rtb.OpenRtbProtobuf.Publisher.parseFrom(binaryEncoding), binaryEncoding);
    }

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

    static public final long serialVersionUID = 4;
  }

  static class ProtobufBuilder implements Builder {

    final private open_rtb.OpenRtbProtobuf.Publisher.Builder builder;

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

    @Override public open_rtb.Publisher 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.Publisher.newBuilder());
  }

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

  /** Returns new Protobuf builder instance based on existing prototype Publisher. */
  static Builder newProtobufBuilder(open_rtb.Publisher 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 Publisher. */
  static Protobuf protobuf(open_rtb.Publisher instance) {
    if (instance instanceof Protobuf) {
      return (Protobuf) instance;
    }
    return (Protobuf) newProtobufBuilder(instance).build();
  }

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

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

    private open_rtb.PublisherThrift 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.PublisherThrift wrapped) { this.wrapped = wrapped; }

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

    @Override public open_rtb.PublisherThrift 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.PublisherThrift builder;

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

    @Override public open_rtb.Publisher build() {
      return new Thrift((open_rtb.PublisherThrift) 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.PublisherThrift());
  }

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

  /** Returns new Thrift builder instance based on existing prototype Publisher. */
  static Builder newThriftBuilder(open_rtb.Publisher 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 Publisher. */
  static Thrift thrift(open_rtb.Publisher 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.PublisherThrift instance) {
    return new Thrift((open_rtb.PublisherThrift) instance.deepCopy());
  }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy