Skip to content

Commit 98fe402

Browse files
committed
Do not use introspection to populate specific GlobType in source not in test.
1 parent b863723 commit 98fe402

3 files changed

Lines changed: 49 additions & 22 deletions

File tree

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,33 @@
11
package org.globsframework.commandline;
22

33
import org.globsframework.core.metamodel.GlobType;
4-
import org.globsframework.core.metamodel.GlobTypeLoaderFactory;
4+
import org.globsframework.core.metamodel.GlobTypeBuilder;
55
import org.globsframework.core.metamodel.annotations.GlobCreateFromAnnotation;
66
import org.globsframework.core.metamodel.annotations.InitUniqueKey;
77
import org.globsframework.core.metamodel.fields.StringField;
8+
import org.globsframework.core.metamodel.impl.DefaultGlobTypeBuilder;
89
import org.globsframework.core.model.Key;
10+
import org.globsframework.core.model.KeyBuilder;
911

1012
public class ArraySeparator {
11-
public static GlobType TYPE;
13+
public static final GlobType TYPE;
1214

13-
public static StringField SEPARATOR;
15+
public static final StringField SEPARATOR;
1416

1517
@InitUniqueKey
16-
public static Key KEY;
18+
public static final Key KEY;
1719

1820
static {
19-
GlobTypeLoaderFactory.create(ArraySeparator.class, "ArraySeparator")
20-
.register(GlobCreateFromAnnotation.class, annotation -> ArraySeparator.TYPE.instantiate()
21-
.set(SEPARATOR, new String(new char[]{((ArraySeparator_) annotation).value()})))
22-
.load();
21+
GlobTypeBuilder typeBuilder = new DefaultGlobTypeBuilder("ArraySeparator");
22+
TYPE = typeBuilder.unCompleteType();
23+
SEPARATOR = typeBuilder.declareStringField("separator");
24+
typeBuilder.complete();
25+
KEY = KeyBuilder.newEmptyKey(TYPE);
26+
typeBuilder.register(GlobCreateFromAnnotation.class, annotation -> ArraySeparator.TYPE.instantiate()
27+
.set(SEPARATOR, String.valueOf(((ArraySeparator_) annotation).value())));
28+
// GlobTypeLoaderFactory.create(ArraySeparator.class, "ArraySeparator")
29+
// .register(GlobCreateFromAnnotation.class, annotation -> ArraySeparator.TYPE.instantiate()
30+
// .set(SEPARATOR, new String(new char[]{((ArraySeparator_) annotation).value()})))
31+
// .load();
2332
}
2433
}
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,34 @@
11
package org.globsframework.commandline;
22

33
import org.globsframework.core.metamodel.GlobType;
4-
import org.globsframework.core.metamodel.GlobTypeLoaderFactory;
4+
import org.globsframework.core.metamodel.GlobTypeBuilder;
55
import org.globsframework.core.metamodel.annotations.GlobCreateFromAnnotation;
66
import org.globsframework.core.metamodel.annotations.InitUniqueGlob;
77
import org.globsframework.core.metamodel.annotations.InitUniqueKey;
8+
import org.globsframework.core.metamodel.impl.DefaultGlobTypeBuilder;
89
import org.globsframework.core.model.Glob;
910
import org.globsframework.core.model.Key;
11+
import org.globsframework.core.model.KeyBuilder;
1012

1113
public class Mandatory {
12-
public static GlobType TYPE;
14+
public static final GlobType TYPE;
1315

1416
@InitUniqueKey
15-
public static Key KEY;
17+
public static final Key KEY;
1618

1719
@InitUniqueGlob
18-
public static Glob UNIQUE;
20+
public static final Glob UNIQUE;
1921

2022
static {
21-
GlobTypeLoaderFactory.create(Mandatory.class, "Mandatory")
22-
.register(GlobCreateFromAnnotation.class, annotation -> UNIQUE)
23-
.load();
23+
GlobTypeBuilder typeBuilder = new DefaultGlobTypeBuilder("Mandatory");
24+
TYPE = typeBuilder.unCompleteType();
25+
typeBuilder.complete();
26+
KEY = KeyBuilder.newEmptyKey(TYPE);
27+
UNIQUE = TYPE.instantiate();
28+
typeBuilder.register(GlobCreateFromAnnotation.class, annotation -> UNIQUE);
29+
30+
// GlobTypeLoaderFactory.create(Mandatory.class, "Mandatory")
31+
// .register(GlobCreateFromAnnotation.class, annotation -> UNIQUE)
32+
// .load();
2433
}
2534
}
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,34 @@
11
package org.globsframework.commandline;
22

33
import org.globsframework.core.metamodel.GlobType;
4-
import org.globsframework.core.metamodel.GlobTypeLoaderFactory;
4+
import org.globsframework.core.metamodel.GlobTypeBuilder;
55
import org.globsframework.core.metamodel.annotations.GlobCreateFromAnnotation;
66
import org.globsframework.core.metamodel.annotations.InitUniqueGlob;
77
import org.globsframework.core.metamodel.annotations.InitUniqueKey;
8+
import org.globsframework.core.metamodel.impl.DefaultGlobTypeBuilder;
89
import org.globsframework.core.model.Glob;
910
import org.globsframework.core.model.Key;
11+
import org.globsframework.core.model.KeyBuilder;
1012

1113
public class UnNamed {
12-
public static GlobType TYPE;
14+
public static final GlobType TYPE;
1315

1416
@InitUniqueKey
15-
public static Key KEY;
17+
public static final Key KEY;
1618

1719
@InitUniqueGlob
18-
public static Glob UNIQUE;
20+
public static final Glob UNIQUE;
1921

2022
static {
21-
GlobTypeLoaderFactory.create(UnNamed.class, "UnNamed")
22-
.register(GlobCreateFromAnnotation.class, annotation -> UNIQUE)
23-
.load();
23+
GlobTypeBuilder typeBuilder = new DefaultGlobTypeBuilder("UnNamed");
24+
TYPE = typeBuilder.unCompleteType();
25+
typeBuilder.complete();
26+
KEY = KeyBuilder.newEmptyKey(TYPE);
27+
UNIQUE = TYPE.instantiate();
28+
typeBuilder
29+
.register(GlobCreateFromAnnotation.class, annotation -> UNIQUE);
30+
// GlobTypeLoaderFactory.create(UnNamed.class, "UnNamed")
31+
// .register(GlobCreateFromAnnotation.class, annotation -> UNIQUE)
32+
// .load();
2433
}
2534
}

0 commit comments

Comments
 (0)