aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/equalparts/cardbase/cardfield/IntegerCardField.java
blob: 3ee10e72bde2a108995053e3283b949cc5133767 (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
package eu.equalparts.cardbase.cardfield;
import eu.equalparts.cardbase.filtering.CardFiltering.Filter;
import eu.equalparts.cardbase.utils.InputSanity;

public class IntegerCardField extends CardField<Integer> {

	public IntegerCardField(String name, Integer value) {
		super(name, value);
	}

	@Override
	public boolean filter(Filter filter, String s) {
		switch (filter) {
		case CONTAINS:
			return get().toString().contains(s);
		case EQUALS:
			return get().toString().equalsIgnoreCase(s);
		case REGEX:
			return get().toString().matches(s);
		case GREATER_THAN:
			if (InputSanity.isInteger(s)) {
				return get() > Integer.valueOf(s);
			}
		case SMALLER_THAN:
			if (InputSanity.isInteger(s)) {
				return get() < Integer.valueOf(s);
			}
		default:
			return false;
		}
	}
}