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

open_rtb.SiteAvro 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.5 Site Object
A site object should be included if the ad supported content is part of a website (as opposed to an application). A bid request must not contain both a site object and an app object.
The site 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. At a minimum, it’s useful to provide a page URL or a site ID, but this is not strictly required. */
@org.apache.avro.specific.AvroGenerated
final public class SiteAvro extends org.apache.avro.specific.SpecificRecordBase {

  /** Site ID on the exchange. */
  org.apache.avro.util.Utf8 id;
  /** Site name (may be masked at publisher’s request). */
  org.apache.avro.util.Utf8 name;
  /** Domain of the site, used for advertiser side blocking. For example, “foo.com”. */
  org.apache.avro.util.Utf8 domain;
  /** Array of IAB content categories for the overall site. See Table 6.1 Content Categories. */
  org.apache.avro.generic.GenericData.Array cat;
  /** Array of IAB content categories for the current subsection of the site. See Table 6.1 Content Categories. */
  org.apache.avro.generic.GenericData.Array sectioncat;
  /** Array of IAB content categories for the current page. See Table 6.1 Content Categories. */
  org.apache.avro.generic.GenericData.Array pagecat;
  /** URL of the page where the impression will be shown. */
  org.apache.avro.util.Utf8 page;
  /** Specifies whether the site has a privacy policy. “1” means there is a policy. “0” means there is not. */
  int privacypolicy;
  /** Referrer URL that caused navigation to the current page. */
  org.apache.avro.util.Utf8 ref;
  /** Search string that caused navigation to the current page. */
  org.apache.avro.util.Utf8 search;
  /** See Publisher Object. */
  open_rtb.PublisherAvro publisher;
  /** See Content Object. */
  open_rtb.ContentAvro content;
  /** List of keywords describing this site in a comma separated string. */
  org.apache.avro.util.Utf8 keywords;

  private boolean _frozen = false;

  /** Default constructor, does not initialize fields to their default values from the schema. Only use this if you know what you are doing. */
  public SiteAvro() {}

  public SiteAvro freeze() {
    _frozen = true;
    publisher.freeze();
    content.freeze();
    return this;
  }

  @Override
  public org.apache.avro.Schema getSchema() { return SCHEMA$; }

