protected boolean read(){
  if (!nReuseHeader) {
    Debug.message("iso8211","DDFRecord reusing header, calling readHeader()");
    return readHeader();
  }
  byte[] tempData=new byte[nDataSize - nFieldOffset];
  int nReadBytes=poModule.read(tempData,0,tempData.length);
  System.arraycopy(pachData,nFieldOffset,tempData,0,tempData.length);
  if (nReadBytes != (int)(nDataSize - nFieldOffset) && nReadBytes == -1) {
    return false;
  }
 else   if (nReadBytes != (int)(nDataSize - nFieldOffset)) {
    Debug.error("DDFRecord: Data record is short on DDF file.");
    return false;
  }
  return true;
}

protected boolean read ( ) { if ( ! nReuseHeader ) { Debug . message ( "iso8211" , "DDFRecord reusing header, calling readHeader()" ) ; return readHeader ( ) ; } byte [ ] tempData = new byte [ nDataSize - nFieldOffset ] ; int nReadBytes = poModule . read ( tempData , 0 , tempData . length ) ; System . arraycopy ( pachData , nFieldOffset , tempData , 0 , tempData . length ) ; if ( nReadBytes != ( int ) ( nDataSize - nFieldOffset ) && nReadBytes == - 1 ) { return false ; } else if ( nReadBytes != ( int ) ( nDataSize - nFieldOffset ) ) { Debug . error ( "DDFRecord: Data record is short on DDF file." ) ; return false ; } return true ; }
read a record of data from the file , and parse the header to build a field list for the record ( or reuse the existing one if reusing headers ) . it is expected that the file pointer will be positioned at the beginning of a data record . it is the ddfmodule ' s responsibility to do so . this method should only be called by the ddfmodule class .
