roaddefectqueryutil.java
来自「Java的框架」· Java 代码 · 共 164 行
JAVA
164 行
package mcaps.apps.prrm.roaddefect.dao.util;
import mcaps.apps.prrm.roaddefect.model.RoadDefect;
import mcaps.apps.prrm.roaddefect.model.RoadDefectSeverity;
import mcaps.apps.prrm.roaddefect.model.RoadDefectStatus;
import mcaps.apps.prrm.roaddefect.model.RoadDefectType;
/**
* This class is a supporting class for RoadDefectQuery to
* construct whereClause, parameter types and parameter values based
* on the RoadDefect object parameter.
*
* @author jov
* @date Sep 23, 2005
* @version 1.0.1.0
*/
public class RoadDefectQueryUtil {
/**
* 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(RoadDefect defect){
StringBuffer sb = new StringBuffer();
int fieldCount = 0;
int[] fieldTypes = new int[10];
if(defect.getId() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.ID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.ID];
}
if(defect.getDefectType().toString() != ""){
sb.append(RoadDefectField.FIELDS[RoadDefectField.DEFECTTYPE])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.DEFECTTYPE];
}
if(defect.getDefectDetail() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.DEFECTDETAIL])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.DEFECTDETAIL];
}
if(defect.getRoad() != null){
if(defect.getRoad().getId()!=null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.ROADID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.ROADID];
}
}
if(defect.getLocation() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.LOCATION])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.LOCATION];
}
if(defect.getSeverity().toString() != ""){
sb.append(RoadDefectField.FIELDS[RoadDefectField.SEVERITY])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.SEVERITY];
}
if(defect.getStatus().toString() != ""){
sb.append(RoadDefectField.FIELDS[RoadDefectField.STATUS])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.STATUS];
}
if(defect.getContact() != null) {
if(defect.getContact().getId()!=null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.CONTACTID])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.CONTACTID];
}
}
if(defect.getCreationTime() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.CREATIONTIME])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.CREATIONTIME];
}
if(defect.getClosedDate() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.CLOSEDDATE])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.CLOSEDDATE];
}
if(defect.getLastModifiedTime() != null){
sb.append(RoadDefectField.FIELDS[RoadDefectField.LASTMODIFIEDTIME])
.append("=?").append(" AND ");
fieldTypes[fieldCount++] = RoadDefectField.FIELDTYPES[RoadDefectField.LASTMODIFIEDTIME];
}
sb.delete(sb.length()-5,sb.length());
int[] paramTypes = new int[fieldCount];
System.arraycopy(fieldTypes, 0,
paramTypes, 0,
fieldCount);
Object[] obj = new Object[]{sb.toString(),paramTypes};
return obj;
}
/**
* This method return the parameter values based on the
* road defect parameter.
*
* @param defect the road defect object in which the parameters
* are derived from
* @return the object array that contains all the parameter values
* which are the road defect properties.
*/
public static Object[] getParameters(RoadDefect defect){
int fieldCount = 0;
Object[] params = new Object[10];
if(defect.getId() != null){
params[fieldCount++] = defect.getId();
}
if(!defect.getDefectType().equals(RoadDefectType.NULL)){
params[fieldCount++] = defect.getDefectType();
}
if(defect.getDefectDetail() != null){
params[fieldCount++] = defect.getDefectDetail();
}
if(defect.getRoad() != null){
if(defect.getRoad().getId()!=null){
params[fieldCount++] = defect.getRoad().getId();
}
}
if(defect.getLocation() != null){
params[fieldCount++] = defect.getLocation();
}
if(!defect.getSeverity().equals(RoadDefectSeverity.NULL)){
params[fieldCount++] = defect.getSeverity();
}
if(!defect.getStatus().equals(RoadDefectStatus.NULL)){
params[fieldCount++] = defect.getStatus();
}
if(defect.getContact() != null) {
if(defect.getContact().getId()!=null){
params[fieldCount++] = defect.getContact().getId();
}
}
if(defect.getCreationTime() != null){
params[fieldCount++] = defect.getCreationTime();
}
if(defect.getClosedDate() != null){
params[fieldCount++] = defect.getClosedDate();
}
if(defect.getLastModifiedTime() != null){
params[fieldCount++] = defect.getLastModifiedTime();
}
Object[] targetParams = new Object[fieldCount];
System.arraycopy(params, 0,
targetParams, 0,
fieldCount);
return targetParams;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?