roadinspectionqueryutil.java

来自「Java的框架」· Java 代码 · 共 170 行

JAVA
170
字号
package mcaps.apps.prrm.roadinspection.dao.util;

import mcaps.apps.prrm.roaddefect.model.RoadDefectSeverity;
import mcaps.apps.prrm.roaddefect.model.RoadDefectType;
import mcaps.apps.prrm.roadinspection.model.RoadInspection;

/**
 * This class is a supporting class for RoadInspectionQuery to
 * construct whereClause, parameter types and parameter values based 
 * on the RoadInspection object parameter. 
 * 
 * @author jov
 * @date Sep 23, 2005
 * @version 1.0.1.0
 */
public class RoadInspectionQueryUtil {

	/**
	 * This method returns the whereClause string and array of parameter 
	 * types based on the road inspection parameter in the form of object array.
	 * 
	 * @param roadInspection the road inspection 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(RoadInspection roadInspection){
		StringBuffer sb = new StringBuffer();
		int fieldCount = 0;
		int[] fieldTypes = new int[10];
		
		if(roadInspection.getId() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.ID])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.ID];
		}
		if(roadInspection.getRoadDefectId() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.ROADDEFECTID])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.ROADDEFECTID];
		}
		if(roadInspection.getTaskId() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.TASKID])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.TASKID];
		}
		if(roadInspection.getDefectType().toString() != ""){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.DEFECTTYPE])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.DEFECTTYPE];
		}
		if(roadInspection.getDefectDetail() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.DEFECTDETAIL])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.DEFECTDETAIL];
		}
		if(roadInspection.getRoadName() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.ROADNAME])
			.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.ROADNAME];
		}
		if(roadInspection.getLocation() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.LOCATION])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.LOCATION];
		}
		if(roadInspection.getSeverity().toString() != ""){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.SEVERITY])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.SEVERITY];
		}
		if(roadInspection.getSummary() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.SUMMARY])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.SUMMARY];
		}
		if(roadInspection.getSolution() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.SOLUTION])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.SOLUTION];
		}
		if(roadInspection.getRepairRequired() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.REPAIRREQUIRED])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.REPAIRREQUIRED];
		}
		if(roadInspection.getCreationTime() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.CREATIONTIME])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.CREATIONTIME];
		}
		if(roadInspection.getLastModifiedTime() != null){
			sb.append(RoadInspectionField.FIELDS[RoadInspectionField.LASTMODIFIEDTIME])
				.append("=?").append(" AND ");
			fieldTypes[fieldCount++] = RoadInspectionField.FIELDTYPES[RoadInspectionField.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 inspection parameter.
	 * 
	 * @param roadInspection the road inspection object in which the parameters
	 * are derived from 
	 * @return the object array that contains all the parameter values
	 * which are the road roadInspection properties.
	 */
	public static Object[] getParameters(RoadInspection roadInspection){
		int fieldCount = 0;
		Object[] params = new Object[10];
		
		if(roadInspection.getId() != null){
			params[fieldCount++] = roadInspection.getId();
		}
		if(roadInspection.getRoadDefectId() != null){
			params[fieldCount++] = roadInspection.getRoadDefectId();
		}
		if(roadInspection.getTaskId() != null){
			params[fieldCount++] = roadInspection.getTaskId();
		}
		if(!roadInspection.getDefectType().equals(RoadDefectType.NULL)){
			params[fieldCount++] = roadInspection.getDefectType();
		}
		if(roadInspection.getDefectDetail() != null){
			params[fieldCount++] = roadInspection.getDefectDetail();
		}
		if(roadInspection.getRoadName() != null){
			params[fieldCount++] = roadInspection.getRoadName();
		}
		if(roadInspection.getLocation() != null){
			params[fieldCount++] = roadInspection.getLocation();
		}
		if(!roadInspection.getSeverity().equals(RoadDefectSeverity.NULL)){
			params[fieldCount++] = roadInspection.getSeverity();
		}
		if(roadInspection.getSummary() != null){
			params[fieldCount++] = roadInspection.getSummary();
		}
		if(roadInspection.getSolution() != null){
			params[fieldCount++] = roadInspection.getSolution();
		}
		if(roadInspection.getRepairRequired() != null){
			params[fieldCount++] = roadInspection.getRepairRequired();
		}
		if(roadInspection.getCreationTime() != null){
			params[fieldCount++] = roadInspection.getCreationTime();
		}
		if(roadInspection.getLastModifiedTime() != null){
			params[fieldCount++] = roadInspection.getLastModifiedTime();
		}
		
		Object[] targetParams = new Object[fieldCount];
		System.arraycopy(params, 0, 
											targetParams, 0, 
											fieldCount);
		
		return targetParams;		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?