diff --git a/examples/plugins/csv/pom.xml b/examples/plugins/csv/pom.xml
index e205e2a5..a511df0f 100644
--- a/examples/plugins/csv/pom.xml
+++ b/examples/plugins/csv/pom.xml
@@ -9,7 +9,7 @@
com.helger.jcodemodel.examples.plugin
csv
- JCodeModel CSV Plugin Example
+ JCodeModel Example Generator CSV
demonstrates and validates the usage of the jcodemodel plugin alongside the CSV generator
@@ -61,13 +61,14 @@
generate-source
+ com.helger.jcodemodel.examples.plugin.csv.resolve
- p com.helger.jcodemodel.examples.plugin.csv.resolve,,,get
- com.helger.jcodemodel.examples.plugin.csv.resolve.Parent,children,Child[],set,private
- com.helger.jcodemodel.examples.plugin.csv.resolve.Child,parent,Parent,private,set
- com.helger.jcodemodel.examples.plugin.csv.resolve.Imported,,,set
- com.helger.jcodemodel.examples.plugin.csv.resolve.Imported,model,com.helger.jcodemodel.JCodeModel,private
- com.helger.jcodemodel.examples.plugin.csv.resolve.Imported,modelArr,com.helger.jcodemodel.JCodeModel[],private
+ p .,,,get
+ Parent,children,Child[],set,private
+ Child,parent,Parent,private,set
+ Imported,,,set
+ Imported,model,com.helger.jcodemodel.JCodeModel,private
+ Imported,modelArr,com.helger.jcodemodel.JCodeModel[],private
@@ -78,10 +79,11 @@
generate-source
+ com.helger.jcodemodel.examples.plugin.csv.lastupdated
- com.helger.jcodemodel.examples.plugin.csv.lastupdated.LastUpdated,,,set,get,private,lastupdated
- com.helger.jcodemodel.examples.plugin.csv.lastupdated.LastUpdated,i,int
- com.helger.jcodemodel.examples.plugin.csv.lastupdated.LastUpdated,s,string
+ LastUpdated,,,set,get,private,lastupdated
+ LastUpdated,i,int
+ LastUpdated,s,string
@@ -91,16 +93,17 @@
generate-source
+ com.helger.jcodemodel.examples.plugin.csv.redirect
- com.helger.jcodemodel.examples.plugin.csv.redirect.ABC,,,private,get,set
- com.helger.jcodemodel.examples.plugin.csv.redirect.ABC,a,int
- com.helger.jcodemodel.examples.plugin.csv.redirect.ABC,b,bool
- com.helger.jcodemodel.examples.plugin.csv.redirect.ABC,c,char
- com.helger.jcodemodel.examples.plugin.csv.redirect.Redirected,,,private,redirect
- com.helger.jcodemodel.examples.plugin.csv.redirect.Redirected,abc,ABC,set
- com.helger.jcodemodel.examples.plugin.csv.redirect.Redirected,jCatchBlock,com.helger.jcodemodel.JCatchBlock,set
+ ABC,,,private,get,set
+ ABC,a,int
+ ABC,b,bool
+ ABC,c,char
+ Redirected,,,private,redirect
+ Redirected,abc,ABC,set
+ Redirected,jCatchBlock,com.helger.jcodemodel.JCatchBlock,set
- com.helger.jcodemodel.examples.plugin.csv.redirect.ClassRedirect,e,java.lang.ArrayIndexOutOfBoundsException,set,redirect
+ ClassRedirect,e,java.lang.ArrayIndexOutOfBoundsException,set,redirect
@@ -110,39 +113,41 @@
generate-source
+ com.helger.jcodemodel.examples.plugin.csv
- p com.helger.jcodemodel.examples.plugin.csv.inherit,,,set,get,private
- com.helger.jcodemodel.examples.plugin.csv.inherit.Point,x,int
- com.helger.jcodemodel.examples.plugin.csv.inherit.Point,y,int
- com.helger.jcodemodel.examples.plugin.csv.inherit.City,,Point
- com.helger.jcodemodel.examples.plugin.csv.inherit.City,name,string
- com.helger.jcodemodel.examples.plugin.csv.inherit.City,zip,int
+ p inherit,,,set,get,private
+ inherit.Point,x,int
+ inherit.Point,y,int
+ inherit.City,,Point
+ inherit.City,name,string
+ inherit.City,zip,int
- com.helger.jcodemodel.examples.plugin.csv.inherit.Dated,,java.io.Serializable,lastupdated
- com.helger.jcodemodel.examples.plugin.csv.inherit.Dated,created,date, final, getter
+ inherit.Dated,,java.io.Serializable,lastupdated
+ inherit.Dated,created,date, final, getter
- final
+ immutable
generate-source
+ com.helger.jcodemodel.examples.plugin.csv.immutable
- p com.helger.jcodemodel.examples.plugin.csv.immutable,,,set,get,private,final
- com.helger.jcodemodel.examples.plugin.csv.immutable.Animal,dob,date
- com.helger.jcodemodel.examples.plugin.csv.immutable.Animal,id,long
- com.helger.jcodemodel.examples.plugin.csv.immutable.Animal,name,string,mutable
- com.helger.jcodemodel.examples.plugin.csv.immutable.Animal,parents,Animal[]
- com.helger.jcodemodel.examples.plugin.csv.immutable.Animal,children,Animal, list
- com.helger.jcodemodel.examples.plugin.csv.immutable.Dog,,Animal
- com.helger.jcodemodel.examples.plugin.csv.immutable.Dog,species,string
- com.helger.jcodemodel.examples.plugin.csv.immutable.Dog,master,string,mutable
+ p .,,,set,get,private,final
+ Animal,dob,date
+ Animal,id,long
+ Animal,name,string,mutable
+ Animal,parents,Animal[]
+ Animal,children,Animal list
+ Dog,,Animal
+ Dog,species,string
+ Dog,master,string,mutable
- com.helger.jcodemodel.examples.plugin.csv.immutable.WeirdReference,,java.lang.ref.WeakReference,get,set
- com.helger.jcodemodel.examples.plugin.csv.immutable.WeirdReference,created,date,final
- com.helger.jcodemodel.examples.plugin.csv.immutable.WeirdReference, visible , boolean, mutable
+ WeirdReference,,java.lang.ref.WeakReference,get,set
+ WeirdReference,created,date,final
+ WeirdReference, visible , boolean, mutable
diff --git a/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/ClassRedirect.java b/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/ClassRedirect.java
index dedcd3fc..d552838c 100644
--- a/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/ClassRedirect.java
+++ b/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/ClassRedirect.java
@@ -13,20 +13,8 @@ public void setE(ArrayIndexOutOfBoundsException e) {
this.e = e;
}
- public void printStackTrace(PrintWriter arg0) {
- e.printStackTrace(arg0);
- }
-
- public void printStackTrace() {
- e.printStackTrace();
- }
-
- public void printStackTrace(PrintStream arg0) {
- e.printStackTrace(arg0);
- }
-
- public StackTraceElement[] getStackTrace() {
- return e.getStackTrace();
+ public void addSuppressed(Throwable arg0) {
+ e.addSuppressed(arg0);
}
public Throwable fillInStackTrace() {
@@ -37,27 +25,39 @@ public Throwable getCause() {
return e.getCause();
}
- public Throwable initCause(Throwable arg0) {
- return e.initCause(arg0);
+ public String getLocalizedMessage() {
+ return e.getLocalizedMessage();
}
public String getMessage() {
return e.getMessage();
}
+ public StackTraceElement[] getStackTrace() {
+ return e.getStackTrace();
+ }
+
public Throwable[] getSuppressed() {
return e.getSuppressed();
}
- public String getLocalizedMessage() {
- return e.getLocalizedMessage();
+ public Throwable initCause(Throwable arg0) {
+ return e.initCause(arg0);
}
- public void setStackTrace(StackTraceElement[] arg0) {
- e.setStackTrace(arg0);
+ public void printStackTrace() {
+ e.printStackTrace();
}
- public void addSuppressed(Throwable arg0) {
- e.addSuppressed(arg0);
+ public void printStackTrace(PrintStream arg0) {
+ e.printStackTrace(arg0);
+ }
+
+ public void printStackTrace(PrintWriter arg0) {
+ e.printStackTrace(arg0);
+ }
+
+ public void setStackTrace(StackTraceElement[] arg0) {
+ e.setStackTrace(arg0);
}
}
diff --git a/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/Redirected.java b/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/Redirected.java
index e054527c..effab5c9 100644
--- a/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/Redirected.java
+++ b/examples/plugins/csv/src/generated/java/com/helger/jcodemodel/examples/plugin/csv/redirect/Redirected.java
@@ -48,10 +48,18 @@ public char getC() {
return abc.getC();
}
+ public JBlock body() {
+ return jCatchBlock.body();
+ }
+
public AbstractJClass exception() {
return jCatchBlock.exception();
}
+ public void generate(IJFormatter arg0) {
+ jCatchBlock.generate(arg0);
+ }
+
public JVar param() {
return jCatchBlock.param();
}
@@ -59,12 +67,4 @@ public JVar param() {
public JVar param(String arg0) {
return jCatchBlock.param(arg0);
}
-
- public JBlock body() {
- return jCatchBlock.body();
- }
-
- public void generate(IJFormatter arg0) {
- jCatchBlock.generate(arg0);
- }
}
diff --git a/examples/plugins/helloworld/pom.xml b/examples/plugins/helloworld/pom.xml
index b1d8e23f..bba1be7f 100644
--- a/examples/plugins/helloworld/pom.xml
+++ b/examples/plugins/helloworld/pom.xml
@@ -9,7 +9,7 @@
com.helger.jcodemodel.examples.plugin
helloworld
- JCodeModel HelloWorld Example
+ JCodeModel Example Generator HelloWorld
demonstrates and validates the usage of the jcodemodel plugin alongside the helloworld generator
diff --git a/examples/plugins/json/pom.xml b/examples/plugins/json/pom.xml
new file mode 100644
index 00000000..321cbac9
--- /dev/null
+++ b/examples/plugins/json/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+
+ com.helger.jcodemodel.examples
+ plugins
+ 4.0.1-SNAPSHOT
+
+ com.helger.jcodemodel.examples.plugin
+ json
+ JCodeModel Example Generator JSON
+ demonstrates and validates the usage of the jcodemodel plugin alongside the Json generator
+
+
+
+
+ com.helger.jcodemodel
+ jcodemodel-maven-plugin
+
+
+ basic
+
+ generate-source
+
+
+ com.helger.jcodemodel.examples.plugin.json.basic
+
+{
+ "package":[
+ "get",
+ "set"
+ ],
+ "A":{
+ "var":{
+ "a":{
+ "class":"int",
+ "options":[
+ "private",
+ "final"
+ ]
+ }
+ }
+ },
+ "B":{
+ "extends":"A",
+ "var":{
+ "b":{
+ "class":"int",
+ "options":[
+ "private"
+ ]
+ }
+ }
+ },
+ "C":{
+ "var":{
+ "redirect":{
+ "class":"B",
+ "options":[
+ "private",
+ "redirect"
+ ]
+ }
+ }
+ }
+}
+
+
+
+
+
+
+ com.helger.jcodemodel.plugin.generators
+ json
+ ${project.version}
+
+
+
+
+ maven-clean-plugin
+
+
+
+ src/generated/java
+
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.6.1
+
+
+ add-source
+ generate-sources
+
+ add-source
+
+
+
+ src/generated/java
+
+
+
+
+
+
+
+
+
+
+
+ com.helger.jcodemodel.examples.plugin
+ helloworld
+ ${project.version}
+ true
+
+
+
+ junit
+ junit
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ test
+
+
+
diff --git a/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/A.java b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/A.java
new file mode 100644
index 00000000..e23505a8
--- /dev/null
+++ b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/A.java
@@ -0,0 +1,16 @@
+package com.helger.jcodemodel.examples.plugin.json.basic;
+
+public class A {
+ private final int a;
+
+ public A(int a) {
+ this.a = a;
+ }
+
+ /**
+ * @return the {@link #a}
+ */
+ public int getA() {
+ return a;
+ }
+}
diff --git a/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/B.java b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/B.java
new file mode 100644
index 00000000..a62ff3c2
--- /dev/null
+++ b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/B.java
@@ -0,0 +1,25 @@
+package com.helger.jcodemodel.examples.plugin.json.basic;
+
+public class B
+ extends A
+{
+ private int b;
+
+ public B(int a) {
+ super(a);
+ }
+
+ /**
+ * set the {@link #b}
+ */
+ public void setB(int b) {
+ this.b = b;
+ }
+
+ /**
+ * @return the {@link #b}
+ */
+ public int getB() {
+ return b;
+ }
+}
diff --git a/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/C.java b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/C.java
new file mode 100644
index 00000000..34353c50
--- /dev/null
+++ b/examples/plugins/json/src/generated/java/com/helger/jcodemodel/examples/plugin/json/basic/C.java
@@ -0,0 +1,27 @@
+package com.helger.jcodemodel.examples.plugin.json.basic;
+
+public class C {
+ private B redirect;
+
+ /**
+ * set the {@link #redirect}
+ */
+ public void setRedirect(B redirect) {
+ this.redirect = redirect;
+ }
+
+ /**
+ * @return the {@link #redirect}
+ */
+ public B getRedirect() {
+ return redirect;
+ }
+
+ public void setB(int b) {
+ redirect.setB(b);
+ }
+
+ public int getB() {
+ return redirect.getB();
+ }
+}
diff --git a/examples/plugins/pom.xml b/examples/plugins/pom.xml
index 843eb99d..1a4b2fee 100644
--- a/examples/plugins/pom.xml
+++ b/examples/plugins/pom.xml
@@ -7,14 +7,16 @@
examples
4.0.1-SNAPSHOT
- com.helger.jcodemodel.examples
+ com.helger.jcodemodel.examples
plugins
pom
- JCodeModel Plugins Examples Pom
+ JCodeModel Examples Plugins Pom
- helloworld
- csv
+ csv
+ helloworld
+ json
+ yaml
POM module for all the plugin examples
diff --git a/examples/plugins/yaml/pom.xml b/examples/plugins/yaml/pom.xml
new file mode 100644
index 00000000..bd2b3357
--- /dev/null
+++ b/examples/plugins/yaml/pom.xml
@@ -0,0 +1,109 @@
+
+
+ 4.0.0
+
+ com.helger.jcodemodel.examples
+ plugins
+ 4.0.1-SNAPSHOT
+
+ com.helger.jcodemodel.examples.plugin
+ yaml
+ JCodeModel Example Generator YAML
+ demonstrates and validates the usage of the jcodemodel plugin alongside the YAML generator
+
+
+
+
+ com.helger.jcodemodel
+ jcodemodel-maven-plugin
+
+
+ basic
+
+ generate-source
+
+
+ sourceBasic.yaml
+
+
+
+ concrete
+
+ generate-source
+
+
+ sourceConcrete.yaml
+ com.helger.jcodemodel.examples.plugin.yaml.concrete
+
+ LinkedList
+ LinkedHashMap
+ LinkedHashSet
+
+
+
+
+ references
+
+ generate-source
+
+
+ com.helger.jcodemodel.examples.plugin.yaml.references
+ sourceReferences.yaml
+
+
+
+
+
+ com.helger.jcodemodel.plugin.generators
+ yaml
+ ${project.version}
+
+
+
+
+ maven-clean-plugin
+
+
+
+ src/generated/java
+
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 3.6.1
+
+
+ add-source
+ generate-sources
+
+ add-source
+
+
+
+ src/generated/java
+
+
+
+
+
+
+
+
+
+
+ junit
+ junit
+ test
+
+
+ org.slf4j
+ slf4j-simple
+ test
+
+
+
diff --git a/examples/plugins/yaml/sourceBasic.yaml b/examples/plugins/yaml/sourceBasic.yaml
new file mode 100644
index 00000000..41a134c0
--- /dev/null
+++ b/examples/plugins/yaml/sourceBasic.yaml
@@ -0,0 +1,52 @@
+# yaml is stored in file as the pom tabs can be changed by git, which is not allowed by yaml format.
+
+com.helger.jcodemodel.examples.plugin.yaml.basic:
+ package: # we add getters and setters on all field of the package
+ - get
+ - set
+
+ A: # class A with an int. It is final so no setter actually created, and constructor added
+ var:
+ uuid:
+ class: long
+ options:
+ - private
+ - final
+
+ B: # extends A so add a constructor
+ extends: A
+ var:
+ nbChildren:
+ class: int
+ options:
+ - private
+ distances: # a matrix of doubles
+ class: double [] []
+ options:
+ - private
+
+ C:
+ var:
+ redir: # all public methods exposed in B are exposed in that class and redirect to the field
+ class: B
+ options:
+ - private
+ - redirect
+ list:
+ class: obj list list set
+
+ Empty1: # empty class. Needs the class field with at least one empty value
+ class:
+ -
+
+ Empty2: # empty class. is a class because extends is present
+ extends: ""
+
+ ListSon:
+ extends: "object list list"
+ class:
+ - noget
+ - noset
+ var:
+ listf:
+ class: "object list list"
diff --git a/examples/plugins/yaml/sourceConcrete.yaml b/examples/plugins/yaml/sourceConcrete.yaml
new file mode 100644
index 00000000..5643cf98
--- /dev/null
+++ b/examples/plugins/yaml/sourceConcrete.yaml
@@ -0,0 +1,14 @@
+# yaml is stored in file as the pom tabs can be changed by git, which is not allowed by yaml format.
+
+package: # we add getters and setters on all field of the package
+ - get
+ - set
+
+ConcreteList:
+ extends: "object list list"
+
+ConcreteMap:
+ extends: "string map"
+
+ConcreteSet:
+ extends: "object list set"
diff --git a/examples/plugins/yaml/sourceReferences.yaml b/examples/plugins/yaml/sourceReferences.yaml
new file mode 100644
index 00000000..a6f3c986
--- /dev/null
+++ b/examples/plugins/yaml/sourceReferences.yaml
@@ -0,0 +1,13 @@
+# yaml is stored in file as the pom tabs can be changed by git, which is not allowed by yaml format.
+
+package: # we add getters and setters on all field of the package
+ - get
+ - set
+ - private
+
+WeakRefTest:
+ var:
+ hash:
+ class: string
+ options:
+ - weakref
\ No newline at end of file
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/A.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/A.java
new file mode 100644
index 00000000..9e427c9a
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/A.java
@@ -0,0 +1,16 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+public class A {
+ private final long uuid;
+
+ public A(long uuid) {
+ this.uuid = uuid;
+ }
+
+ /**
+ * @return the {@link #uuid}
+ */
+ public long getUuid() {
+ return uuid;
+ }
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/B.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/B.java
new file mode 100644
index 00000000..c9499404
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/B.java
@@ -0,0 +1,40 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+public class B
+ extends A
+{
+ private int nbChildren;
+ private double[][] distances;
+
+ public B(long uuid) {
+ super(uuid);
+ }
+
+ /**
+ * set the {@link #nbChildren}
+ */
+ public void setNbChildren(int nbChildren) {
+ this.nbChildren = nbChildren;
+ }
+
+ /**
+ * @return the {@link #nbChildren}
+ */
+ public int getNbChildren() {
+ return nbChildren;
+ }
+
+ /**
+ * set the {@link #distances}
+ */
+ public void setDistances(double[][] distances) {
+ this.distances = distances;
+ }
+
+ /**
+ * @return the {@link #distances}
+ */
+ public double[][] getDistances() {
+ return distances;
+ }
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/C.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/C.java
new file mode 100644
index 00000000..eefca815
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/C.java
@@ -0,0 +1,53 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+import java.util.List;
+import java.util.Set;
+
+public class C {
+ private B redir;
+ public Set>> list;
+
+ /**
+ * set the {@link #redir}
+ */
+ public void setRedir(B redir) {
+ this.redir = redir;
+ }
+
+ /**
+ * @return the {@link #redir}
+ */
+ public B getRedir() {
+ return redir;
+ }
+
+ /**
+ * set the {@link #list}
+ */
+ public void setList(Set>> list) {
+ this.list = list;
+ }
+
+ /**
+ * @return the {@link #list}
+ */
+ public Set>> getList() {
+ return list;
+ }
+
+ public void setNbChildren(int nbChildren) {
+ redir.setNbChildren(nbChildren);
+ }
+
+ public int getNbChildren() {
+ return redir.getNbChildren();
+ }
+
+ public void setDistances(double[][] distances) {
+ redir.setDistances(distances);
+ }
+
+ public double[][] getDistances() {
+ return redir.getDistances();
+ }
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty1.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty1.java
new file mode 100644
index 00000000..acf6b3d8
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty1.java
@@ -0,0 +1,4 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+public class Empty1 {
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty2.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty2.java
new file mode 100644
index 00000000..482a15e1
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/Empty2.java
@@ -0,0 +1,4 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+public class Empty2 {
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/ListSon.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/ListSon.java
new file mode 100644
index 00000000..828bdce5
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/basic/ListSon.java
@@ -0,0 +1,10 @@
+package com.helger.jcodemodel.examples.plugin.yaml.basic;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ListSon
+ extends ArrayList>
+{
+ public List> listf;
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteList.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteList.java
new file mode 100644
index 00000000..92ed315e
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteList.java
@@ -0,0 +1,8 @@
+package com.helger.jcodemodel.examples.plugin.yaml.concrete;
+
+import java.util.LinkedList;
+
+public class ConcreteList
+ extends LinkedList>
+{
+}
diff --git a/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteMap.java b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteMap.java
new file mode 100644
index 00000000..cb9c71ea
--- /dev/null
+++ b/examples/plugins/yaml/src/generated/java/com/helger/jcodemodel/examples/plugin/yaml/concrete/ConcreteMap.java
@@ -0,0 +1,8 @@
+package com.helger.jcodemodel.examples.plugin.yaml.concrete;
+
+import java.util.LinkedHashMap;
+
+public class ConcreteMap
+ extends LinkedHashMap