-
Notifications
You must be signed in to change notification settings - Fork 5
/
DefaultConfig.java
121 lines (102 loc) · 3.7 KB
/
DefaultConfig.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
package org.genericsystem.defaults;
import org.genericsystem.api.core.ApiStatics;
import org.genericsystem.api.core.IGeneric.SystemProperty;
import org.genericsystem.api.core.annotations.Components;
import org.genericsystem.api.core.annotations.Dependencies;
import org.genericsystem.api.core.annotations.Meta;
import org.genericsystem.api.core.annotations.Supers;
import org.genericsystem.api.core.annotations.SystemGeneric;
import org.genericsystem.api.core.annotations.constraints.InstanceValueClassConstraint;
import org.genericsystem.api.core.annotations.constraints.PropertyConstraint;
import org.genericsystem.api.core.annotations.value.AxedPropertyClassValue;
import org.genericsystem.api.core.annotations.value.BooleanValue;
import org.genericsystem.api.core.annotations.value.EngineValue;
/**
* @author Nicolas Feybesse
*
*/
public class DefaultConfig {
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(DefaultRoot.class)
@Components(DefaultRoot.class)
@EngineValue
@Dependencies(SystemMap.class)
public static class MetaAttribute {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Components(DefaultRoot.class)
@Dependencies({ NoReferentialIntegrityProperty.class, NonHeritableProperty.class, CascadeRemoveProperty.class, org.genericsystem.defaults.constraints.InstanceValueClassConstraint.class, org.genericsystem.defaults.constraints.PropertyConstraint.class,
org.genericsystem.defaults.constraints.RequiredConstraint.class, org.genericsystem.defaults.constraints.SingularConstraint.class, org.genericsystem.defaults.constraints.UniqueValueConstraint.class, InstanceValueGeneratorProperty.class })
public static class SystemMap {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(SystemMap.class)
@Components(MetaAttribute.class)
@Dependencies({ DefaultNoReferentialAxedIntegrityProperty.class })
@InstanceValueClassConstraint(Boolean.class)
@PropertyConstraint
public static class NoReferentialIntegrityProperty implements SystemProperty {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(NoReferentialIntegrityProperty.class)
@Components(MetaAttribute.class)
@AxedPropertyClassValue(propertyClass = NoReferentialIntegrityProperty.class, pos = ApiStatics.BASE_POSITION)
@Dependencies({ DefaultValue.class })
public static class DefaultNoReferentialAxedIntegrityProperty {
}
@SystemGeneric
@Meta(DefaultNoReferentialAxedIntegrityProperty.class)
@Components(MetaAttribute.class)
@BooleanValue(true)
public static class DefaultValue {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(SystemMap.class)
@Components(DefaultRoot.class)
@InstanceValueClassConstraint(Boolean.class)
@PropertyConstraint
public static class NonHeritableProperty implements SystemProperty {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(SystemMap.class)
@Components(MetaAttribute.class)
@PropertyConstraint
public static class PasswordProperty implements SystemProperty {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(SystemMap.class)
@Components(MetaAttribute.class)
@InstanceValueClassConstraint(Boolean.class)
@PropertyConstraint
@Deprecated
public static class CascadeRemoveProperty implements SystemProperty {
}
@SystemGeneric
@Meta(MetaAttribute.class)
@Supers(SystemMap.class)
@Components(DefaultRoot.class)
@InstanceValueClassConstraint(Class.class)
@PropertyConstraint
public static class InstanceValueGeneratorProperty implements SystemProperty {
}
@SystemGeneric
@Meta(MetaRelation.class)
@Supers(MetaAttribute.class)
@Components({ DefaultRoot.class, DefaultRoot.class })
@EngineValue
public static class MetaRelation {
}
@SystemGeneric
@Components(DefaultRoot.class)
@InstanceValueClassConstraint(Integer.class)
@PropertyConstraint
public static class Sequence {
}
}