1 package net.sumaris.core.extraction.vo;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import com.google.common.base.Preconditions;
26
27 import java.util.Arrays;
28
29 public enum ExtractionFilterOperatorEnum {
30
31 IN("IN"),
32 NOT_IN("NOT IN"),
33 EQUALS("="),
34 NOT_EQUALS("!="),
35 GREATER_THAN(">"),
36 GREATER_THAN_OR_EQUALS(">="),
37 LESS_THAN("<"),
38 LESS_THAN_OR_EQUALS("<="),
39 BETWEEN("BETWEEN");
40
41 private String symbol;
42
43 ExtractionFilterOperatorEnum(String symbol) {
44 this.symbol = symbol;
45 }
46
47 public String getSymbol() {
48 return symbol;
49 }
50
51 public static ExtractionFilterOperatorEnum fromSymbol(String operator) {
52 Preconditions.checkNotNull(operator);
53 return Arrays.stream(values())
54 .filter(op -> op.symbol.equalsIgnoreCase(operator))
55 .findFirst()
56 .orElseThrow(() -> new IllegalArgumentException("Unknown operation symbol"));
57 }
58
59
60 }