/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE file at the root of the source
* tree and available online at
*
* https://github.com/keeps/roda
*/
package org.roda.core.data.v2.index.filter;
/**
* @author Rui Castro
*/
public class LikeFilterParameter extends FilterParameter {
private static final long serialVersionUID = 5402707366601834582L;
private String expression;
/**
* Constructs an empty {@link LikeFilterParameter}.
*/
public LikeFilterParameter() {
// do nothing
}
/**
* Constructs a {@link LikeFilterParameter} cloning an existing
* {@link LikeFilterParameter}.
*
* @param likeFilterParameter
* the {@link LikeFilterParameter} to clone.
*/
public LikeFilterParameter(LikeFilterParameter likeFilterParameter) {
this(likeFilterParameter.getName(), likeFilterParameter.getExpression());
}
/**
* Constructs a {@link LikeFilterParameter} with the given parameters.
*
* @param name
* @param expression
*/
public LikeFilterParameter(String name, String expression) {
setName(name);
setExpression(expression);
}
/**
* @see Object#toString()
*/
@Override
public String toString() {
return "LikeFilterParameter(name=" + getName() + ", expression=" + getExpression() + ")";
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((expression == null) ? 0 : expression.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
boolean equal;
if (obj != null && obj instanceof LikeFilterParameter) {
LikeFilterParameter other = (LikeFilterParameter) obj;
equal = super.equals(other);
equal = equal && (getExpression() == other.getExpression() || getExpression().equals(other.getExpression()));
} else {
equal = false;
}
return equal;
}
/**
* @return the expression
*/
public String getExpression() {
return expression;
}
/**
* @param expression
* the expression to set
*/
public void setExpression(String expression) {
this.expression = expression;
}
}