blob: cd87668a3651dd95f2604a650f0c84eb0a7dde08 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package com.mapswithme.util;
import android.support.annotation.NonNull;
public abstract class Predicate<T, D>
{
@NonNull
private final T mBaseValue;
Predicate(@NonNull T baseValue)
{
mBaseValue = baseValue;
}
@NonNull
T getBaseValue()
{
return mBaseValue;
}
public abstract boolean apply(@NonNull D field);
public static class Equals<T, D> extends Predicate<T, D>
{
@NonNull
private final TypeConverter<D, T> mConverter;
public Equals(@NonNull TypeConverter<D, T> converter, @NonNull T data)
{
super(data);
mConverter = converter;
}
@Override
public boolean apply(@NonNull D field)
{
T converted = mConverter.convert(field);
T value = getBaseValue();
return value == converted || value.equals(converted);
}
}
}
|