private void writeFileStatus ( boolean maintainPosition ) throws InternalLogException { if ( tc . isEntryEnabled ( ) ) Tr . entry ( tc , "writeFileStatus" , new java . lang . Object [ ] { this , new Boolean ( maintainPosition ) } ) ; if ( _logFileHeader . status ( ) == LogFileHeader . STATUS_INVALID ) { if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "writeFileStatus" , "InternalLogException" ) ; throw new InternalLogException ( null ) ; } try { int currentFilePointer = 0 ; if ( maintainPosition ) { // If the caller wishes the file pointer's current // position to be maintained cache it's position // here so that it can be reset once the header // has been written. currentFilePointer = _fileBuffer . position ( ) ; } // Move the buffer's pointer to the header status // field and perform a forced write of the new status _fileBuffer . position ( STATUS_FIELD_FILE_OFFSET ) ; _fileBuffer . putInt ( _logFileHeader . status ( ) ) ; force ( ) ; if ( maintainPosition ) { // Reinstate the fileBuffer's pointer to its original position. _fileBuffer . position ( currentFilePointer ) ; } } catch ( Throwable exc ) { FFDCFilter . processException ( exc , "com.ibm.ws.recoverylog.spi.LogFileHandle.writeFileStatus" , "797" , this ) ; if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "writeFileStatus" , "WriteOperationFailedException" ) ; throw new WriteOperationFailedException ( exc ) ; } if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "writeFileStatus" ) ; }
Updates the status field of the file managed by this LogFileHandle instance . The status field is stored in _logFileHeader .