private static int getCorrectedParameterData(long parameterData, boolean compact) throws NotFoundException {
    int numCodewords;
    int numDataCodewords;

    if (compact) {
      numCodewords = 7;
      numDataCodewords = 2;
    } else {
      numCodewords = 10;
      numDataCodewords = 4;
    }

    int numECCodewords = numCodewords - numDataCodewords;
    int[] parameterWords = new int[numCodewords];
    for (int i = numCodewords - 1; i >= 0; --i) {
      parameterWords[i] = (int) parameterData & 0xF;
      parameterData >>= 4;
    }
    try {
      ReedSolomonDecoder rsDecoder = new ReedSolomonDecoder(GenericGF.AZTEC_PARAM);
      rsDecoder.decode(parameterWords, numECCodewords);
    } catch (ReedSolomonException ignored) {
      throw NotFoundException.getNotFoundInstance();
    }
    // Toss the error correction.  Just return the data as an integer
    int result = 0;
    for (int i = 0; i < numDataCodewords; i++) {
      result = (result << 4) + parameterWords[i];
    }
    return result;
  }
private static int getCorrectedParameterData ( long parameterData , boolean compact ) throws NotFoundException { int numCodewords ; int numDataCodewords ; if ( compact ) { numCodewords = 7 ; numDataCodewords = 2 ; } else { numCodewords = 10 ; numDataCodewords = 4 ; } int numECCodewords = numCodewords - numDataCodewords ; int [ ] parameterWords = new int [ numCodewords ] ; for ( int i = numCodewords - 1 ; i >= 0 ; -- i ) { parameterWords [ i ] = ( int ) parameterData & 0xF ; parameterData >>= 4 ; } try { ReedSolomonDecoder rsDecoder = new ReedSolomonDecoder ( GenericGF . AZTEC_PARAM ) ; rsDecoder . decode ( parameterWords , numECCodewords ) ; } catch ( ReedSolomonException ignored ) { throw NotFoundException . getNotFoundInstance ( ) ; } int result = 0 ; for ( int i = 0 ; i < numDataCodewords ; i ++ ) { result = ( result << 4 ) + parameterWords [ i ] ; } return result ; }
Corrects the parameter bits using Reed-Solomon algorithm.

@param parameterData parameter bits
@param compact true if this is a compact Aztec code
@throws NotFoundException if the array contains too many errors