public boolean initialize(DDFModule poModuleIn,String pszTagIn,byte[] pachFieldArea){
  int iFDOffset=poModuleIn._fieldControlLength;
  poModule=poModuleIn;
  pszTag=pszTagIn;
  _data_struct_code=DataStructCode.get((char)pachFieldArea[0]);
  _data_type_code=DataTypeCode.get((char)pachFieldArea[1]);
  if (Debug.debugging("iso8211")) {
    Debug.output("DDFFieldDefinition.initialize(" + pszTagIn + "):\n\t\t data_struct_code = "+ _data_struct_code+ "\n\t\t data_type_code = "+ _data_type_code+ "\n\t\t iFDOffset = "+ iFDOffset);
  }
  byte[] tempData=new byte[pachFieldArea.length - iFDOffset];
  System.arraycopy(pachFieldArea,iFDOffset,tempData,0,pachFieldArea.length - iFDOffset);
  MutableInt nCharsConsumed=new MutableInt();
  _fieldName=DDFUtils.fetchVariable(tempData,tempData.length,DDF_UNIT_TERMINATOR,DDF_FIELD_TERMINATOR,nCharsConsumed);
  if (Debug.debugging("iso8211")) {
    Debug.output("DDFFieldDefinition.initialize(" + pszTagIn + "): created field name "+ _fieldName);
  }
  iFDOffset+=nCharsConsumed.value;
  tempData=new byte[pachFieldArea.length - iFDOffset];
  System.arraycopy(pachFieldArea,iFDOffset,tempData,0,pachFieldArea.length - iFDOffset);
  _arrayDescr=DDFUtils.fetchVariable(tempData,tempData.length,DDF_UNIT_TERMINATOR,DDF_FIELD_TERMINATOR,nCharsConsumed);
  iFDOffset+=nCharsConsumed.value;
  tempData=new byte[pachFieldArea.length - iFDOffset];
  System.arraycopy(pachFieldArea,iFDOffset,tempData,0,pachFieldArea.length - iFDOffset);
  _formatControls=DDFUtils.fetchVariable(tempData,tempData.length,DDF_UNIT_TERMINATOR,DDF_FIELD_TERMINATOR,nCharsConsumed);
  if (_data_struct_code != DataStructCode.ELEMENTARY) {
    if (!buildSubfieldDefns(_arrayDescr)) {
      return false;
    }
    if (!applyFormats(_formatControls)) {
      return false;
    }
  }
  return true;
}

public boolean initialize ( DDFModule poModuleIn , String pszTagIn , byte [ ] pachFieldArea ) { int iFDOffset = poModuleIn . _fieldControlLength ; poModule = poModuleIn ; pszTag = pszTagIn ; _data_struct_code = DataStructCode . get ( ( char ) pachFieldArea [ 0 ] ) ; _data_type_code = DataTypeCode . get ( ( char ) pachFieldArea [ 1 ] ) ; if ( Debug . debugging ( "iso8211" ) ) { Debug . output ( "DDFFieldDefinition.initialize(" + pszTagIn + "):\n\t\t data_struct_code = " + _data_struct_code + "\n\t\t data_type_code = " + _data_type_code + "\n\t\t iFDOffset = " + iFDOffset ) ; } byte [ ] tempData = new byte [ pachFieldArea . length - iFDOffset ] ; System . arraycopy ( pachFieldArea , iFDOffset , tempData , 0 , pachFieldArea . length - iFDOffset ) ; MutableInt nCharsConsumed = new MutableInt ( ) ; _fieldName = DDFUtils . fetchVariable ( tempData , tempData . length , DDF_UNIT_TERMINATOR , DDF_FIELD_TERMINATOR , nCharsConsumed ) ; if ( Debug . debugging ( "iso8211" ) ) { Debug . output ( "DDFFieldDefinition.initialize(" + pszTagIn + "): created field name " + _fieldName ) ; } iFDOffset += nCharsConsumed . value ; tempData = new byte [ pachFieldArea . length - iFDOffset ] ; System . arraycopy ( pachFieldArea , iFDOffset , tempData , 0 , pachFieldArea . length - iFDOffset ) ; _arrayDescr = DDFUtils . fetchVariable ( tempData , tempData . length , DDF_UNIT_TERMINATOR , DDF_FIELD_TERMINATOR , nCharsConsumed ) ; iFDOffset += nCharsConsumed . value ; tempData = new byte [ pachFieldArea . length - iFDOffset ] ; System . arraycopy ( pachFieldArea , iFDOffset , tempData , 0 , pachFieldArea . length - iFDOffset ) ; _formatControls = DDFUtils . fetchVariable ( tempData , tempData . length , DDF_UNIT_TERMINATOR , DDF_FIELD_TERMINATOR , nCharsConsumed ) ; if ( _data_struct_code != DataStructCode . ELEMENTARY ) { if ( ! buildSubfieldDefns ( _arrayDescr ) ) { return false ; } if ( ! applyFormats ( _formatControls ) ) { return false ; } } return true ; }
initialize the field definition from the information in the ddr record . this is called by ddfmodule . open ( ) .
