La biblioteca de Data Access Accelerator
Puede utilizar los métodos de la biblioteca DAA (Data Access Accelerator) para mejorar el rendimiento cuando el código Java™ manipula datos nativos.
Para obtener una visión general de esta biblioteca, consulte Operaciones de datos nativos.
Para obtener información sobre las clases disponibles, consulte la documentación de la API.
Ejemplo: convertir un decimal empaquetado en un objeto BigDecimal
En este ejemplo, un decimal empaquetado firmado de 100 dígitos (sin incluir el signo), se almacena en una matriz de bytes denominada pdarray.
...
String pdsb = new StringBuffer();
int precision = 100;
if (isNegative(pdarray, precision))
pdsb.append('-');
for (int i = 0; i < precision; ++i)
pdsb.append(getDigit(pdarray, i) + '0');
return new BigDecimal(pdsb.toString());
...
...
return com.ibm.dataaccess.DecimalData.convertPackedDecimalToBigDecimal(pdarray, 0, precision, 0, false);
...
Ejemplo: Adición de dos tipos de decimal empaquetado
En este ejemplo, se añaden dos decimales empaquetados, pdarray1 y pdarray2 y se devuelve el resultado pdarrayResult. Los decimales empaquetados y el resultado se almacenan en forma de matrices de bytes. La precisión (el número de dígitos decimales en el valor decimal, sin incluir el signo) de las dos matrices iniciales es 100.
...
BigDecimal operand1 = myPackedDecimalToBigDecimalMethod(pdarray1, 100);
BigDecimal operand2 = myPackedDecimalToBigDecimalMethod(pdarray2, 100);
BigDecimal result = operand1.add(operand2);
myBigDecimalToPackedDecimalMethod(result, pdarrayResult);
return pdarrayResult;
...
...
com.ibm.dataaccess.DecimalData.addPackedDecimal(pdrrayResult, 0, 101, pdarray1, 0, 100, pdarray2, 0, 100, false);
return pdarrayResult;
...