26 lines
688 B
Java
26 lines
688 B
Java
package it.cavallium.strangedb.java.objects.lists.operations;
|
|
|
|
import it.cavallium.strangedb.java.objects.lists.KMP;
|
|
import it.cavallium.strangedb.java.objects.lists.ValueOperation;
|
|
|
|
public class ContainsIgnoreCase implements ValueOperation<String> {
|
|
|
|
private final String containsValue;
|
|
|
|
private ContainsIgnoreCase(String containsValue) {
|
|
this.containsValue = containsValue.toLowerCase();
|
|
}
|
|
|
|
public static ContainsIgnoreCase containsValue(String value) {
|
|
return new ContainsIgnoreCase(value);
|
|
}
|
|
|
|
@Override
|
|
public boolean evaluate(Object value) {
|
|
if (value instanceof String) {
|
|
return KMP.KMP(((String) value).toLowerCase(), containsValue) != -1;
|
|
}
|
|
return false;
|
|
}
|
|
}
|