26 lines
665 B
Java
26 lines
665 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 Contains<T extends CharSequence> implements ValueOperation<T> {
|
|
|
|
private final T containsValue;
|
|
|
|
private Contains(T containsValue) {
|
|
this.containsValue = containsValue;
|
|
}
|
|
|
|
public static <T extends CharSequence> Contains<T> containsValue(T value) {
|
|
return new Contains<T>(value);
|
|
}
|
|
|
|
@Override
|
|
public boolean evaluate(Object value) {
|
|
if (value instanceof CharSequence) {
|
|
return KMP.KMP((CharSequence) value, containsValue) != -1;
|
|
}
|
|
return false;
|
|
}
|
|
}
|