-
Notifications
You must be signed in to change notification settings - Fork 5
/
ObservableValueSelector.java
65 lines (54 loc) · 2.29 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
package org.genericsystem.reactor.model;
import java.util.function.Function;
import java.util.function.Supplier;
import org.genericsystem.common.Generic;
public interface ObservableValueSelector extends Function<Generic[], Generic> {
public static class STRICT_ATTRIBUTE_SELECTOR implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[0].getComponents().size() < 2 ? gs[0] : null;
}
}
public static class RELATION_SELECTOR implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[0].getComponents().size() >= 2 ? gs[0] : null;
}
}
public static class CHECK_BOX_DISPLAYER implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[1].getComponents().size() == 1 && Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class CHECK_BOX_DISPLAYER_0 implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[0].getComponents().size() == 1 && Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class LABEL_DISPLAYER implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[1].getComponents().size() == 1 && !Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class LABEL_DISPLAYER_0 implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[0].getComponents().size() == 1 && !Boolean.class.equals(gs[0].getInstanceValueClassConstraint()) ? gs[0] : null;
}
}
public static class DIRECT_RELATION_SELECTOR implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> gs[1].isReferentialIntegrityEnabled(gs[1].getComponents().indexOf(gs[0])) ? gs[0] : null;
}
}
public static class REVERSED_RELATION_SELECTOR implements Supplier<ObservableValueSelector> {
@Override
public ObservableValueSelector get() {
return gs -> !gs[1].isReferentialIntegrityEnabled(gs[1].getComponents().indexOf(gs[0])) && !gs[0].getLinks(gs[2]).isEmpty() ? gs[0] : null;
}
}
}