4465 |
25 Apr 17 |
nicklas |
1 |
package net.sf.basedb.reggie.converter; |
4465 |
25 Apr 17 |
nicklas |
2 |
|
4465 |
25 Apr 17 |
nicklas |
3 |
import java.util.Arrays; |
4465 |
25 Apr 17 |
nicklas |
4 |
import java.util.List; |
4465 |
25 Apr 17 |
nicklas |
5 |
|
4465 |
25 Apr 17 |
nicklas |
6 |
/** |
4465 |
25 Apr 17 |
nicklas |
Converter for boolean input values to enum output values. |
4465 |
25 Apr 17 |
nicklas |
8 |
|
4465 |
25 Apr 17 |
nicklas |
@author nicklas |
4465 |
25 Apr 17 |
nicklas |
@since 4.10 |
4465 |
25 Apr 17 |
nicklas |
11 |
*/ |
4465 |
25 Apr 17 |
nicklas |
12 |
public class BooleanToEnumConverter<E> |
4465 |
25 Apr 17 |
nicklas |
13 |
implements ValueConverter<Boolean, E> |
4465 |
25 Apr 17 |
nicklas |
14 |
{ |
4465 |
25 Apr 17 |
nicklas |
15 |
|
4465 |
25 Apr 17 |
nicklas |
16 |
private final E trueValue; |
4465 |
25 Apr 17 |
nicklas |
17 |
private final E falseValue; |
4465 |
25 Apr 17 |
nicklas |
18 |
private final E nullValue; |
4465 |
25 Apr 17 |
nicklas |
19 |
|
4465 |
25 Apr 17 |
nicklas |
20 |
/** |
4465 |
25 Apr 17 |
nicklas |
Create a new boolean to enum converter with the given values. |
4465 |
25 Apr 17 |
nicklas |
22 |
*/ |
4465 |
25 Apr 17 |
nicklas |
23 |
public BooleanToEnumConverter(E trueValue, E falseValue, E nullValue) |
4465 |
25 Apr 17 |
nicklas |
24 |
{ |
4465 |
25 Apr 17 |
nicklas |
25 |
this.trueValue = trueValue; |
4465 |
25 Apr 17 |
nicklas |
26 |
this.falseValue = falseValue; |
4465 |
25 Apr 17 |
nicklas |
27 |
this.nullValue = nullValue; |
4465 |
25 Apr 17 |
nicklas |
28 |
} |
4465 |
25 Apr 17 |
nicklas |
29 |
|
4465 |
25 Apr 17 |
nicklas |
30 |
@Override |
4465 |
25 Apr 17 |
nicklas |
31 |
public E convert(Boolean value) |
4465 |
25 Apr 17 |
nicklas |
32 |
{ |
4465 |
25 Apr 17 |
nicklas |
33 |
return value == null ? nullValue : (value ? trueValue : falseValue); |
4465 |
25 Apr 17 |
nicklas |
34 |
} |
4465 |
25 Apr 17 |
nicklas |
35 |
|
4465 |
25 Apr 17 |
nicklas |
36 |
/** |
4465 |
25 Apr 17 |
nicklas |
Get all possible values in a list. |
4465 |
25 Apr 17 |
nicklas |
38 |
*/ |
4465 |
25 Apr 17 |
nicklas |
39 |
public List<E> getEnum() |
4465 |
25 Apr 17 |
nicklas |
40 |
{ |
4465 |
25 Apr 17 |
nicklas |
41 |
return Arrays.asList(trueValue, falseValue, nullValue); |
4465 |
25 Apr 17 |
nicklas |
42 |
} |
4465 |
25 Apr 17 |
nicklas |
43 |
} |