001/**
002 * Autogenerated by Avro
003 *
004 * DO NOT EDIT DIRECTLY
005 */
006package org.apache.reef.tang.implementation.avro;
007
008import org.apache.avro.specific.SpecificData;
009
010@SuppressWarnings("all")
011@org.apache.avro.specific.AvroGenerated
012public class AvroConstructorArg extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
013  private static final long serialVersionUID = 6969801512165908949L;
014  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"AvroConstructorArg\",\"namespace\":\"org.apache.reef.tang.implementation.avro\",\"fields\":[{\"name\":\"fullArgClassName\",\"type\":\"string\"},{\"name\":\"namedParameterName\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"isInjectionFuture\",\"type\":\"boolean\"}]}");
015  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
016  @Deprecated public java.lang.CharSequence fullArgClassName;
017  @Deprecated public java.lang.CharSequence namedParameterName;
018  @Deprecated public boolean isInjectionFuture;
019
020  /**
021   * Default constructor.  Note that this does not initialize fields
022   * to their default values from the schema.  If that is desired then
023   * one should use <code>newBuilder()</code>.
024   */
025  public AvroConstructorArg() {}
026
027  /**
028   * All-args constructor.
029   * @param fullArgClassName The new value for fullArgClassName
030   * @param namedParameterName The new value for namedParameterName
031   * @param isInjectionFuture The new value for isInjectionFuture
032   */
033  public AvroConstructorArg(java.lang.CharSequence fullArgClassName, java.lang.CharSequence namedParameterName, java.lang.Boolean isInjectionFuture) {
034    this.fullArgClassName = fullArgClassName;
035    this.namedParameterName = namedParameterName;
036    this.isInjectionFuture = isInjectionFuture;
037  }
038
039  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
040  // Used by DatumWriter.  Applications should not call.
041  public java.lang.Object get(int field$) {
042    switch (field$) {
043    case 0: return fullArgClassName;
044    case 1: return namedParameterName;
045    case 2: return isInjectionFuture;
046    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
047    }
048  }
049
050  // Used by DatumReader.  Applications should not call.
051  @SuppressWarnings(value="unchecked")
052  public void put(int field$, java.lang.Object value$) {
053    switch (field$) {
054    case 0: fullArgClassName = (java.lang.CharSequence)value$; break;
055    case 1: namedParameterName = (java.lang.CharSequence)value$; break;
056    case 2: isInjectionFuture = (java.lang.Boolean)value$; break;
057    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
058    }
059  }
060
061  /**
062   * Gets the value of the 'fullArgClassName' field.
063   * @return The value of the 'fullArgClassName' field.
064   */
065  public java.lang.CharSequence getFullArgClassName() {
066    return fullArgClassName;
067  }
068
069  /**
070   * Sets the value of the 'fullArgClassName' field.
071   * @param value the value to set.
072   */
073  public void setFullArgClassName(java.lang.CharSequence value) {
074    this.fullArgClassName = value;
075  }
076
077  /**
078   * Gets the value of the 'namedParameterName' field.
079   * @return The value of the 'namedParameterName' field.
080   */
081  public java.lang.CharSequence getNamedParameterName() {
082    return namedParameterName;
083  }
084
085  /**
086   * Sets the value of the 'namedParameterName' field.
087   * @param value the value to set.
088   */
089  public void setNamedParameterName(java.lang.CharSequence value) {
090    this.namedParameterName = value;
091  }
092
093  /**
094   * Gets the value of the 'isInjectionFuture' field.
095   * @return The value of the 'isInjectionFuture' field.
096   */
097  public java.lang.Boolean getIsInjectionFuture() {
098    return isInjectionFuture;
099  }
100
101  /**
102   * Sets the value of the 'isInjectionFuture' field.
103   * @param value the value to set.
104   */
105  public void setIsInjectionFuture(java.lang.Boolean value) {
106    this.isInjectionFuture = value;
107  }
108
109  /**
110   * Creates a new AvroConstructorArg RecordBuilder.
111   * @return A new AvroConstructorArg RecordBuilder
112   */
113  public static org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder newBuilder() {
114    return new org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder();
115  }
116
117  /**
118   * Creates a new AvroConstructorArg RecordBuilder by copying an existing Builder.
119   * @param other The existing builder to copy.
120   * @return A new AvroConstructorArg RecordBuilder
121   */
122  public static org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder newBuilder(org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder other) {
123    return new org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder(other);
124  }
125
126  /**
127   * Creates a new AvroConstructorArg RecordBuilder by copying an existing AvroConstructorArg instance.
128   * @param other The existing instance to copy.
129   * @return A new AvroConstructorArg RecordBuilder
130   */
131  public static org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder newBuilder(org.apache.reef.tang.implementation.avro.AvroConstructorArg other) {
132    return new org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder(other);
133  }
134
135  /**
136   * RecordBuilder for AvroConstructorArg instances.
137   */
138  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<AvroConstructorArg>
139    implements org.apache.avro.data.RecordBuilder<AvroConstructorArg> {
140
141    private java.lang.CharSequence fullArgClassName;
142    private java.lang.CharSequence namedParameterName;
143    private boolean isInjectionFuture;
144
145    /** Creates a new Builder */
146    private Builder() {
147      super(SCHEMA$);
148    }
149
150    /**
151     * Creates a Builder by copying an existing Builder.
152     * @param other The existing Builder to copy.
153     */
154    private Builder(org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder other) {
155      super(other);
156      if (isValidValue(fields()[0], other.fullArgClassName)) {
157        this.fullArgClassName = data().deepCopy(fields()[0].schema(), other.fullArgClassName);
158        fieldSetFlags()[0] = true;
159      }
160      if (isValidValue(fields()[1], other.namedParameterName)) {
161        this.namedParameterName = data().deepCopy(fields()[1].schema(), other.namedParameterName);
162        fieldSetFlags()[1] = true;
163      }
164      if (isValidValue(fields()[2], other.isInjectionFuture)) {
165        this.isInjectionFuture = data().deepCopy(fields()[2].schema(), other.isInjectionFuture);
166        fieldSetFlags()[2] = true;
167      }
168    }
169
170    /**
171     * Creates a Builder by copying an existing AvroConstructorArg instance
172     * @param other The existing instance to copy.
173     */
174    private Builder(org.apache.reef.tang.implementation.avro.AvroConstructorArg other) {
175            super(SCHEMA$);
176      if (isValidValue(fields()[0], other.fullArgClassName)) {
177        this.fullArgClassName = data().deepCopy(fields()[0].schema(), other.fullArgClassName);
178        fieldSetFlags()[0] = true;
179      }
180      if (isValidValue(fields()[1], other.namedParameterName)) {
181        this.namedParameterName = data().deepCopy(fields()[1].schema(), other.namedParameterName);
182        fieldSetFlags()[1] = true;
183      }
184      if (isValidValue(fields()[2], other.isInjectionFuture)) {
185        this.isInjectionFuture = data().deepCopy(fields()[2].schema(), other.isInjectionFuture);
186        fieldSetFlags()[2] = true;
187      }
188    }
189
190    /**
191      * Gets the value of the 'fullArgClassName' field.
192      * @return The value.
193      */
194    public java.lang.CharSequence getFullArgClassName() {
195      return fullArgClassName;
196    }
197
198    /**
199      * Sets the value of the 'fullArgClassName' field.
200      * @param value The value of 'fullArgClassName'.
201      * @return This builder.
202      */
203    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder setFullArgClassName(java.lang.CharSequence value) {
204      validate(fields()[0], value);
205      this.fullArgClassName = value;
206      fieldSetFlags()[0] = true;
207      return this;
208    }
209
210    /**
211      * Checks whether the 'fullArgClassName' field has been set.
212      * @return True if the 'fullArgClassName' field has been set, false otherwise.
213      */
214    public boolean hasFullArgClassName() {
215      return fieldSetFlags()[0];
216    }
217
218
219    /**
220      * Clears the value of the 'fullArgClassName' field.
221      * @return This builder.
222      */
223    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder clearFullArgClassName() {
224      fullArgClassName = null;
225      fieldSetFlags()[0] = false;
226      return this;
227    }
228
229    /**
230      * Gets the value of the 'namedParameterName' field.
231      * @return The value.
232      */
233    public java.lang.CharSequence getNamedParameterName() {
234      return namedParameterName;
235    }
236
237    /**
238      * Sets the value of the 'namedParameterName' field.
239      * @param value The value of 'namedParameterName'.
240      * @return This builder.
241      */
242    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder setNamedParameterName(java.lang.CharSequence value) {
243      validate(fields()[1], value);
244      this.namedParameterName = value;
245      fieldSetFlags()[1] = true;
246      return this;
247    }
248
249    /**
250      * Checks whether the 'namedParameterName' field has been set.
251      * @return True if the 'namedParameterName' field has been set, false otherwise.
252      */
253    public boolean hasNamedParameterName() {
254      return fieldSetFlags()[1];
255    }
256
257
258    /**
259      * Clears the value of the 'namedParameterName' field.
260      * @return This builder.
261      */
262    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder clearNamedParameterName() {
263      namedParameterName = null;
264      fieldSetFlags()[1] = false;
265      return this;
266    }
267
268    /**
269      * Gets the value of the 'isInjectionFuture' field.
270      * @return The value.
271      */
272    public java.lang.Boolean getIsInjectionFuture() {
273      return isInjectionFuture;
274    }
275
276    /**
277      * Sets the value of the 'isInjectionFuture' field.
278      * @param value The value of 'isInjectionFuture'.
279      * @return This builder.
280      */
281    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder setIsInjectionFuture(boolean value) {
282      validate(fields()[2], value);
283      this.isInjectionFuture = value;
284      fieldSetFlags()[2] = true;
285      return this;
286    }
287
288    /**
289      * Checks whether the 'isInjectionFuture' field has been set.
290      * @return True if the 'isInjectionFuture' field has been set, false otherwise.
291      */
292    public boolean hasIsInjectionFuture() {
293      return fieldSetFlags()[2];
294    }
295
296
297    /**
298      * Clears the value of the 'isInjectionFuture' field.
299      * @return This builder.
300      */
301    public org.apache.reef.tang.implementation.avro.AvroConstructorArg.Builder clearIsInjectionFuture() {
302      fieldSetFlags()[2] = false;
303      return this;
304    }
305
306    @Override
307    public AvroConstructorArg build() {
308      try {
309        AvroConstructorArg record = new AvroConstructorArg();
310        record.fullArgClassName = fieldSetFlags()[0] ? this.fullArgClassName : (java.lang.CharSequence) defaultValue(fields()[0]);
311        record.namedParameterName = fieldSetFlags()[1] ? this.namedParameterName : (java.lang.CharSequence) defaultValue(fields()[1]);
312        record.isInjectionFuture = fieldSetFlags()[2] ? this.isInjectionFuture : (java.lang.Boolean) defaultValue(fields()[2]);
313        return record;
314      } catch (Exception e) {
315        throw new org.apache.avro.AvroRuntimeException(e);
316      }
317    }
318  }
319
320  private static final org.apache.avro.io.DatumWriter
321    WRITER$ = new org.apache.avro.specific.SpecificDatumWriter(SCHEMA$);
322
323  @Override public void writeExternal(java.io.ObjectOutput out)
324    throws java.io.IOException {
325    WRITER$.write(this, SpecificData.getEncoder(out));
326  }
327
328  private static final org.apache.avro.io.DatumReader
329    READER$ = new org.apache.avro.specific.SpecificDatumReader(SCHEMA$);
330
331  @Override public void readExternal(java.io.ObjectInput in)
332    throws java.io.IOException {
333    READER$.read(this, SpecificData.getDecoder(in));
334  }
335
336}