Skip to content

Commit 8684715

Browse files
committed
restructure the openMINDS entrypoint
1 parent db6f15b commit 8684715

2 files changed

Lines changed: 21 additions & 37 deletions

File tree

generator/templates/OpenMINDS.java.j2

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@ public class OpenMINDS {
3737
});
3838
}
3939

40-
{% for version in relevant_versions %}
41-
public static OpenMINDS.{{version[0]|upper}}{{version[1:]}} {{version}}(){
40+
{% for version in relevant_versions %}public static OpenMINDS.{{version[0]|upper}}{{version[1:]}} {{version}}(){
4241
return {{version}}(OpenMINDSContext.defaultContext());
4342
}
4443

@@ -50,38 +49,31 @@ public class OpenMINDS {
5049
return new OpenMINDS(context).new {{version[0]|upper}}{{version[1:]}}();
5150
}
5251

53-
54-
55-
public class {{version[0]|upper}}{{version[1:]}} {
56-
52+
public final class {{version[0]|upper}}{{version[1:]}} {
53+
private {{version[0]|upper}}{{version[1:]}}(){}
5754
private final List<org.openmetadatainitiative.openminds.utils.Builder<?>> builders = new ArrayList<>();
5855

59-
{% for package in packages_by_version[version].keys() %}
60-
public final OpenMINDS.{{version[0]|upper}}{{version[1:]}}.{{package[0]|upper}}{{package[1:]}} {{package}} = new {{package[0]|upper}}{{package[1:]}}();
61-
62-
63-
public class {{package[0]|upper}}{{package[1:]}}{
56+
{% for package in packages_by_version[version].keys() %}public final OpenMINDS.{{version[0]|upper}}{{version[1:]}}.{{package[0]|upper}}{{package[1:]}} {{package}} = new {{package[0]|upper}}{{package[1:]}}();
6457

58+
public final class {{package[0]|upper}}{{package[1:]}}{
59+
private {{package[0]|upper}}{{package[1:]}}(){}
6560
{% for class in packages_by_version[version][package] %}
66-
public final OpenMINDS.{{version[0]|upper}}{{version[1:]}}.{{package[0]|upper}}{{package[1:]}}.{{class[0]}} {{class[0][0]|lower}}{{class[0][1:]}} = new {{class[0]}}();
67-
68-
public class {{class[0]}} {
69-
70-
public {{class[1]}}.Builder create(String localId){
71-
final {{class[1]}}.Builder builder = {{class[1]}}.create(new LocalId(localId));
72-
builders.add(builder);
73-
return builder;
74-
}
61+
public {{class[1]}}.Builder create{{class[0]}}(String localId){
62+
final {{class[1]}}.Builder builder = {{class[1]}}.create(new LocalId(localId));
63+
builders.add(builder);
64+
return builder;
7565
}
7666
{% endfor %}
7767
}
7868
{% endfor %}
7969

80-
public void persist(String targetDirectory) {
81-
OpenMINDS.persist(targetDirectory, builders.stream().map(org.openmetadatainitiative.openminds.utils.Builder::build));
70+
public void flush(PostProcessor postProcessor){
71+
flush(OpenMINDSContext.defaultContext(), postProcessor);
8272
}
83-
}
8473

74+
public void flush(OpenMINDSContext context, PostProcessor postProcessor){
75+
postProcessor.process(builders.stream().map(b -> b.build(context)));
76+
}
77+
}
8578
{% endfor %}
86-
8779
}

generator/templates/schema_class.java.j2

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package {{package_name}};
33
import com.fasterxml.jackson.annotation.JsonIgnore;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
55
import com.fasterxml.jackson.annotation.JsonProperty;
6-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
76
import org.openmetadatainitiative.openminds.utils.*;
87

98
import java.util.ArrayList;
@@ -29,8 +28,8 @@ public class {{ class_name }} extends Instance {% if implemented_interfaces %}im
2928
return doGetReference();
3029
}
3130

32-
public static Reference<{{ class_name }}> createReference(InstanceId instanceId) {
33-
return new Reference<>(instanceId);
31+
public static Reference<{{ class_name }}> reference(String instanceId) {
32+
return new Reference<>(new InstanceId(instanceId));
3433
}
3534

3635
private {{ class_name }}(LocalId localId ) {
@@ -43,18 +42,11 @@ public class {{ class_name }} extends Instance {% if implemented_interfaces %}im
4342
{{ line }}
4443
{% endfor %}{% endfor %}
4544

46-
public {{ class_name }} build() {
45+
public {{ class_name }} build(OpenMINDSContext context) {
4746
if ({{ class_name }}.this.id == null) {
48-
{{ class_name }}.this.id = new InstanceId(UUID.randomUUID().toString());
49-
}
50-
if({{ class_name }}.this.types == null || {{ class_name }}.this.types.isEmpty() || !{{ class_name }}.this.types.contains(SEMANTIC_NAME)){
51-
final List<String> oldValues = {{ class_name }}.this.types;
52-
{{ class_name }}.this.types = new ArrayList<>();
53-
{{ class_name }}.this.types.add(SEMANTIC_NAME);
54-
if(oldValues != null){
55-
{{ class_name }}.this.types.addAll(oldValues);
56-
}
47+
{{ class_name }}.this.id = InstanceId.withPrefix(UUID.randomUUID().toString(), openMINDSContext.idPrefix());
5748
}
49+
{{ class_name }}.this.type = SEMANTIC_NAME;
5850
return {{ class_name }}.this;
5951
}
6052
}

0 commit comments

Comments
 (0)