WaferSelectionRule.java
package com.mycim.valueobject.edcspc.rule;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.valueobject.consts.EDCConst;
import java.io.Serializable;
public class WaferSelectionRule implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private long ruleRrn;
private long mainRrn;
private long facilityRrn;
private String ruleType;
private int assignedPosition;
private int searchStep;
private int upperLimit;
private int lowerLimit;
private long createUserRrn;
private String createBy;
private String createDate;
private long modifyUserRrn;
private String modifyBy;
private String modifyDate;
public long getRuleRrn() {
return ruleRrn;
}
public void setRuleRrn(long ruleRrn) {
this.ruleRrn = ruleRrn;
}
public long getMainRrn() {
return mainRrn;
}
public void setMainRrn(long mainRrn) {
this.mainRrn = mainRrn;
}
public long getFacilityRrn() {
return facilityRrn;
}
public void setFacilityRrn(long facilityRrn) {
this.facilityRrn = facilityRrn;
}
public String getRuleType() {
return ruleType;
}
public void setRuleType(String ruleType) {
this.ruleType = ruleType;
}
public int getAssignedPosition() {
return assignedPosition;
}
public void setAssignedPosition(int assignedPosition) {
this.assignedPosition = assignedPosition;
}
public int getSearchStep() {
return searchStep;
}
public void setSearchStep(int searchStep) {
this.searchStep = searchStep;
}
public int getUpperLimit() {
return upperLimit;
}
public void setUpperLimit(int upperLimit) {
this.upperLimit = upperLimit;
}
public int getLowerLimit() {
return lowerLimit;
}
public void setLowerLimit(int lowerLimit) {
this.lowerLimit = lowerLimit;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getModifyBy() {
return modifyBy;
}
public void setModifyBy(String modifyBy) {
this.modifyBy = modifyBy;
}
public String getModifyDate() {
return modifyDate;
}
public void setModifyDate(String modifyDate) {
this.modifyDate = modifyDate;
}
public long getCreateUserRrn() {
return createUserRrn;
}
public void setCreateUserRrn(long createUserRrn) {
this.createUserRrn = createUserRrn;
}
public long getModifyUserRrn() {
return modifyUserRrn;
}
public void setModifyUserRrn(long modifyUserRrn) {
this.modifyUserRrn = modifyUserRrn;
}
/**
* Get rule type code from <code>EDCConst.WaferSelectionRuleTypeEnum</code>.
*
* @return empty means not found, else means found
*/
public String getRuleTypeCode() {
if (StringUtils.equalsIgnoreCase(EDCConst.WaferSelectionRuleTypeEnum.UPTHENDOWN.getRuleType(), this.ruleType)) {
return EDCConst.WaferSelectionRuleTypeEnum.UPTHENDOWN.getRuleTypeCode();
} else if (StringUtils
.equalsIgnoreCase(EDCConst.WaferSelectionRuleTypeEnum.DOWNTHENUP.getRuleType(), this.ruleType)) {
return EDCConst.WaferSelectionRuleTypeEnum.DOWNTHENUP.getRuleTypeCode();
} else if (StringUtils
.equalsIgnoreCase(EDCConst.WaferSelectionRuleTypeEnum.NEARESTUPFIRST.getRuleType(), this.ruleType)) {
return EDCConst.WaferSelectionRuleTypeEnum.NEARESTUPFIRST.getRuleTypeCode();
} else if (StringUtils
.equalsIgnoreCase(EDCConst.WaferSelectionRuleTypeEnum.NEARESTDOWNFIRST.getRuleType(), this.ruleType)) {
return EDCConst.WaferSelectionRuleTypeEnum.NEARESTDOWNFIRST.getRuleTypeCode();
}
return "";
}
public boolean equalsRule(WaferSelectionRule targetRule) {
if (targetRule == null) {
return false;
}
/*
* if (this.getMainRrn() != targetRule.getMainRrn()) { return false; }
*/
if (this.getRuleRrn() != targetRule.getRuleRrn()) {
return false;
}
if (this.getFacilityRrn() != targetRule.getFacilityRrn()) {
return false;
}
if (!StringUtils.equals(this.getRuleType(), targetRule.getRuleType())) {
return false;
}
if (this.getAssignedPosition() != targetRule.getAssignedPosition()) {
return false;
}
if (this.getSearchStep() != targetRule.getSearchStep()) {
return false;
}
if (this.getUpperLimit() != targetRule.getUpperLimit()) {
return false;
}
if (this.getLowerLimit() != targetRule.getLowerLimit()) {
return false;
}
return true;
}
@Override
public String toString() {
StringBuilder str = new StringBuilder("");
str.append("[Rule Type: ");
str.append(this.getRuleType());
str.append(", Assigned Position: ");
str.append(this.getAssignedPosition());
str.append(", Search Step: ");
str.append(this.getSearchStep());
str.append(", Upper Limit: ");
str.append(this.getUpperLimit());
str.append(", Lower Limit: ");
str.append(this.getLowerLimit());
str.append("]");
return str.toString();
}
}