  // Used by DatumWriter. Applications should not call.
  @Override
  public java.lang.Object get(int field$) {
    switch (field$) {
      case 0: return id;
      case 1: return name;
      case 2: return domain;
      case 3: return cat;
      case 4: return sectioncat;
      case 5: return pagecat;
      case 6: return page;
      case 7: return privacypolicy;
      case 8: return ref;
      case 9: return search;
      case 10: return publisher;
      case 11: return content;
      case 12: return keywords;
      default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /** Writes record to Avro Encoder. */
  public void encode(org.apache.avro.io.Encoder _encoder) throws java.io.IOException {
    _encoder.writeString(id);
    _encoder.writeString(name);
    _encoder.writeString(domain);
    _encoder.writeArrayStart(); _encoder.setItemCount(cat.size()); for (org.apache.avro.util.Utf8 e : cat) { _encoder.writeString(e); } _encoder.writeArrayEnd(); 
    _encoder.writeArrayStart(); _encoder.setItemCount(sectioncat.size()); for (org.apache.avro.util.Utf8 e : sectioncat) { _encoder.writeString(e); } _encoder.writeArrayEnd(); 
    _encoder.writeArrayStart(); _encoder.setItemCount(pagecat.size()); for (org.apache.avro.util.Utf8 e : pagecat) { _encoder.writeString(e); } _encoder.writeArrayEnd(); 
    _encoder.writeString(page);
    _encoder.writeInt(privacypolicy);
    _encoder.writeString(ref);
    _encoder.writeString(search);
    publisher.encode(_encoder);
    content.encode(_encoder);
    _encoder.writeString(keywords);
  }

  // Used by DatumReader.  Applications should not call.
  @Override
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    if (_frozen) {
      throw new org.apache.avro.AvroRuntimeException("this Anoa SpecificRecord instance has already been frozen.");
    }
    switch (field$) {
      case 0: id = (org.apache.avro.util.Utf8) value$; break;
      case 1: name = (org.apache.avro.util.Utf8) value$; break;
      case 2: domain = (org.apache.avro.util.Utf8) value$; break;
      case 3: cat = (org.apache.avro.generic.GenericData.Array) value$; break;
      case 4: sectioncat = (org.apache.avro.generic.GenericData.Array) value$; break;
      case 5: pagecat = (org.apache.avro.generic.GenericData.Array) value$; break;
      case 6: page = (org.apache.avro.util.Utf8) value$; break;
      case 7: privacypolicy = (int) value$; break;
      case 8: ref = (org.apache.avro.util.Utf8) value$; break;
      case 9: search = (org.apache.avro.util.Utf8) value$; break;
      case 10: publisher = (open_rtb.PublisherAvro) value$; break;
      case 11: content = (open_rtb.ContentAvro) value$; break;
      case 12: keywords = (org.apache.avro.util.Utf8) value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /** Reads record from Avro Decoder. */
  public SiteAvro decode(org.apache.avro.io.Decoder _decoder) throws java.io.IOException {
    if (_frozen) {
      throw new org.apache.avro.AvroRuntimeException("this Anoa SpecificRecord instance has already been frozen.");
    }
    id = _decoder.readString(id);
    name = _decoder.readString(name);
    domain = _decoder.readString(domain);
    long _i3 = _decoder.readArrayStart(); cat = new org.apache.avro.generic.GenericData.Array((int) _i3, SCHEMA$.getFields().get(3).schema()); for(; _i3 != 0; _i3 = _decoder.arrayNext()) { for (long _j3= 0; _j3 < _i3; _j3++) { cat.add(_decoder.readString(null)); } }
    long _i4 = _decoder.readArrayStart(); sectioncat = new org.apache.avro.generic.GenericData.Array((int) _i4, SCHEMA$.getFields().get(4).schema()); for(; _i4 != 0; _i4 = _decoder.arrayNext()) { for (long _j4= 0; _j4 < _i4; _j4++) { sectioncat.add(_decoder.readString(null)); } }
    long _i5 = _decoder.readArrayStart(); pagecat = new org.apache.avro.generic.GenericData.Array((int) _i5, SCHEMA$.getFields().get(5).schema()); for(; _i5 != 0; _i5 = _decoder.arrayNext()) { for (long _j5= 0; _j5 < _i5; _j5++) { pagecat.add(_decoder.readString(null)); } }
    page = _decoder.readString(page);
    privacypolicy = _decoder.readInt();
    ref = _decoder.readString(ref);
    search = _decoder.readString(search);
    publisher = java.util.Optional.ofNullable(publisher).orElseGet(open_rtb.PublisherAvro::new).decode(_decoder);
    content = java.util.Optional.ofNullable(content).orElseGet(open_rtb.ContentAvro::new).decode(_decoder);
    keywords = _decoder.readString(keywords);
    return freeze();
  }

  /**
   * RecordBuilder for Avro instances.
   */
  static public class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase implements org.apache.avro.data.RecordBuilder {

    private org.apache.avro.util.Utf8 id;
    private org.apache.avro.util.Utf8 name;
    private org.apache.avro.util.Utf8 domain;
    private org.apache.avro.generic.GenericData.Array cat;
    private org.apache.avro.generic.GenericData.Array sectioncat;
    private org.apache.avro.generic.GenericData.Array pagecat;
    private org.apache.avro.util.Utf8 page;
    private int privacypolicy;
    private org.apache.avro.util.Utf8 ref;
    private org.apache.avro.util.Utf8 search;
    private open_rtb.PublisherAvro publisher;
    private open_rtb.ContentAvro content;
    private org.apache.avro.util.Utf8 keywords;

    public Builder() {
      super(SiteAvro.SCHEMA$);
    }

    public Builder(SiteAvro.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.id)) {
        this.id = data().deepCopy(fields()[0].schema(), other.id);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.name)) {
        this.name = data().deepCopy(fields()[1].schema(), other.name);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.domain)) {
        this.domain = data().deepCopy(fields()[2].schema(), other.domain);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.cat)) {
        this.cat = data().deepCopy(fields()[3].schema(), other.cat);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.sectioncat)) {
        this.sectioncat = data().deepCopy(fields()[4].schema(), other.sectioncat);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.pagecat)) {
        this.pagecat = data().deepCopy(fields()[5].schema(), other.pagecat);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.page)) {
        this.page = data().deepCopy(fields()[6].schema(), other.page);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.privacypolicy)) {
        this.privacypolicy = data().deepCopy(fields()[7].schema(), other.privacypolicy);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.ref)) {
        this.ref = data().deepCopy(fields()[8].schema(), other.ref);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.search)) {
        this.search = data().deepCopy(fields()[9].schema(), other.search);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.publisher)) {
        this.publisher = data().deepCopy(fields()[10].schema(), other.publisher);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.content)) {
        this.content = data().deepCopy(fields()[11].schema(), other.content);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.keywords)) {
        this.keywords = data().deepCopy(fields()[12].schema(), other.keywords);
        fieldSetFlags()[12] = true;
      }
    }

    public Builder(SiteAvro other) {
      super(SiteAvro.SCHEMA$);
      if (isValidValue(fields()[0], other.id)) {
        this.id = data().deepCopy(fields()[0].schema(), other.id);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.name)) {
        this.name = data().deepCopy(fields()[1].schema(), other.name);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.domain)) {
        this.domain = data().deepCopy(fields()[2].schema(), other.domain);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.cat)) {
        this.cat = data().deepCopy(fields()[3].schema(), other.cat);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.sectioncat)) {
        this.sectioncat = data().deepCopy(fields()[4].schema(), other.sectioncat);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.pagecat)) {
        this.pagecat = data().deepCopy(fields()[5].schema(), other.pagecat);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.page)) {
        this.page = data().deepCopy(fields()[6].schema(), other.page);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.privacypolicy)) {
        this.privacypolicy = data().deepCopy(fields()[7].schema(), other.privacypolicy);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.ref)) {
        this.ref = data().deepCopy(fields()[8].schema(), other.ref);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.search)) {
        this.search = data().deepCopy(fields()[9].schema(), other.search);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.publisher)) {
        this.publisher = data().deepCopy(fields()[10].schema(), other.publisher);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.content)) {
        this.content = data().deepCopy(fields()[11].schema(), other.content);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.keywords)) {
        this.keywords = data().deepCopy(fields()[12].schema(), other.keywords);
        fieldSetFlags()[12] = true;
      }
    }

    /** Gets the value of the 'id' field. */
    public org.apache.avro.util.Utf8 getId() {
      return id;
    }

    /** Sets the value of the 'id' field. */
    public SiteAvro.Builder setId(org.apache.avro.util.Utf8 value) {
      validate(fields()[0], value);
      this.id = value;
      fieldSetFlags()[0] = true;
      return this;
    }

    /** Checks whether the 'id' field has been set. */
    public boolean hasId() {
      return fieldSetFlags()[0];
    }

    /** Clears the value of the 'id' field. */
    public SiteAvro.Builder clearId() {
      id = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'name' field. */
    public org.apache.avro.util.Utf8 getName() {
      return name;
    }

    /** Sets the value of the 'name' field. */
    public SiteAvro.Builder setName(org.apache.avro.util.Utf8 value) {
      validate(fields()[1], value);
      this.name = value;
      fieldSetFlags()[1] = true;
      return this;
    }

    /** Checks whether the 'name' field has been set. */
    public boolean hasName() {
      return fieldSetFlags()[1];
    }

    /** Clears the value of the 'name' field. */
    public SiteAvro.Builder clearName() {
      name = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'domain' field. */
    public org.apache.avro.util.Utf8 getDomain() {
      return domain;
    }

    /** Sets the value of the 'domain' field. */
    public SiteAvro.Builder setDomain(org.apache.avro.util.Utf8 value) {
      validate(fields()[2], value);
      this.domain = value;
      fieldSetFlags()[2] = true;
      return this;
    }

    /** Checks whether the 'domain' field has been set. */
    public boolean hasDomain() {
      return fieldSetFlags()[2];
    }

    /** Clears the value of the 'domain' field. */
    public SiteAvro.Builder clearDomain() {
      domain = null;
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'cat' field. */
    public org.apache.avro.generic.GenericData.Array getCat() {
      return cat;
    }

    /** Sets the value of the 'cat' field. */
    public SiteAvro.Builder setCat(org.apache.avro.generic.GenericData.Array value) {
      validate(fields()[3], value);
      this.cat = value;
      fieldSetFlags()[3] = true;
      return this;
    }

    /** Checks whether the 'cat' field has been set. */
    public boolean hasCat() {
      return fieldSetFlags()[3];
    }

    /** Clears the value of the 'cat' field. */
    public SiteAvro.Builder clearCat() {
      cat = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'sectioncat' field. */
    public org.apache.avro.generic.GenericData.Array getSectioncat() {
      return sectioncat;
    }

    /** Sets the value of the 'sectioncat' field. */
    public SiteAvro.Builder setSectioncat(org.apache.avro.generic.GenericData.Array value) {
      validate(fields()[4], value);
      this.sectioncat = value;
      fieldSetFlags()[4] = true;
      return this;
    }

    /** Checks whether the 'sectioncat' field has been set. */
    public boolean hasSectioncat() {
      return fieldSetFlags()[4];
    }

    /** Clears the value of the 'sectioncat' field. */
    public SiteAvro.Builder clearSectioncat() {
      sectioncat = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    /** Gets the value of the 'pagecat' field. */
    public org.apache.avro.generic.GenericData.Array getPagecat() {
      return pagecat;
    }

    /** Sets the value of the 'pagecat' field. */
    public SiteAvro.Builder setPagecat(org.apache.avro.generic.GenericData.Array value) {
      validate(fields()[5], value);
      this.pagecat = value;
      fieldSetFlags()[5] = true;
      return this;
    }

    /** Checks whether the 'pagecat' field has been set. */
    public boolean hasPagecat() {
      return fieldSetFlags()[5];
    }

    /** Clears the value of the 'pagecat' field. */
    public SiteAvro.Builder clearPagecat() {
      pagecat = null;
      fieldSetFlags()[5] = false;
      return this;
    }

    /** Gets the value of the 'page' field. */
    public org.apache.avro.util.Utf8 getPage() {
      return page;
    }

    /** Sets the value of the 'page' field. */
    public SiteAvro.Builder setPage(org.apache.avro.util.Utf8 value) {
      validate(fields()[6], value);
      this.page = value;
      fieldSetFlags()[6] = true;
      return this;
    }

    /** Checks whether the 'page' field has been set. */
    public boolean hasPage() {
      return fieldSetFlags()[6];
    }

    /** Clears the value of the 'page' field. */
    public SiteAvro.Builder clearPage() {
      page = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /** Gets the value of the 'privacypolicy' field. */
    public int getPrivacypolicy() {
      return privacypolicy;
    }

    /** Sets the value of the 'privacypolicy' field. */
    public SiteAvro.Builder setPrivacypolicy(int value) {
      validate(fields()[7], value);
      this.privacypolicy = value;
      fieldSetFlags()[7] = true;
      return this;
    }

    /** Checks whether the 'privacypolicy' field has been set. */
    public boolean hasPrivacypolicy() {
      return fieldSetFlags()[7];
    }

    /** Clears the value of the 'privacypolicy' field. */
    public SiteAvro.Builder clearPrivacypolicy() {
      fieldSetFlags()[7] = false;
      return this;
    }

    /** Gets the value of the 'ref' field. */
    public org.apache.avro.util.Utf8 getRef() {
      return ref;
    }

    /** Sets the value of the 'ref' field. */
    public SiteAvro.Builder setRef(org.apache.avro.util.Utf8 value) {
      validate(fields()[8], value);
      this.ref = value;
      fieldSetFlags()[8] = true;
      return this;
    }

    /** Checks whether the 'ref' field has been set. */
    public boolean hasRef() {
      return fieldSetFlags()[8];
    }

    /** Clears the value of the 'ref' field. */
    public SiteAvro.Builder clearRef() {
      ref = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /** Gets the value of the 'search' field. */
    public org.apache.avro.util.Utf8 getSearch() {
      return search;
    }

    /** Sets the value of the 'search' field. */
    public SiteAvro.Builder setSearch(org.apache.avro.util.Utf8 value) {
      validate(fields()[9], value);
      this.search = value;
      fieldSetFlags()[9] = true;
      return this;
    }

    /** Checks whether the 'search' field has been set. */
    public boolean hasSearch() {
      return fieldSetFlags()[9];
    }

    /** Clears the value of the 'search' field. */
    public SiteAvro.Builder clearSearch() {
      search = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /** Gets the value of the 'publisher' field. */
    public open_rtb.PublisherAvro getPublisher() {
      return publisher;
    }

    /** Sets the value of the 'publisher' field. */
    public SiteAvro.Builder setPublisher(open_rtb.PublisherAvro value) {
      validate(fields()[10], value);
      this.publisher = value;
      fieldSetFlags()[10] = true;
      return this;
    }

    /** Checks whether the 'publisher' field has been set. */
    public boolean hasPublisher() {
      return fieldSetFlags()[10];
    }

    /** Clears the value of the 'publisher' field. */
    public SiteAvro.Builder clearPublisher() {
      publisher = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /** Gets the value of the 'content' field. */
    public open_rtb.ContentAvro getContent() {
      return content;
    }

    /** Sets the value of the 'content' field. */
    public SiteAvro.Builder setContent(open_rtb.ContentAvro value) {
      validate(fields()[11], value);
      this.content = value;
      fieldSetFlags()[11] = true;
      return this;
    }

    /** Checks whether the 'content' field has been set. */
    public boolean hasContent() {
      return fieldSetFlags()[11];
    }

    /** Clears the value of the 'content' field. */
    public SiteAvro.Builder clearContent() {
      content = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'keywords' field. */
    public org.apache.avro.util.Utf8 getKeywords() {
      return keywords;
    }

    /** Sets the value of the 'keywords' field. */
    public SiteAvro.Builder setKeywords(org.apache.avro.util.Utf8 value) {
      validate(fields()[12], value);
      this.keywords = value;
      fieldSetFlags()[12] = true;
      return this;
    }

    /** Checks whether the 'keywords' field has been set. */
    public boolean hasKeywords() {
      return fieldSetFlags()[12];
    }

    /** Clears the value of the 'keywords' field. */
    public SiteAvro.Builder clearKeywords() {
      keywords = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    @Override
    public SiteAvro build() {
      final SiteAvro record;
      try {
        record = new SiteAvro();
        record.id = fieldSetFlags()[0] ? this.id : (org.apache.avro.util.Utf8) defaultValue(fields()[0]);
        record.name = fieldSetFlags()[1] ? this.name : (org.apache.avro.util.Utf8) defaultValue(fields()[1]);
        record.domain = fieldSetFlags()[2] ? this.domain : (org.apache.avro.util.Utf8) defaultValue(fields()[2]);
        record.cat = fieldSetFlags()[3] ? this.cat : (org.apache.avro.generic.GenericData.Array) defaultValue(fields()[3]);
        record.sectioncat = fieldSetFlags()[4] ? this.sectioncat : (org.apache.avro.generic.GenericData.Array) defaultValue(fields()[4]);
        record.pagecat = fieldSetFlags()[5] ? this.pagecat : (org.apache.avro.generic.GenericData.Array) defaultValue(fields()[5]);
        record.page = fieldSetFlags()[6] ? this.page : (org.apache.avro.util.Utf8) defaultValue(fields()[6]);
        record.privacypolicy = fieldSetFlags()[7] ? this.privacypolicy : (int) defaultValue(fields()[7]);
        record.ref = fieldSetFlags()[8] ? this.ref : (org.apache.avro.util.Utf8) defaultValue(fields()[8]);
        record.search = fieldSetFlags()[9] ? this.search : (org.apache.avro.util.Utf8) defaultValue(fields()[9]);
        record.publisher = fieldSetFlags()[10] ? this.publisher : (open_rtb.PublisherAvro) defaultValue(fields()[10]);
        record.content = fieldSetFlags()[11] ? this.content : (open_rtb.ContentAvro) defaultValue(fields()[11]);
        record.keywords = fieldSetFlags()[12] ? this.keywords : (org.apache.avro.util.Utf8) defaultValue(fields()[12]);
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
      return record.freeze();
    }
  }

  /** Creates a new SiteAvro RecordBuilder. */
  static public SiteAvro.Builder newBuilder() {
    return new SiteAvro.Builder();
  }

  /** Creates a new SiteAvro RecordBuilder by copying an existing SiteAvro.Builder instance. */
  static public SiteAvro.Builder newBuilder(SiteAvro.Builder other) {
    return new SiteAvro.Builder(other);
  }

  /** Creates a new SiteAvro RecordBuilder by copying an existing SiteAvro instance. */
  static public SiteAvro.Builder newBuilder(SiteAvro other) {
    return new SiteAvro.Builder(other);
  }

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

  static public final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"SiteAvro\",\"namespace\":\"open_rtb\",\"doc\":\"3.3.5 Site Object\\nA site object should be included if the ad supported content is part of a website (as opposed to an application). A bid request must not contain both a site object and an app object.\\nThe site 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. At a minimum, it’s useful to provide a page URL or a site ID, but this is not strictly required.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"doc\":\"Site ID on the exchange.\",\"default\":\"\",\"ordinal_\":1},{\"name\":\"name\",\"type\":\"string\",\"doc\":\"Site name (may be masked at publisher’s request).\",\"default\":\"\",\"ordinal_\":2},{\"name\":\"domain\",\"type\":\"string\",\"doc\":\"Domain of the site, used for advertiser side blocking. For example, “foo.com”.\",\"default\":\"\",\"ordinal_\":3},{\"name\":\"cat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the overall site. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":4},{\"name\":\"sectioncat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the current subsection of the site. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":5},{\"name\":\"pagecat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the current page. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":6},{\"name\":\"page\",\"type\":\"string\",\"doc\":\"URL of the page where the impression will be shown.\",\"default\":\"\",\"ordinal_\":7},{\"name\":\"privacypolicy\",\"type\":{\"type\":\"int\",\"max\":1,\"min\":0},\"doc\":\"Specifies whether the site has a privacy policy. “1” means there is a policy. “0” means there is not.\",\"default\":0,\"ordinal_\":8},{\"name\":\"ref\",\"type\":\"string\",\"doc\":\"Referrer URL that caused navigation to the current page.\",\"default\":\"\",\"ordinal_\":9},{\"name\":\"search\",\"type\":\"string\",\"doc\":\"Search string that caused navigation to the current page.\",\"default\":\"\",\"ordinal_\":10},{\"name\":\"publisher\",\"type\":{\"type\":\"record\",\"name\":\"PublisherAvro\",\"doc\":\"3.3.8 Publisher Object\\nThe 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.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"doc\":\"Publisher ID on the exchange.\",\"default\":\"\",\"ordinal_\":1},{\"name\":\"name\",\"type\":\"string\",\"doc\":\"Publisher name (may be masked at publisher’s request).\",\"default\":\"\",\"ordinal_\":2},{\"name\":\"cat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the publisher. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":3},{\"name\":\"domain\",\"type\":\"string\",\"doc\":\"Publisher’s highest level domain name, for example “foopub.com”.\",\"default\":\"\",\"ordinal_\":4}]},\"doc\":\"See Publisher Object.\",\"default\":{},\"ordinal_\":11},{\"name\":\"content\",\"type\":{\"type\":\"record\",\"name\":\"ContentAvro\",\"doc\":\"3.3.7 Content Object\\nThe content 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 describes the content in which the impression will appear (may be syndicated or non- syndicated content).\\nThis object may be useful in the situation where syndicated content contains impressions and does not necessarily match the publisher’s general content. The exchange might or might not have knowledge of the page where the content is running, as a result of the syndication method. (For example, video impressions embedded in an iframe on an unknown web property or device.)\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"doc\":\"ID uniquely identifying the content.\",\"default\":\"\",\"ordinal_\":1},{\"name\":\"episode\",\"type\":{\"type\":\"int\",\"max\":4294967295,\"min\":0},\"doc\":\"Content episode number (typically applies to video content).\",\"default\":0,\"ordinal_\":2},{\"name\":\"title\",\"type\":\"string\",\"doc\":\"Content title.\\n           Video examples: “Search Committee” (television) or “A New Hope” (movie) or “Endgame” (made for web)\\n           Non-video example: “Why an Antarctic Glacier Is Melting So Quickly” (Time magazine article)\",\"default\":\"\",\"ordinal_\":3},{\"name\":\"series\",\"type\":\"string\",\"doc\":\"Content series.\\n           Video examples: “The Office” (television) or “Star Wars” (movie) or “Arby ‘N’ The Chief” (made for web)\\n           Non-video example: “Ecocentric” (Time magazine blog)\",\"default\":\"\",\"ordinal_\":4},{\"name\":\"season\",\"type\":\"string\",\"doc\":\"Content season. E.g., “Season 3” (typically applies to video content).\",\"default\":\"\",\"ordinal_\":5},{\"name\":\"url\",\"type\":\"string\",\"doc\":\"Original URL of the content, for buy-side contextualization or review.\",\"default\":\"\",\"ordinal_\":6},{\"name\":\"cat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the content. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":7},{\"name\":\"videoquality\",\"type\":{\"type\":\"int\",\"max\":255,\"min\":0},\"doc\":\"Video quality per the IAB’s classification. See Table 6.14 Video Quality.\",\"default\":0,\"ordinal_\":8},{\"name\":\"keywords\",\"type\":\"string\",\"doc\":\"Comma separated list of keywords describing the content.\",\"default\":\"\",\"ordinal_\":9},{\"name\":\"contentrating\",\"type\":\"string\",\"doc\":\"Content rating (e.g., MPAA)\",\"default\":\"\",\"ordinal_\":10},{\"name\":\"userrating\",\"type\":\"string\",\"doc\":\"User rating of the content (e.g., number of stars, likes, etc.).\",\"default\":\"\",\"ordinal_\":11},{\"name\":\"context\",\"type\":\"string\",\"doc\":\"Specifies the type of content (game, video, text, etc.). See Table 6.13 Content Context.\",\"default\":\"\",\"ordinal_\":12},{\"name\":\"livestream\",\"type\":{\"type\":\"int\",\"max\":1,\"min\":0},\"doc\":\"Is content live? E.g., live video stream, live blog. “1” means content is live. “0” means it is not live.\",\"default\":0,\"ordinal_\":13},{\"name\":\"sourcerelationship\",\"type\":{\"type\":\"int\",\"max\":1,\"min\":0},\"doc\":\"1 for “direct”; 0 for “indirect”.\",\"default\":0,\"ordinal_\":14},{\"name\":\"producer\",\"type\":{\"type\":\"record\",\"name\":\"ProducerAvro\",\"doc\":\"3.3.9 Producer Object\\nThe 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.\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"doc\":\"Content producer or originator ID. Useful if content is syndicated, and may be posted on a site using embed tags.\",\"default\":\"\",\"ordinal_\":1},{\"name\":\"name\",\"type\":\"string\",\"doc\":\"Content producer or originator name (e.g., “Warner Bros”).\",\"default\":\"\",\"ordinal_\":2},{\"name\":\"cat\",\"type\":{\"type\":\"array\",\"items\":\"string\"},\"doc\":\"Array of IAB content categories for the content producer. See Table 6.1 Content Categories.\",\"default\":[],\"ordinal_\":3},{\"name\":\"domain\",\"type\":\"string\",\"doc\":\"URL of the content producer.\",\"default\":\"\",\"ordinal_\":4}]},\"doc\":\"See Producer Object.\",\"default\":{},\"ordinal_\":15},{\"name\":\"len\",\"type\":{\"type\":\"int\",\"max\":4294967295,\"min\":0},\"doc\":\"Length of content (appropriate for video or audio) in seconds.\",\"default\":0,\"ordinal_\":16},{\"name\":\"qagmediarating\",\"type\":{\"type\":\"int\",\"max\":255,\"min\":0},\"doc\":\"Media rating of the content, per QAG guidelines. See Table 0 QAG Media Ratings for list of possible values.\",\"default\":0,\"ordinal_\":17},{\"name\":\"embeddable\",\"type\":{\"type\":\"int\",\"max\":1,\"min\":0},\"doc\":\"From QAG Video Addendum. If content can be embedded (such as an embeddable video player) this value should be set to “1”. If content cannot be embedded, then this should be set to “0”.\",\"default\":0,\"ordinal_\":18},{\"name\":\"language\",\"type\":\"string\",\"doc\":\"Language of the content. Use alpha-2/ISO 639-1 codes.\",\"default\":\"\",\"ordinal_\":19}]},\"doc\":\"See Content Object.\",\"default\":{},\"ordinal_\":12},{\"name\":\"keywords\",\"type\":\"string\",\"doc\":\"List of keywords describing this site in a comma separated string.\",\"default\":\"\",\"ordinal_\":13}]}");
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy