/** * this method extracts and returns the value for the field, if the field is an array, the value * is an <code>Vector</code> */ public Object extractValueFromArray(byte[] recordData) { Object value; if (this.isArray()) { int offset = this.getOffset(); ArrayList fieldValue = new ArrayList(this.getArraySize()); for (int i = this.getArraySize(); i > 0; i--) { FieldMetaData fieldCopy = this.deepCopy(); fieldCopy.setOffset(offset); ByteConverter converter = new ByteConverter(fieldCopy, recordData); fieldValue.add(converter.getStringValue()); offset += mySize; } value = fieldValue; } else { ByteConverter converter = new ByteConverter(this, recordData); value = converter.getStringValue(); } return value; }