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

com.datawizards.model.UserProfile Maven / Gradle / Ivy

There is a newer version: 0.1.3
Show newest version
/**
 * Autogenerated by Avro
 *
 * DO NOT EDIT DIRECTLY
 */
package com.datawizards.model;

import org.apache.avro.specific.SpecificData;
import org.apache.avro.message.BinaryMessageEncoder;
import org.apache.avro.message.BinaryMessageDecoder;
import org.apache.avro.message.SchemaStore;

@SuppressWarnings("all")
@org.apache.avro.specific.AvroGenerated
public class UserProfile extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  private static final long serialVersionUID = 2282846914218419159L;
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"UserProfile\",\"namespace\":\"com.datawizards.model\",\"fields\":[{\"name\":\"user_id\",\"type\":\"string\"},{\"name\":\"actions_count\",\"type\":\"long\",\"default\":0},{\"name\":\"last_action\",\"type\":{\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},\"default\":0},{\"name\":\"favourite_device\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"device_usage\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"DeviceUsage\",\"fields\":[{\"name\":\"device\",\"type\":\"string\"},{\"name\":\"actions_count\",\"type\":\"long\",\"default\":0}]}},\"default\":[]}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }

  private static SpecificData MODEL$ = new SpecificData();

  private static final BinaryMessageEncoder ENCODER =
      new BinaryMessageEncoder(MODEL$, SCHEMA$);

  private static final BinaryMessageDecoder DECODER =
      new BinaryMessageDecoder(MODEL$, SCHEMA$);

  /**
   * Return the BinaryMessageDecoder instance used by this class.
   */
  public static BinaryMessageDecoder getDecoder() {
    return DECODER;
  }

  /**
   * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
   * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
   */
  public static BinaryMessageDecoder createDecoder(SchemaStore resolver) {
    return new BinaryMessageDecoder(MODEL$, SCHEMA$, resolver);
  }

  /** Serializes this UserProfile to a ByteBuffer. */
  public java.nio.ByteBuffer toByteBuffer() throws java.io.IOException {
    return ENCODER.encode(this);
  }

  /** Deserializes a UserProfile from a ByteBuffer. */
  public static UserProfile fromByteBuffer(
      java.nio.ByteBuffer b) throws java.io.IOException {
    return DECODER.decode(b);
  }

  @Deprecated public java.lang.CharSequence user_id;
  @Deprecated public long actions_count;
  @Deprecated public org.joda.time.DateTime last_action;
  @Deprecated public java.lang.CharSequence favourite_device;
  @Deprecated public java.util.List device_usage;

  /**
   * Default constructor.  Note that this does not initialize fields
   * to their default values from the schema.  If that is desired then
   * one should use newBuilder().
   */
  public UserProfile() {}

  /**
   * All-args constructor.
   * @param user_id The new value for user_id
   * @param actions_count The new value for actions_count
   * @param last_action The new value for last_action
   * @param favourite_device The new value for favourite_device
   * @param device_usage The new value for device_usage
   */
  public UserProfile(java.lang.CharSequence user_id, java.lang.Long actions_count, org.joda.time.DateTime last_action, java.lang.CharSequence favourite_device, java.util.List device_usage) {
    this.user_id = user_id;
    this.actions_count = actions_count;
    this.last_action = last_action;
    this.favourite_device = favourite_device;
    this.device_usage = device_usage;
  }

  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
  // Used by DatumWriter.  Applications should not call.
  public java.lang.Object get(int field$) {
    switch (field$) {
    case 0: return user_id;
    case 1: return actions_count;
    case 2: return last_action;
    case 3: return favourite_device;
    case 4: return device_usage;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  protected static final org.apache.avro.data.TimeConversions.DateConversion DATE_CONVERSION = new org.apache.avro.data.TimeConversions.DateConversion();
  protected static final org.apache.avro.data.TimeConversions.TimeConversion TIME_CONVERSION = new org.apache.avro.data.TimeConversions.TimeConversion();
  protected static final org.apache.avro.data.TimeConversions.TimestampConversion TIMESTAMP_CONVERSION = new org.apache.avro.data.TimeConversions.TimestampConversion();
  protected static final org.apache.avro.Conversions.DecimalConversion DECIMAL_CONVERSION = new org.apache.avro.Conversions.DecimalConversion();

  private static final org.apache.avro.Conversion[] conversions =
      new org.apache.avro.Conversion[] {
      null,
      null,
      TIMESTAMP_CONVERSION,
      null,
      null,
      null
  };

  @Override
  public org.apache.avro.Conversion getConversion(int field) {
    return conversions[field];
  }

  // Used by DatumReader.  Applications should not call.
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    switch (field$) {
    case 0: user_id = (java.lang.CharSequence)value$; break;
    case 1: actions_count = (java.lang.Long)value$; break;
    case 2: last_action = (org.joda.time.DateTime)value$; break;
    case 3: favourite_device = (java.lang.CharSequence)value$; break;
    case 4: device_usage = (java.util.List)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'user_id' field.
   * @return The value of the 'user_id' field.
   */
  public java.lang.CharSequence getUserId() {
    return user_id;
  }

  /**
   * Sets the value of the 'user_id' field.
   * @param value the value to set.
   */
  public void setUserId(java.lang.CharSequence value) {
    this.user_id = value;
  }

  /**
   * Gets the value of the 'actions_count' field.
   * @return The value of the 'actions_count' field.
   */
  public java.lang.Long getActionsCount() {
    return actions_count;
  }

  /**
   * Sets the value of the 'actions_count' field.
   * @param value the value to set.
   */
  public void setActionsCount(java.lang.Long value) {
    this.actions_count = value;
  }

  /**
   * Gets the value of the 'last_action' field.
   * @return The value of the 'last_action' field.
   */
  public org.joda.time.DateTime getLastAction() {
    return last_action;
  }

  /**
   * Sets the value of the 'last_action' field.
   * @param value the value to set.
   */
  public void setLastAction(org.joda.time.DateTime value) {
    this.last_action = value;
  }

  /**
   * Gets the value of the 'favourite_device' field.
   * @return The value of the 'favourite_device' field.
   */
  public java.lang.CharSequence getFavouriteDevice() {
    return favourite_device;
  }

  /**
   * Sets the value of the 'favourite_device' field.
   * @param value the value to set.
   */
  public void setFavouriteDevice(java.lang.CharSequence value) {
    this.favourite_device = value;
  }

  /**
   * Gets the value of the 'device_usage' field.
   * @return The value of the 'device_usage' field.
   */
  public java.util.List getDeviceUsage() {
    return device_usage;
  }

  /**
   * Sets the value of the 'device_usage' field.
   * @param value the value to set.
   */
  public void setDeviceUsage(java.util.List value) {
    this.device_usage = value;
  }

  /**
   * Creates a new UserProfile RecordBuilder.
   * @return A new UserProfile RecordBuilder
   */
  public static com.datawizards.model.UserProfile.Builder newBuilder() {
    return new com.datawizards.model.UserProfile.Builder();
  }

  /**
   * Creates a new UserProfile RecordBuilder by copying an existing Builder.
   * @param other The existing builder to copy.
   * @return A new UserProfile RecordBuilder
   */
  public static com.datawizards.model.UserProfile.Builder newBuilder(com.datawizards.model.UserProfile.Builder other) {
    return new com.datawizards.model.UserProfile.Builder(other);
  }

  /**
   * Creates a new UserProfile RecordBuilder by copying an existing UserProfile instance.
   * @param other The existing instance to copy.
   * @return A new UserProfile RecordBuilder
   */
  public static com.datawizards.model.UserProfile.Builder newBuilder(com.datawizards.model.UserProfile other) {
    return new com.datawizards.model.UserProfile.Builder(other);
  }

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

    private java.lang.CharSequence user_id;
    private long actions_count;
    private org.joda.time.DateTime last_action;
    private java.lang.CharSequence favourite_device;
    private java.util.List device_usage;

    /** Creates a new Builder */
    private Builder() {
      super(SCHEMA$);
    }

    /**
     * Creates a Builder by copying an existing Builder.
     * @param other The existing Builder to copy.
     */
    private Builder(com.datawizards.model.UserProfile.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.user_id)) {
        this.user_id = data().deepCopy(fields()[0].schema(), other.user_id);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.actions_count)) {
        this.actions_count = data().deepCopy(fields()[1].schema(), other.actions_count);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.last_action)) {
        this.last_action = data().deepCopy(fields()[2].schema(), other.last_action);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.favourite_device)) {
        this.favourite_device = data().deepCopy(fields()[3].schema(), other.favourite_device);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.device_usage)) {
        this.device_usage = data().deepCopy(fields()[4].schema(), other.device_usage);
        fieldSetFlags()[4] = true;
      }
    }

    /**
     * Creates a Builder by copying an existing UserProfile instance
     * @param other The existing instance to copy.
     */
    private Builder(com.datawizards.model.UserProfile other) {
            super(SCHEMA$);
      if (isValidValue(fields()[0], other.user_id)) {
        this.user_id = data().deepCopy(fields()[0].schema(), other.user_id);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.actions_count)) {
        this.actions_count = data().deepCopy(fields()[1].schema(), other.actions_count);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.last_action)) {
        this.last_action = data().deepCopy(fields()[2].schema(), other.last_action);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.favourite_device)) {
        this.favourite_device = data().deepCopy(fields()[3].schema(), other.favourite_device);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.device_usage)) {
        this.device_usage = data().deepCopy(fields()[4].schema(), other.device_usage);
        fieldSetFlags()[4] = true;
      }
    }

    /**
      * Gets the value of the 'user_id' field.
      * @return The value.
      */
    public java.lang.CharSequence getUserId() {
      return user_id;
    }

    /**
      * Sets the value of the 'user_id' field.
      * @param value The value of 'user_id'.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder setUserId(java.lang.CharSequence value) {
      validate(fields()[0], value);
      this.user_id = value;
      fieldSetFlags()[0] = true;
      return this;
    }

    /**
      * Checks whether the 'user_id' field has been set.
      * @return True if the 'user_id' field has been set, false otherwise.
      */
    public boolean hasUserId() {
      return fieldSetFlags()[0];
    }


    /**
      * Clears the value of the 'user_id' field.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder clearUserId() {
      user_id = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /**
      * Gets the value of the 'actions_count' field.
      * @return The value.
      */
    public java.lang.Long getActionsCount() {
      return actions_count;
    }

    /**
      * Sets the value of the 'actions_count' field.
      * @param value The value of 'actions_count'.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder setActionsCount(long value) {
      validate(fields()[1], value);
      this.actions_count = value;
      fieldSetFlags()[1] = true;
      return this;
    }

    /**
      * Checks whether the 'actions_count' field has been set.
      * @return True if the 'actions_count' field has been set, false otherwise.
      */
    public boolean hasActionsCount() {
      return fieldSetFlags()[1];
    }


    /**
      * Clears the value of the 'actions_count' field.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder clearActionsCount() {
      fieldSetFlags()[1] = false;
      return this;
    }

    /**
      * Gets the value of the 'last_action' field.
      * @return The value.
      */
    public org.joda.time.DateTime getLastAction() {
      return last_action;
    }

    /**
      * Sets the value of the 'last_action' field.
      * @param value The value of 'last_action'.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder setLastAction(org.joda.time.DateTime value) {
      validate(fields()[2], value);
      this.last_action = value;
      fieldSetFlags()[2] = true;
      return this;
    }

    /**
      * Checks whether the 'last_action' field has been set.
      * @return True if the 'last_action' field has been set, false otherwise.
      */
    public boolean hasLastAction() {
      return fieldSetFlags()[2];
    }


    /**
      * Clears the value of the 'last_action' field.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder clearLastAction() {
      fieldSetFlags()[2] = false;
      return this;
    }

    /**
      * Gets the value of the 'favourite_device' field.
      * @return The value.
      */
    public java.lang.CharSequence getFavouriteDevice() {
      return favourite_device;
    }

    /**
      * Sets the value of the 'favourite_device' field.
      * @param value The value of 'favourite_device'.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder setFavouriteDevice(java.lang.CharSequence value) {
      validate(fields()[3], value);
      this.favourite_device = value;
      fieldSetFlags()[3] = true;
      return this;
    }

    /**
      * Checks whether the 'favourite_device' field has been set.
      * @return True if the 'favourite_device' field has been set, false otherwise.
      */
    public boolean hasFavouriteDevice() {
      return fieldSetFlags()[3];
    }


    /**
      * Clears the value of the 'favourite_device' field.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder clearFavouriteDevice() {
      favourite_device = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /**
      * Gets the value of the 'device_usage' field.
      * @return The value.
      */
    public java.util.List getDeviceUsage() {
      return device_usage;
    }

    /**
      * Sets the value of the 'device_usage' field.
      * @param value The value of 'device_usage'.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder setDeviceUsage(java.util.List value) {
      validate(fields()[4], value);
      this.device_usage = value;
      fieldSetFlags()[4] = true;
      return this;
    }

    /**
      * Checks whether the 'device_usage' field has been set.
      * @return True if the 'device_usage' field has been set, false otherwise.
      */
    public boolean hasDeviceUsage() {
      return fieldSetFlags()[4];
    }


    /**
      * Clears the value of the 'device_usage' field.
      * @return This builder.
      */
    public com.datawizards.model.UserProfile.Builder clearDeviceUsage() {
      device_usage = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    @Override
    @SuppressWarnings("unchecked")
    public UserProfile build() {
      try {
        UserProfile record = new UserProfile();
        record.user_id = fieldSetFlags()[0] ? this.user_id : (java.lang.CharSequence) defaultValue(fields()[0], record.getConversion(0));
        record.actions_count = fieldSetFlags()[1] ? this.actions_count : (java.lang.Long) defaultValue(fields()[1], record.getConversion(1));
        record.last_action = fieldSetFlags()[2] ? this.last_action : (org.joda.time.DateTime) defaultValue(fields()[2], record.getConversion(2));
        record.favourite_device = fieldSetFlags()[3] ? this.favourite_device : (java.lang.CharSequence) defaultValue(fields()[3], record.getConversion(3));
        record.device_usage = fieldSetFlags()[4] ? this.device_usage : (java.util.List) defaultValue(fields()[4], record.getConversion(4));
        return record;
      } catch (java.lang.Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }

  @SuppressWarnings("unchecked")
  private static final org.apache.avro.io.DatumWriter
    WRITER$ = (org.apache.avro.io.DatumWriter)MODEL$.createDatumWriter(SCHEMA$);

  @Override public void writeExternal(java.io.ObjectOutput out)
    throws java.io.IOException {
    WRITER$.write(this, SpecificData.getEncoder(out));
  }

  @SuppressWarnings("unchecked")
  private static final org.apache.avro.io.DatumReader
    READER$ = (org.apache.avro.io.DatumReader)MODEL$.createDatumReader(SCHEMA$);

  @Override public void readExternal(java.io.ObjectInput in)
    throws java.io.IOException {
    READER$.read(this, SpecificData.getDecoder(in));
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy