Programatically Applying and Creating View Criteria
CASE 1: I have already created a view criteria in EmployeeVO, and I want to call it programmatically.
public
void
searchEmployee(Number employeeId) {
ViewObjectImpl vo = getEmployeesView1();
ViewCriteria vc = vo.getViewCriteria(
"findEmployeeVC"
);
vo.applyViewCriteria(vc);
vo.setNamedWhereClauseParam(
"pEmployeeId"
, employeeId);
vo.executeQuery();
}
CASE 2: I want to create a view criteria dynamically and execute it programmatically.
public
void
searchByEmployeeIdEmail(Number employeeId, String email) {
ViewObjectImpl vo = getEmployeesView2();
ViewCriteria vc = vo.createViewCriteria();
ViewCriteriaRow vcRow = vc.createViewCriteriaRow();
vcRow.setAttribute(
"EmployeeId"
, employeeId);
vc.addRow(vcRow);
vcRow.setAttribute(
"Email"
, email);
vc.addRow(vcRow);
vo.applyViewCriteria(vc);
vo.executeQuery();
}
This is a helper method
public static void createAndExecuteViewCriteria(ViewObject vo, String attributeName, Long attributeValue) {
ViewCriteria vc = vo.createViewCriteria();
ViewCriteriaRow vcRow = vc.createViewCriteriaRow();
vcRow.setAttribute(attributeName, attributeValue);
vc.addRow(vcRow);
vo.applyViewCriteria(vc);
vo.executeQuery();
}
Comments