package ro.nextreports.server.domain;
import org.jcrom.annotations.JcrProperty;
import ro.nextreports.engine.util.ObjectCloner;
public class AnalysisDeclaredColumn extends EntityFragment {
private static final long serialVersionUID = 1L;
@JcrProperty
private String columnName;
@JcrProperty(converter = JcrExpressionConverter.class)
private String expression;
@JcrProperty
private String type;
public AnalysisDeclaredColumn() {
}
public String getColumnName() {
return columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public String getExpression() {
return expression;
}
public void setExpression(String expression) {
this.expression = expression;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public AnalysisDeclaredColumn clone() {
return ObjectCloner.silenceDeepCopy(this);
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((expression == null) ? 0 : expression.hashCode());
result = prime * result + ((columnName == null) ? 0 : columnName.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
if (! super.equals(obj)) return false;
AnalysisDeclaredColumn other = (AnalysisDeclaredColumn) obj;
if (expression == null) {
if (other.expression != null) return false;
} else if (!expression.equals(other.expression))
return false;
if (columnName == null) {
if (other.columnName != null) return false;
} else if (!columnName.equals(other.columnName))
return false;
if (type == null) {
if (other.type != null) return false;
} else if (!type.equals(other.type))
return false;
return true;
}
@Override
public String toString() {
return "AnalysisDeclaredColumn [" + super.toString() + " ,columnName=" + columnName + ", expression=" + expression + ", type=" + type + "]";
}
}