You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2022/08/09 08:44:59 UTC
[johnzon] branch master updated: PojoGenerator extension point before declaration
This is an automated email from the ASF dual-hosted git repository.
rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/johnzon.git
The following commit(s) were added to refs/heads/master by this push:
new 60ba23ca PojoGenerator extension point before declaration
60ba23ca is described below
commit 60ba23cac6ac770e9f7edb4301c4ec5d492d2481
Author: Romain Manni-Bucau <rm...@gmail.com>
AuthorDate: Tue Aug 9 10:44:55 2022 +0200
PojoGenerator extension point before declaration
---
.../org/apache/johnzon/jsonschema/generator/PojoGenerator.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
index 5db62394..0f0ba037 100644
--- a/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
+++ b/johnzon-jsonschema/src/main/java/org/apache/johnzon/jsonschema/generator/PojoGenerator.java
@@ -77,6 +77,7 @@ public class PojoGenerator {
.sorted()
.map(it -> "import " + it + ";")
.collect(joining("\n", "", "\n\n"))) +
+ beforeClassDeclaration() +
"public class " + configuration.getClassName() + afterClassName() + " {\n" +
(attributes.isEmpty() ?
("" +
@@ -223,6 +224,14 @@ public class PojoGenerator {
return "";
}
+ protected String beforeEnumDeclaration() {
+ return "";
+ }
+
+ protected String beforeClassDeclaration() {
+ return "";
+ }
+
protected String asType(final String javaName, final JsonObject schema, final boolean required) {
final JsonValue ref = schema.get("$ref");
if (ref != null && ref.getValueType() == JsonValue.ValueType.STRING) {
@@ -334,6 +343,7 @@ public class PojoGenerator {
"package " + configuration.getPackageName() + ";\n" +
"\n" +
enumImports() +
+ beforeEnumDeclaration() +
"public enum " + className + afterEnumName(values, injectValues) + " {\n" +
values.entrySet().stream()
.map(it -> "" +