-
Notifications
You must be signed in to change notification settings - Fork 5
/
ObservableValueSelector.java
145 lines (123 loc) · 5.3 KB
/
ObservableValueSelector.java
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
package org.genericsystem.reactor.context;
import java.util.function.Function;
import org.genericsystem.common.Generic;
public interface ObservableValueSelector extends Function<Generic[], Generic> {
public static class STRICT_ATTRIBUTE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return gs[0].getComponents().size() < 2 ? gs[0] : null;
}
}
public static class GENERIC_INSTANCE_VALUE_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[1].isValueHidden() ? gs[0] : null;
}
}
public static class GENERIC_VALUE_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[0].isValueHidden() ? gs[0] : null;
}
}
public static class INSTANCE_CHECK_BOX_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[1].isValueHidden() && Boolean.class.equals(gs[1].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class CHECK_BOX_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[0].isValueHidden() && Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class INSTANCE_LABEL_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[1].isValueHidden() && !Boolean.class.equals(gs[1].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class LABEL_DISPLAYER implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[0].isValueHidden() && !Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class VALUE_BUILDER_DISPLAYER_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[0].isValueHidden() && !Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) && gs[0].getInstanceValueGenerator() == null ? gs[0] : null;
}
}
public static class PASSWORD_INSTANCE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return gs[1].isInstanceValueHashed() ? gs[0] : null;
}
}
public static class NON_PASSWORD_INSTANCE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[1].isInstanceValueHashed() ? gs[0] : null;
}
}
public static class PASSWORD_ATTRIBUTE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return gs[0].isInstanceValueHashed() ? gs[0] : null;
}
}
public static class NON_PASSWORD_ATTRIBUTE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[0].isInstanceValueHashed() ? gs[0] : null;
}
}
public static class DIRECT_RELATION_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return gs[1].isReferentialIntegrityEnabled(gs[1].getComponents().indexOf(gs[0])) ? gs[0] : null;
}
}
public static class REVERSED_RELATION_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return !gs[1].isReferentialIntegrityEnabled(gs[1].getComponents().indexOf(gs[0])) && !gs[0].getLinks(gs[2]).isEmpty() ? gs[0] : null;
}
}
public static class MULTICHECKBOX_INSTANCE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
Generic component = gs[0].getComponents().stream().filter(c -> gs[2].inheritsFrom(c)).findFirst().get();
return !gs[0].isInstanceValueHashed() && gs[0].isValueHidden() && gs[0].getComponents().size() == 2 && !gs[0].isSingularConstraintEnabled(gs[0].getComponents().indexOf(component)) ? gs[0] : null;
}
}
public static class NON_MULTICHECKBOX_INSTANCE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
Generic component = gs[0].getComponents().stream().filter(c -> gs[2].inheritsFrom(c)).findFirst().get();
return !gs[0].isInstanceValueHashed() && (!gs[0].isValueHidden() || (gs[0].getComponents().size() != 2 || gs[0].isSingularConstraintEnabled(gs[0].getComponents().indexOf(component)))) ? gs[0] : null;
}
}
public static class MULTICHECKBOX_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
Generic component = gs[0].getComponents().stream().filter(c -> gs[1].inheritsFrom(c)).findFirst().get();
return !gs[0].isInstanceValueHashed() && gs[0].isValueHidden() && gs[0].getComponents().size() == 2 && !gs[0].isSingularConstraintEnabled(gs[0].getComponents().indexOf(component)) ? gs[0] : null;
}
}
public static class NON_MULTICHECKBOX_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
Generic component = gs[0].getComponents().stream().filter(c -> gs[1].inheritsFrom(c)).findFirst().get();
return !gs[0].isInstanceValueHashed() && (!gs[0].isValueHidden() || (gs[0].getComponents().size() != 2 || gs[0].isSingularConstraintEnabled(gs[0].getComponents().indexOf(component)))) ? gs[0] : null;
}
}
public static class TYPE_SELECTOR implements ObservableValueSelector {
@Override
public Generic apply(Generic[] gs) {
return gs[1];
}
}
}