More Avro stuff
[aquarium] / src / main / java / gr / grnet / aquarium / message / avro / gen / _WalletEntry.java
diff --git a/src/main/java/gr/grnet/aquarium/message/avro/gen/_WalletEntry.java b/src/main/java/gr/grnet/aquarium/message/avro/gen/_WalletEntry.java
new file mode 100644 (file)
index 0000000..b59851b
--- /dev/null
@@ -0,0 +1,748 @@
+/**
+ * Autogenerated by Avro
+ * 
+ * DO NOT EDIT DIRECTLY
+ */
+package gr.grnet.aquarium.message.avro.gen;  
+@SuppressWarnings("all")
+public class _WalletEntry extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
+  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"_WalletEntry\",\"namespace\":\"gr.grnet.aquarium.message.avro.gen\",\"fields\":[{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"sumOfCreditsToSubtract\",\"type\":\"double\"},{\"name\":\"oldTotalCredits\",\"type\":\"double\"},{\"name\":\"newTotalCredits\",\"type\":\"double\"},{\"name\":\"whenComputedMillis\",\"type\":\"long\"},{\"name\":\"referenceStartMillis\",\"type\":\"long\"},{\"name\":\"referenceStopMillis\",\"type\":\"long\"},{\"name\":\"billingYear\",\"type\":\"int\"},{\"name\":\"billingMonth\",\"type\":\"int\"},{\"name\":\"billingDay\",\"type\":\"int\"},{\"name\":\"chargeslots\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_Chargeslot\",\"fields\":[{\"name\":\"startMillis\",\"type\":\"long\"},{\"name\":\"stopMillis\",\"type\":\"long\"},{\"name\":\"unitPrice\",\"type\":\"double\"},{\"name\":\"explanation\",\"type\":\"string\",\"default\":\"\"},{\"name\":\"creditsToSubtract\",\"type\":\"double\"}]}}},{\"name\":\"resourceEvents\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"_ResourceEvent\",\"fields\":[{\"name\":\"id\",\"type\":\"string\",\"aliases\":[\"originalID\",\"ID\"]},{\"name\":\"idInStore\",\"type\":\"string\"},{\"name\":\"occurredMillis\",\"type\":\"long\"},{\"name\":\"receivedMillis\",\"type\":\"long\",\"default\":0},{\"name\":\"userID\",\"type\":\"string\"},{\"name\":\"clientID\",\"type\":\"string\"},{\"name\":\"eventVersion\",\"type\":\"string\",\"default\":\"1.0\"},{\"name\":\"resource\",\"type\":\"string\",\"aliases\":[\"resourceType\"]},{\"name\":\"instanceID\",\"type\":\"string\"},{\"name\":\"value\",\"type\":\"string\"},{\"name\":\"details\",\"type\":{\"type\":\"map\",\"values\":{\"type\":\"record\",\"name\":\"_AnyValue\",\"fields\":[{\"name\":\"anyValue\",\"type\":[\"null\",\"int\",\"long\",\"boolean\",\"double\",\"bytes\",\"string\"]}]}}}]}}},{\"name\":\"resourceType\",\"type\":{\"type\":\"record\",\"name\":\"_ResourceType\",\"fields\":[{\"name\":\"name\",\"type\":\"string\"},{\"name\":\"unit\",\"type\":\"string\"},{\"name\":\"chargingBehaviorClass\",\"type\":\"string\"}]}},{\"name\":\"isSynthetic\",\"type\":\"boolean\",\"default\":false}]}");
+  @Deprecated public java.lang.CharSequence userID;
+  @Deprecated public double sumOfCreditsToSubtract;
+  @Deprecated public double oldTotalCredits;
+  @Deprecated public double newTotalCredits;
+  @Deprecated public long whenComputedMillis;
+  @Deprecated public long referenceStartMillis;
+  @Deprecated public long referenceStopMillis;
+  @Deprecated public int billingYear;
+  @Deprecated public int billingMonth;
+  @Deprecated public int billingDay;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> chargeslots;
+  @Deprecated public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> resourceEvents;
+  @Deprecated public gr.grnet.aquarium.message.avro.gen._ResourceType resourceType;
+  @Deprecated public boolean isSynthetic;
+  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 userID;
+    case 1: return sumOfCreditsToSubtract;
+    case 2: return oldTotalCredits;
+    case 3: return newTotalCredits;
+    case 4: return whenComputedMillis;
+    case 5: return referenceStartMillis;
+    case 6: return referenceStopMillis;
+    case 7: return billingYear;
+    case 8: return billingMonth;
+    case 9: return billingDay;
+    case 10: return chargeslots;
+    case 11: return resourceEvents;
+    case 12: return resourceType;
+    case 13: return isSynthetic;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+  // Used by DatumReader.  Applications should not call. 
+  @SuppressWarnings(value="unchecked")
+  public void put(int field$, java.lang.Object value$) {
+    switch (field$) {
+    case 0: userID = (java.lang.CharSequence)value$; break;
+    case 1: sumOfCreditsToSubtract = (java.lang.Double)value$; break;
+    case 2: oldTotalCredits = (java.lang.Double)value$; break;
+    case 3: newTotalCredits = (java.lang.Double)value$; break;
+    case 4: whenComputedMillis = (java.lang.Long)value$; break;
+    case 5: referenceStartMillis = (java.lang.Long)value$; break;
+    case 6: referenceStopMillis = (java.lang.Long)value$; break;
+    case 7: billingYear = (java.lang.Integer)value$; break;
+    case 8: billingMonth = (java.lang.Integer)value$; break;
+    case 9: billingDay = (java.lang.Integer)value$; break;
+    case 10: chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>)value$; break;
+    case 11: resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>)value$; break;
+    case 12: resourceType = (gr.grnet.aquarium.message.avro.gen._ResourceType)value$; break;
+    case 13: isSynthetic = (java.lang.Boolean)value$; break;
+    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
+    }
+  }
+
+  /**
+   * Gets the value of the 'userID' field.
+   */
+  public java.lang.CharSequence getUserID() {
+    return userID;
+  }
+
+  /**
+   * Sets the value of the 'userID' field.
+   * @param value the value to set.
+   */
+  public void setUserID(java.lang.CharSequence value) {
+    this.userID = value;
+  }
+
+  /**
+   * Gets the value of the 'sumOfCreditsToSubtract' field.
+   */
+  public java.lang.Double getSumOfCreditsToSubtract() {
+    return sumOfCreditsToSubtract;
+  }
+
+  /**
+   * Sets the value of the 'sumOfCreditsToSubtract' field.
+   * @param value the value to set.
+   */
+  public void setSumOfCreditsToSubtract(java.lang.Double value) {
+    this.sumOfCreditsToSubtract = value;
+  }
+
+  /**
+   * Gets the value of the 'oldTotalCredits' field.
+   */
+  public java.lang.Double getOldTotalCredits() {
+    return oldTotalCredits;
+  }
+
+  /**
+   * Sets the value of the 'oldTotalCredits' field.
+   * @param value the value to set.
+   */
+  public void setOldTotalCredits(java.lang.Double value) {
+    this.oldTotalCredits = value;
+  }
+
+  /**
+   * Gets the value of the 'newTotalCredits' field.
+   */
+  public java.lang.Double getNewTotalCredits() {
+    return newTotalCredits;
+  }
+
+  /**
+   * Sets the value of the 'newTotalCredits' field.
+   * @param value the value to set.
+   */
+  public void setNewTotalCredits(java.lang.Double value) {
+    this.newTotalCredits = value;
+  }
+
+  /**
+   * Gets the value of the 'whenComputedMillis' field.
+   */
+  public java.lang.Long getWhenComputedMillis() {
+    return whenComputedMillis;
+  }
+
+  /**
+   * Sets the value of the 'whenComputedMillis' field.
+   * @param value the value to set.
+   */
+  public void setWhenComputedMillis(java.lang.Long value) {
+    this.whenComputedMillis = value;
+  }
+
+  /**
+   * Gets the value of the 'referenceStartMillis' field.
+   */
+  public java.lang.Long getReferenceStartMillis() {
+    return referenceStartMillis;
+  }
+
+  /**
+   * Sets the value of the 'referenceStartMillis' field.
+   * @param value the value to set.
+   */
+  public void setReferenceStartMillis(java.lang.Long value) {
+    this.referenceStartMillis = value;
+  }
+
+  /**
+   * Gets the value of the 'referenceStopMillis' field.
+   */
+  public java.lang.Long getReferenceStopMillis() {
+    return referenceStopMillis;
+  }
+
+  /**
+   * Sets the value of the 'referenceStopMillis' field.
+   * @param value the value to set.
+   */
+  public void setReferenceStopMillis(java.lang.Long value) {
+    this.referenceStopMillis = value;
+  }
+
+  /**
+   * Gets the value of the 'billingYear' field.
+   */
+  public java.lang.Integer getBillingYear() {
+    return billingYear;
+  }
+
+  /**
+   * Sets the value of the 'billingYear' field.
+   * @param value the value to set.
+   */
+  public void setBillingYear(java.lang.Integer value) {
+    this.billingYear = value;
+  }
+
+  /**
+   * Gets the value of the 'billingMonth' field.
+   */
+  public java.lang.Integer getBillingMonth() {
+    return billingMonth;
+  }
+
+  /**
+   * Sets the value of the 'billingMonth' field.
+   * @param value the value to set.
+   */
+  public void setBillingMonth(java.lang.Integer value) {
+    this.billingMonth = value;
+  }
+
+  /**
+   * Gets the value of the 'billingDay' field.
+   */
+  public java.lang.Integer getBillingDay() {
+    return billingDay;
+  }
+
+  /**
+   * Sets the value of the 'billingDay' field.
+   * @param value the value to set.
+   */
+  public void setBillingDay(java.lang.Integer value) {
+    this.billingDay = value;
+  }
+
+  /**
+   * Gets the value of the 'chargeslots' field.
+   */
+  public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> getChargeslots() {
+    return chargeslots;
+  }
+
+  /**
+   * Sets the value of the 'chargeslots' field.
+   * @param value the value to set.
+   */
+  public void setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> value) {
+    this.chargeslots = value;
+  }
+
+  /**
+   * Gets the value of the 'resourceEvents' field.
+   */
+  public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getResourceEvents() {
+    return resourceEvents;
+  }
+
+  /**
+   * Sets the value of the 'resourceEvents' field.
+   * @param value the value to set.
+   */
+  public void setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+    this.resourceEvents = value;
+  }
+
+  /**
+   * Gets the value of the 'resourceType' field.
+   */
+  public gr.grnet.aquarium.message.avro.gen._ResourceType getResourceType() {
+    return resourceType;
+  }
+
+  /**
+   * Sets the value of the 'resourceType' field.
+   * @param value the value to set.
+   */
+  public void setResourceType(gr.grnet.aquarium.message.avro.gen._ResourceType value) {
+    this.resourceType = value;
+  }
+
+  /**
+   * Gets the value of the 'isSynthetic' field.
+   */
+  public java.lang.Boolean getIsSynthetic() {
+    return isSynthetic;
+  }
+
+  /**
+   * Sets the value of the 'isSynthetic' field.
+   * @param value the value to set.
+   */
+  public void setIsSynthetic(java.lang.Boolean value) {
+    this.isSynthetic = value;
+  }
+
+  /** Creates a new _WalletEntry RecordBuilder */
+  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder() {
+    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder();
+  }
+  
+  /** Creates a new _WalletEntry RecordBuilder by copying an existing Builder */
+  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder other) {
+    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder(other);
+  }
+  
+  /** Creates a new _WalletEntry RecordBuilder by copying an existing _WalletEntry instance */
+  public static gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder newBuilder(gr.grnet.aquarium.message.avro.gen._WalletEntry other) {
+    return new gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder(other);
+  }
+  
+  /**
+   * RecordBuilder for _WalletEntry instances.
+   */
+  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<_WalletEntry>
+    implements org.apache.avro.data.RecordBuilder<_WalletEntry> {
+
+    private java.lang.CharSequence userID;
+    private double sumOfCreditsToSubtract;
+    private double oldTotalCredits;
+    private double newTotalCredits;
+    private long whenComputedMillis;
+    private long referenceStartMillis;
+    private long referenceStopMillis;
+    private int billingYear;
+    private int billingMonth;
+    private int billingDay;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> chargeslots;
+    private java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> resourceEvents;
+    private gr.grnet.aquarium.message.avro.gen._ResourceType resourceType;
+    private boolean isSynthetic;
+
+    /** Creates a new Builder */
+    private Builder() {
+      super(gr.grnet.aquarium.message.avro.gen._WalletEntry.SCHEMA$);
+    }
+    
+    /** Creates a Builder by copying an existing Builder */
+    private Builder(gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder other) {
+      super(other);
+    }
+    
+    /** Creates a Builder by copying an existing _WalletEntry instance */
+    private Builder(gr.grnet.aquarium.message.avro.gen._WalletEntry other) {
+            super(gr.grnet.aquarium.message.avro.gen._WalletEntry.SCHEMA$);
+      if (isValidValue(fields()[0], other.userID)) {
+        this.userID = (java.lang.CharSequence) data().deepCopy(fields()[0].schema(), other.userID);
+        fieldSetFlags()[0] = true;
+      }
+      if (isValidValue(fields()[1], other.sumOfCreditsToSubtract)) {
+        this.sumOfCreditsToSubtract = (java.lang.Double) data().deepCopy(fields()[1].schema(), other.sumOfCreditsToSubtract);
+        fieldSetFlags()[1] = true;
+      }
+      if (isValidValue(fields()[2], other.oldTotalCredits)) {
+        this.oldTotalCredits = (java.lang.Double) data().deepCopy(fields()[2].schema(), other.oldTotalCredits);
+        fieldSetFlags()[2] = true;
+      }
+      if (isValidValue(fields()[3], other.newTotalCredits)) {
+        this.newTotalCredits = (java.lang.Double) data().deepCopy(fields()[3].schema(), other.newTotalCredits);
+        fieldSetFlags()[3] = true;
+      }
+      if (isValidValue(fields()[4], other.whenComputedMillis)) {
+        this.whenComputedMillis = (java.lang.Long) data().deepCopy(fields()[4].schema(), other.whenComputedMillis);
+        fieldSetFlags()[4] = true;
+      }
+      if (isValidValue(fields()[5], other.referenceStartMillis)) {
+        this.referenceStartMillis = (java.lang.Long) data().deepCopy(fields()[5].schema(), other.referenceStartMillis);
+        fieldSetFlags()[5] = true;
+      }
+      if (isValidValue(fields()[6], other.referenceStopMillis)) {
+        this.referenceStopMillis = (java.lang.Long) data().deepCopy(fields()[6].schema(), other.referenceStopMillis);
+        fieldSetFlags()[6] = true;
+      }
+      if (isValidValue(fields()[7], other.billingYear)) {
+        this.billingYear = (java.lang.Integer) data().deepCopy(fields()[7].schema(), other.billingYear);
+        fieldSetFlags()[7] = true;
+      }
+      if (isValidValue(fields()[8], other.billingMonth)) {
+        this.billingMonth = (java.lang.Integer) data().deepCopy(fields()[8].schema(), other.billingMonth);
+        fieldSetFlags()[8] = true;
+      }
+      if (isValidValue(fields()[9], other.billingDay)) {
+        this.billingDay = (java.lang.Integer) data().deepCopy(fields()[9].schema(), other.billingDay);
+        fieldSetFlags()[9] = true;
+      }
+      if (isValidValue(fields()[10], other.chargeslots)) {
+        this.chargeslots = (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>) data().deepCopy(fields()[10].schema(), other.chargeslots);
+        fieldSetFlags()[10] = true;
+      }
+      if (isValidValue(fields()[11], other.resourceEvents)) {
+        this.resourceEvents = (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) data().deepCopy(fields()[11].schema(), other.resourceEvents);
+        fieldSetFlags()[11] = true;
+      }
+      if (isValidValue(fields()[12], other.resourceType)) {
+        this.resourceType = (gr.grnet.aquarium.message.avro.gen._ResourceType) data().deepCopy(fields()[12].schema(), other.resourceType);
+        fieldSetFlags()[12] = true;
+      }
+      if (isValidValue(fields()[13], other.isSynthetic)) {
+        this.isSynthetic = (java.lang.Boolean) data().deepCopy(fields()[13].schema(), other.isSynthetic);
+        fieldSetFlags()[13] = true;
+      }
+    }
+
+    /** Gets the value of the 'userID' field */
+    public java.lang.CharSequence getUserID() {
+      return userID;
+    }
+    
+    /** Sets the value of the 'userID' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setUserID(java.lang.CharSequence value) {
+      validate(fields()[0], value);
+      this.userID = value;
+      fieldSetFlags()[0] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'userID' field has been set */
+    public boolean hasUserID() {
+      return fieldSetFlags()[0];
+    }
+    
+    /** Clears the value of the 'userID' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearUserID() {
+      userID = null;
+      fieldSetFlags()[0] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'sumOfCreditsToSubtract' field */
+    public java.lang.Double getSumOfCreditsToSubtract() {
+      return sumOfCreditsToSubtract;
+    }
+    
+    /** Sets the value of the 'sumOfCreditsToSubtract' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setSumOfCreditsToSubtract(double value) {
+      validate(fields()[1], value);
+      this.sumOfCreditsToSubtract = value;
+      fieldSetFlags()[1] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'sumOfCreditsToSubtract' field has been set */
+    public boolean hasSumOfCreditsToSubtract() {
+      return fieldSetFlags()[1];
+    }
+    
+    /** Clears the value of the 'sumOfCreditsToSubtract' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearSumOfCreditsToSubtract() {
+      fieldSetFlags()[1] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'oldTotalCredits' field */
+    public java.lang.Double getOldTotalCredits() {
+      return oldTotalCredits;
+    }
+    
+    /** Sets the value of the 'oldTotalCredits' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setOldTotalCredits(double value) {
+      validate(fields()[2], value);
+      this.oldTotalCredits = value;
+      fieldSetFlags()[2] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'oldTotalCredits' field has been set */
+    public boolean hasOldTotalCredits() {
+      return fieldSetFlags()[2];
+    }
+    
+    /** Clears the value of the 'oldTotalCredits' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearOldTotalCredits() {
+      fieldSetFlags()[2] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'newTotalCredits' field */
+    public java.lang.Double getNewTotalCredits() {
+      return newTotalCredits;
+    }
+    
+    /** Sets the value of the 'newTotalCredits' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setNewTotalCredits(double value) {
+      validate(fields()[3], value);
+      this.newTotalCredits = value;
+      fieldSetFlags()[3] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'newTotalCredits' field has been set */
+    public boolean hasNewTotalCredits() {
+      return fieldSetFlags()[3];
+    }
+    
+    /** Clears the value of the 'newTotalCredits' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearNewTotalCredits() {
+      fieldSetFlags()[3] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'whenComputedMillis' field */
+    public java.lang.Long getWhenComputedMillis() {
+      return whenComputedMillis;
+    }
+    
+    /** Sets the value of the 'whenComputedMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setWhenComputedMillis(long value) {
+      validate(fields()[4], value);
+      this.whenComputedMillis = value;
+      fieldSetFlags()[4] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'whenComputedMillis' field has been set */
+    public boolean hasWhenComputedMillis() {
+      return fieldSetFlags()[4];
+    }
+    
+    /** Clears the value of the 'whenComputedMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearWhenComputedMillis() {
+      fieldSetFlags()[4] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'referenceStartMillis' field */
+    public java.lang.Long getReferenceStartMillis() {
+      return referenceStartMillis;
+    }
+    
+    /** Sets the value of the 'referenceStartMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setReferenceStartMillis(long value) {
+      validate(fields()[5], value);
+      this.referenceStartMillis = value;
+      fieldSetFlags()[5] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'referenceStartMillis' field has been set */
+    public boolean hasReferenceStartMillis() {
+      return fieldSetFlags()[5];
+    }
+    
+    /** Clears the value of the 'referenceStartMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearReferenceStartMillis() {
+      fieldSetFlags()[5] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'referenceStopMillis' field */
+    public java.lang.Long getReferenceStopMillis() {
+      return referenceStopMillis;
+    }
+    
+    /** Sets the value of the 'referenceStopMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setReferenceStopMillis(long value) {
+      validate(fields()[6], value);
+      this.referenceStopMillis = value;
+      fieldSetFlags()[6] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'referenceStopMillis' field has been set */
+    public boolean hasReferenceStopMillis() {
+      return fieldSetFlags()[6];
+    }
+    
+    /** Clears the value of the 'referenceStopMillis' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearReferenceStopMillis() {
+      fieldSetFlags()[6] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'billingYear' field */
+    public java.lang.Integer getBillingYear() {
+      return billingYear;
+    }
+    
+    /** Sets the value of the 'billingYear' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingYear(int value) {
+      validate(fields()[7], value);
+      this.billingYear = value;
+      fieldSetFlags()[7] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'billingYear' field has been set */
+    public boolean hasBillingYear() {
+      return fieldSetFlags()[7];
+    }
+    
+    /** Clears the value of the 'billingYear' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingYear() {
+      fieldSetFlags()[7] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'billingMonth' field */
+    public java.lang.Integer getBillingMonth() {
+      return billingMonth;
+    }
+    
+    /** Sets the value of the 'billingMonth' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingMonth(int value) {
+      validate(fields()[8], value);
+      this.billingMonth = value;
+      fieldSetFlags()[8] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'billingMonth' field has been set */
+    public boolean hasBillingMonth() {
+      return fieldSetFlags()[8];
+    }
+    
+    /** Clears the value of the 'billingMonth' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingMonth() {
+      fieldSetFlags()[8] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'billingDay' field */
+    public java.lang.Integer getBillingDay() {
+      return billingDay;
+    }
+    
+    /** Sets the value of the 'billingDay' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setBillingDay(int value) {
+      validate(fields()[9], value);
+      this.billingDay = value;
+      fieldSetFlags()[9] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'billingDay' field has been set */
+    public boolean hasBillingDay() {
+      return fieldSetFlags()[9];
+    }
+    
+    /** Clears the value of the 'billingDay' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearBillingDay() {
+      fieldSetFlags()[9] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'chargeslots' field */
+    public java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> getChargeslots() {
+      return chargeslots;
+    }
+    
+    /** Sets the value of the 'chargeslots' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setChargeslots(java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot> value) {
+      validate(fields()[10], value);
+      this.chargeslots = value;
+      fieldSetFlags()[10] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'chargeslots' field has been set */
+    public boolean hasChargeslots() {
+      return fieldSetFlags()[10];
+    }
+    
+    /** Clears the value of the 'chargeslots' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearChargeslots() {
+      chargeslots = null;
+      fieldSetFlags()[10] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'resourceEvents' field */
+    public java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> getResourceEvents() {
+      return resourceEvents;
+    }
+    
+    /** Sets the value of the 'resourceEvents' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setResourceEvents(java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent> value) {
+      validate(fields()[11], value);
+      this.resourceEvents = value;
+      fieldSetFlags()[11] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'resourceEvents' field has been set */
+    public boolean hasResourceEvents() {
+      return fieldSetFlags()[11];
+    }
+    
+    /** Clears the value of the 'resourceEvents' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearResourceEvents() {
+      resourceEvents = null;
+      fieldSetFlags()[11] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'resourceType' field */
+    public gr.grnet.aquarium.message.avro.gen._ResourceType getResourceType() {
+      return resourceType;
+    }
+    
+    /** Sets the value of the 'resourceType' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setResourceType(gr.grnet.aquarium.message.avro.gen._ResourceType value) {
+      validate(fields()[12], value);
+      this.resourceType = value;
+      fieldSetFlags()[12] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'resourceType' field has been set */
+    public boolean hasResourceType() {
+      return fieldSetFlags()[12];
+    }
+    
+    /** Clears the value of the 'resourceType' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearResourceType() {
+      resourceType = null;
+      fieldSetFlags()[12] = false;
+      return this;
+    }
+
+    /** Gets the value of the 'isSynthetic' field */
+    public java.lang.Boolean getIsSynthetic() {
+      return isSynthetic;
+    }
+    
+    /** Sets the value of the 'isSynthetic' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder setIsSynthetic(boolean value) {
+      validate(fields()[13], value);
+      this.isSynthetic = value;
+      fieldSetFlags()[13] = true;
+      return this; 
+    }
+    
+    /** Checks whether the 'isSynthetic' field has been set */
+    public boolean hasIsSynthetic() {
+      return fieldSetFlags()[13];
+    }
+    
+    /** Clears the value of the 'isSynthetic' field */
+    public gr.grnet.aquarium.message.avro.gen._WalletEntry.Builder clearIsSynthetic() {
+      fieldSetFlags()[13] = false;
+      return this;
+    }
+
+    @Override
+    public _WalletEntry build() {
+      try {
+        _WalletEntry record = new _WalletEntry();
+        record.userID = fieldSetFlags()[0] ? this.userID : (java.lang.CharSequence) defaultValue(fields()[0]);
+        record.sumOfCreditsToSubtract = fieldSetFlags()[1] ? this.sumOfCreditsToSubtract : (java.lang.Double) defaultValue(fields()[1]);
+        record.oldTotalCredits = fieldSetFlags()[2] ? this.oldTotalCredits : (java.lang.Double) defaultValue(fields()[2]);
+        record.newTotalCredits = fieldSetFlags()[3] ? this.newTotalCredits : (java.lang.Double) defaultValue(fields()[3]);
+        record.whenComputedMillis = fieldSetFlags()[4] ? this.whenComputedMillis : (java.lang.Long) defaultValue(fields()[4]);
+        record.referenceStartMillis = fieldSetFlags()[5] ? this.referenceStartMillis : (java.lang.Long) defaultValue(fields()[5]);
+        record.referenceStopMillis = fieldSetFlags()[6] ? this.referenceStopMillis : (java.lang.Long) defaultValue(fields()[6]);
+        record.billingYear = fieldSetFlags()[7] ? this.billingYear : (java.lang.Integer) defaultValue(fields()[7]);
+        record.billingMonth = fieldSetFlags()[8] ? this.billingMonth : (java.lang.Integer) defaultValue(fields()[8]);
+        record.billingDay = fieldSetFlags()[9] ? this.billingDay : (java.lang.Integer) defaultValue(fields()[9]);
+        record.chargeslots = fieldSetFlags()[10] ? this.chargeslots : (java.util.List<gr.grnet.aquarium.message.avro.gen._Chargeslot>) defaultValue(fields()[10]);
+        record.resourceEvents = fieldSetFlags()[11] ? this.resourceEvents : (java.util.List<gr.grnet.aquarium.message.avro.gen._ResourceEvent>) defaultValue(fields()[11]);
+        record.resourceType = fieldSetFlags()[12] ? this.resourceType : (gr.grnet.aquarium.message.avro.gen._ResourceType) defaultValue(fields()[12]);
+        record.isSynthetic = fieldSetFlags()[13] ? this.isSynthetic : (java.lang.Boolean) defaultValue(fields()[13]);
+        return record;
+      } catch (Exception e) {
+        throw new org.apache.avro.AvroRuntimeException(e);
+      }
+    }
+  }
+}