code: function(dbaseFile, buffer) {
              if (!dbaseFile) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "DBaseField", "constructor", "missingAttributeName")
                  );
              }
  
              if (!buffer) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "DBaseField", "constructor", "missingBuffer")
                  );
              }
  
              /**
               * The name of the field.
               * @type {String}
               */
              this.name = null;
  
              /**
               * The type of the field.
               * @type {String}
               */
              this.type = null;
  
              /**
               * The code byte for the field.
               * @type {Number}
               */
              this.typeCode = -1;
  
              /**
               * The length of the field.
               * @type {Number}
               */
              this.length = -1;
  
              /**
               * The number of decimals in the field.
               * @type {Number}
               */
              this.decimals = -1;
  
              this.readFieldDescriptor(dbaseFile, buffer);
          }
docs: Constructs a dBase record field. Applications typically do not call this constructor. It is called by
  {@link {DBaseRecord} as attribute fields are read.
  @param {DBaseFile} dbaseFile A dBase attribute file.
  @param {ByteBuffer} buffer A buffer descriptor from which to parse a field.
  @returns {DBaseField} The dBase field that was parsed.
  @constructor