2019-04-18 16:08:22 +02:00
|
|
|
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) {
|
2019-04-22 00:10:21 +02:00
|
|
|
return KMP.KMP((CharSequence) value, containsValue, false) != -1;
|
2019-04-18 16:08:22 +02:00
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|