taskqueryutil.java
来自「Java的框架」· Java 代码 · 共 145 行
JAVA
145 行
package mcaps.apps.prrm.task.dao.util;
import mcaps.apps.prrm.task.model.Category;
import mcaps.apps.prrm.task.model.Priority;
import mcaps.apps.prrm.task.model.Status;
import mcaps.apps.prrm.task.model.Task;
/**
* This method returns the whereClause string and array of parameter
* types based on the road defect parameter in the form of object array.
*
* @param defect the road defect in which the where clause string and
* the parameter values are derived from
* @return the object array that contains the where clause string and
* parameter types array.
*/
public class TaskQueryUtil {
/**
* This method returns the whereClause string and array of parameter
* types based on the road defect parameter in the form of object array.
*
* @param defect the road defect in which the where clause string and
* the parameter values are derived from
* @return the object array that contains the where clause string and
* parameter types array.
*/
public static Object[] getWhereClauseAndParameterTypes(Task task){
StringBuffer sb = new StringBuffer();
int fieldCount = 0;
int[] fieldTypes = new int[10];
if(task.getId() != null){
sb.append(TaskField.FIELDS[TaskField.ID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.ID];
}
if(task.getCategory().toString() != ""){
sb.append(TaskField.FIELDS[TaskField.CATEGORY])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.CATEGORY];
}
if(task.getPriority().toString() != ""){
sb.append(TaskField.FIELDS[TaskField.PRIORITY])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.PRIORITY];
}
if(task.getStatus().toString() != ""){
sb.append(TaskField.FIELDS[TaskField.STATUS])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.STATUS];
}
if(task.getRemarks() != null){
sb.append(TaskField.FIELDS[TaskField.REMARKS])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.REMARKS];
}
if(task.getAssignedUserId() != null){
sb.append(TaskField.FIELDS[TaskField.ASSIGNEDUSERID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.ASSIGNEDUSERID];
}
if(task.getRoadDefectId() != null){
sb.append(TaskField.FIELDS[TaskField.ROADDEFECTID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.ROADDEFECTID];
}
if(task.getDueDate() != null){
sb.append(TaskField.FIELDS[TaskField.DUEDATE])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.DUEDATE];
}
if(task.getCreationTime() != null){
sb.append(TaskField.FIELDS[TaskField.CREATIONTIME ])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.CREATIONTIME];
}
if(task.getLastModifiedTime() != null){
sb.append(TaskField.FIELDS[TaskField.LASTMODIFIEDTIME])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = TaskField.FIELDTYPES[TaskField.LASTMODIFIEDTIME];
}
System.out.println(sb.toString());
sb.delete(sb.length()-5,sb.length());
System.out.println(sb.toString());
System.out.println("getWhereClauseAndParameterTypes fieldCount : " + fieldCount);
int[] paramTypes = new int[fieldCount];
System.arraycopy(fieldTypes, 0,
paramTypes, 0,
fieldCount);
Object[] obj = new Object[]{sb.toString(),paramTypes};
return obj;
}
public static Object[] getParameters(Task task){
int fieldCount = 0;
Object[] params = new Object[10];
if(task.getId() != null){
params[fieldCount++] = task.getId();
}
if(!task.getCategory().equals(Category.NULL)){
System.out.println(task.getCategory().toString() + " " + !task.getCategory().equals(Category.NULL));
params[fieldCount++] = task.getCategory();
}
if(!task.getPriority().equals(Priority.NULL)){
System.out.println(task.getPriority().toString() + " " + !task.getPriority().equals(Priority.NULL));
params[fieldCount++] = task.getPriority();
}
if(!task.getStatus().equals(Status.NULL)){
System.out.println(task.getStatus().toString() + " " + !task.getStatus().equals(Status.NULL));
params[fieldCount++] = task.getStatus();
}
if(task.getRemarks() != null){
params[fieldCount++] = task.getRemarks();
}
if(task.getAssignedUserId() != null){
params[fieldCount++] = task.getAssignedUserId();
}
if(task.getRoadDefectId() != null){
params[fieldCount++] = task.getRoadDefectId();
}
if(task.getCreationTime() != null){
params[fieldCount++] = task.getCreationTime();
}
if(task.getDueDate() != null){
params[fieldCount++] = task.getDueDate();
}
if(task.getLastModifiedTime() != null){
params[fieldCount++] = task.getLastModifiedTime();
}
System.out.println("getParameters fieldCount : " + fieldCount);
Object[] targetParams = new Object[fieldCount];
System.arraycopy(params, 0,
targetParams, 0,
fieldCount);
return targetParams;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?