001/** 002 * Autogenerated by Avro 003 * 004 * DO NOT EDIT DIRECTLY 005 */ 006package org.apache.reef.tang.implementation.avro; 007@SuppressWarnings("all") 008@org.apache.avro.specific.AvroGenerated 009public class AvroConstructorDef extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord { 010 public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"AvroConstructorDef\",\"namespace\":\"org.apache.reef.tang.implementation.avro\",\"fields\":[{\"name\":\"fullClassName\",\"type\":\"string\"},{\"name\":\"constructorArgs\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AvroConstructorArg\",\"fields\":[{\"name\":\"fullArgClassName\",\"type\":\"string\"},{\"name\":\"namedParameterName\",\"type\":[\"null\",\"string\"],\"default\":null},{\"name\":\"isInjectionFuture\",\"type\":\"boolean\"}]}}}]}"); 011 public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; } 012 @Deprecated public java.lang.CharSequence fullClassName; 013 @Deprecated public java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> constructorArgs; 014 015 /** 016 * Default constructor. Note that this does not initialize fields 017 * to their default values from the schema. If that is desired then 018 * one should use <code>newBuilder()</code>. 019 */ 020 public AvroConstructorDef() {} 021 022 /** 023 * All-args constructor. 024 */ 025 public AvroConstructorDef(java.lang.CharSequence fullClassName, java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> constructorArgs) { 026 this.fullClassName = fullClassName; 027 this.constructorArgs = constructorArgs; 028 } 029 030 public org.apache.avro.Schema getSchema() { return SCHEMA$; } 031 // Used by DatumWriter. Applications should not call. 032 public java.lang.Object get(int field$) { 033 switch (field$) { 034 case 0: return fullClassName; 035 case 1: return constructorArgs; 036 default: throw new org.apache.avro.AvroRuntimeException("Bad index"); 037 } 038 } 039 // Used by DatumReader. Applications should not call. 040 @SuppressWarnings(value="unchecked") 041 public void put(int field$, java.lang.Object value$) { 042 switch (field$) { 043 case 0: fullClassName = (java.lang.CharSequence)value$; break; 044 case 1: constructorArgs = (java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg>)value$; break; 045 default: throw new org.apache.avro.AvroRuntimeException("Bad index"); 046 } 047 } 048 049 /** 050 * Gets the value of the 'fullClassName' field. 051 */ 052 public java.lang.CharSequence getFullClassName() { 053 return fullClassName; 054 } 055 056 /** 057 * Sets the value of the 'fullClassName' field. 058 * @param value the value to set. 059 */ 060 public void setFullClassName(java.lang.CharSequence value) { 061 this.fullClassName = value; 062 } 063 064 /** 065 * Gets the value of the 'constructorArgs' field. 066 */ 067 public java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> getConstructorArgs() { 068 return constructorArgs; 069 } 070 071 /** 072 * Sets the value of the 'constructorArgs' field. 073 * @param value the value to set. 074 */ 075 public void setConstructorArgs(java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> value) { 076 this.constructorArgs = value; 077 } 078 079 /** Creates a new AvroConstructorDef RecordBuilder */ 080 public static org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder newBuilder() { 081 return new org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder(); 082 } 083 084 /** Creates a new AvroConstructorDef RecordBuilder by copying an existing Builder */ 085 public static org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder newBuilder(org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder other) { 086 return new org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder(other); 087 } 088 089 /** Creates a new AvroConstructorDef RecordBuilder by copying an existing AvroConstructorDef instance */ 090 public static org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder newBuilder(org.apache.reef.tang.implementation.avro.AvroConstructorDef other) { 091 return new org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder(other); 092 } 093 094 /** 095 * RecordBuilder for AvroConstructorDef instances. 096 */ 097 public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase<AvroConstructorDef> 098 implements org.apache.avro.data.RecordBuilder<AvroConstructorDef> { 099 100 private java.lang.CharSequence fullClassName; 101 private java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> constructorArgs; 102 103 /** Creates a new Builder */ 104 private Builder() { 105 super(org.apache.reef.tang.implementation.avro.AvroConstructorDef.SCHEMA$); 106 } 107 108 /** Creates a Builder by copying an existing Builder */ 109 private Builder(org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder other) { 110 super(other); 111 if (isValidValue(fields()[0], other.fullClassName)) { 112 this.fullClassName = data().deepCopy(fields()[0].schema(), other.fullClassName); 113 fieldSetFlags()[0] = true; 114 } 115 if (isValidValue(fields()[1], other.constructorArgs)) { 116 this.constructorArgs = data().deepCopy(fields()[1].schema(), other.constructorArgs); 117 fieldSetFlags()[1] = true; 118 } 119 } 120 121 /** Creates a Builder by copying an existing AvroConstructorDef instance */ 122 private Builder(org.apache.reef.tang.implementation.avro.AvroConstructorDef other) { 123 super(org.apache.reef.tang.implementation.avro.AvroConstructorDef.SCHEMA$); 124 if (isValidValue(fields()[0], other.fullClassName)) { 125 this.fullClassName = data().deepCopy(fields()[0].schema(), other.fullClassName); 126 fieldSetFlags()[0] = true; 127 } 128 if (isValidValue(fields()[1], other.constructorArgs)) { 129 this.constructorArgs = data().deepCopy(fields()[1].schema(), other.constructorArgs); 130 fieldSetFlags()[1] = true; 131 } 132 } 133 134 /** Gets the value of the 'fullClassName' field */ 135 public java.lang.CharSequence getFullClassName() { 136 return fullClassName; 137 } 138 139 /** Sets the value of the 'fullClassName' field */ 140 public org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder setFullClassName(java.lang.CharSequence value) { 141 validate(fields()[0], value); 142 this.fullClassName = value; 143 fieldSetFlags()[0] = true; 144 return this; 145 } 146 147 /** Checks whether the 'fullClassName' field has been set */ 148 public boolean hasFullClassName() { 149 return fieldSetFlags()[0]; 150 } 151 152 /** Clears the value of the 'fullClassName' field */ 153 public org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder clearFullClassName() { 154 fullClassName = null; 155 fieldSetFlags()[0] = false; 156 return this; 157 } 158 159 /** Gets the value of the 'constructorArgs' field */ 160 public java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> getConstructorArgs() { 161 return constructorArgs; 162 } 163 164 /** Sets the value of the 'constructorArgs' field */ 165 public org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder setConstructorArgs(java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg> value) { 166 validate(fields()[1], value); 167 this.constructorArgs = value; 168 fieldSetFlags()[1] = true; 169 return this; 170 } 171 172 /** Checks whether the 'constructorArgs' field has been set */ 173 public boolean hasConstructorArgs() { 174 return fieldSetFlags()[1]; 175 } 176 177 /** Clears the value of the 'constructorArgs' field */ 178 public org.apache.reef.tang.implementation.avro.AvroConstructorDef.Builder clearConstructorArgs() { 179 constructorArgs = null; 180 fieldSetFlags()[1] = false; 181 return this; 182 } 183 184 @Override 185 public AvroConstructorDef build() { 186 try { 187 AvroConstructorDef record = new AvroConstructorDef(); 188 record.fullClassName = fieldSetFlags()[0] ? this.fullClassName : (java.lang.CharSequence) defaultValue(fields()[0]); 189 record.constructorArgs = fieldSetFlags()[1] ? this.constructorArgs : (java.util.List<org.apache.reef.tang.implementation.avro.AvroConstructorArg>) defaultValue(fields()[1]); 190 return record; 191 } catch (Exception e) { 192 throw new org.apache.avro.AvroRuntimeException(e); 193 } 194 } 195 } 196}