35
35
* Non-static inner classes are not supported.
36
36
* </p>
37
37
*
38
- * <p>See documentation for details. <a href="https://github.com/cuzfrog/SharedType">SharedType Website</a></p></p>
38
+ * <p>
39
+ * <b>Generics:</b><br>
40
+ * Generics are supported. But it's also limited to target schema's capacity.
41
+ * </p>
42
+ *
43
+ * <p>
44
+ * <b>Collections:</b><br>
45
+ * Iterables and arrays are treated as arrays. Map is mapped to:
46
+ * <ul>
47
+ * <li>Typescript: {@code [key: string]: T} where {@code T} can be a reified type.</li>
48
+ * </ul>
49
+ * </p>
50
+ *
51
+ * <p><a href="https://github.com/cuzfrog/SharedType">SharedType Website</a></p></p>
39
52
*
40
53
* @author Cause Chung
54
+ * @implNote generics type bounds are not supported yet, Map is not supported yet.
41
55
*/
42
56
@ Retention (RetentionPolicy .SOURCE )
43
57
@ Target ({java .lang .annotation .ElementType .TYPE })
99
113
100
114
/**
101
115
* Mark enum value. By default, enum value is the enum constant name. The enum value must be literals (e.g. 1, "a", true) in enum constant expressions.
102
- * <br>
103
116
* <p>
104
117
* When placed on:
105
118
* <ul>
106
119
* <li>Constructor parameter - the literal value served to this parameter from enum constant expressions will be used.</li>
107
120
* <li>Field - the constructor parameter with the same name and type will be used as if constructor parameter is annotated.</li>
108
121
* </ul>
109
122
* </p>
110
- * <br>
111
123
* <p>
112
124
* Below are some valid examples:
113
125
* </p>
@@ -155,10 +167,10 @@ enum ComponentType {
155
167
*/
156
168
FIELDS ,
157
169
/**
158
- * Represents 0 argument non-static methods:
170
+ * Represents 0 argument non-static methods that :
159
171
* <ul>
160
- * <li>with name same as its instance field. Or fluent getter. This includes record's component accessor.</li>
161
- * <li>starting with a getter prefix. By default, prefixes include 'get' or 'is', which can be configured via global properties.</li>
172
+ * <li>have names same as respective instance fields, aka, fluent getter. This includes record's component accessor.</li>
173
+ * <li>start with a getter prefix. By default, prefixes include 'get' or 'is', which can be configured via global properties.</li>
162
174
* <li>annotated with {@link Accessor}.</li>
163
175
* </ul>
164
176
*/
@@ -169,6 +181,8 @@ enum ComponentType {
169
181
* <li>Class/record static fields with static values.</li>
170
182
* </ul>
171
183
* Fields with values that cannot be resolved at compile time will not be included. A corresponding warning will be given.
184
+ *
185
+ * @implNote not implement yet.
172
186
*/
173
187
CONSTANTS ,
174
188
}
0 commit comments