30 September 2012

Buscar un registro en memoria dentro de un ViewObject

Hay veces en las que es necesario comprobar la existencia de un registro en memoria, el siguiente código es un ejemplo de como hacerlo utilizando un ViewCriteria.
ViewCriteria vc = viewObject.createViewCriteria();
vc.setCriteriaMode(ViewCriteria.CRITERIA_MODE_CACHE);

ViewCriteriaRow vcRow = vc.createViewCriteriaRow();
ViewCriteriaItem vcRowItem = vcRow.ensureCriteriaItem("NombreDelAtributo");
vcRowItem.setOperator("=");
vcRowItem.getValues().get(0).setValue("Valor a buscar");
vcRowItem.setConjunction(ViewCriteriaRow.VC_CONJ_AND);
vc.add(vcRow);

RowSetIterator iterator = viewObject.getRowSetIterator();
RowIterator byViewCriteria = iterator.findByViewCriteria(vc, 1, 
ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
if(byViewCriteria.getRowCount() > 0){
    //EL REGISTRO EXISTE
}
Enlaces relacionados:
ADF Bussiness Components: In-Memory Sorting and Filtering

- FIN -

No comments: