File tree Expand file tree Collapse file tree 11 files changed +81
-16
lines changed
src/main/java/com/speedment/codegen/lang/interfaces Expand file tree Collapse file tree 11 files changed +81
-16
lines changed Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .AnnotationUsage ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasAnnotationUsage<T extends HasAnnotationUsage<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final AnnotationUsage annotation ) {
31- getAnnotations ().add (annotation );
32+ getAnnotations ().add (annotation .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllAnnotations (final Collection <? extends AnnotationUsage > annotations ) {
38+ annotations .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 2828public interface HasClasses <T extends HasClasses <T >> {
2929
3030 @ SuppressWarnings ("unchecked" )
31- default T add (ClassOrInterface <?> member ) {
32- getClasses ().add (member );
31+ default T add (final ClassOrInterface <?> member ) {
32+ getClasses ().add (member . copy () );
3333 return (T ) this ;
3434 }
3535
3636 @ SuppressWarnings ("unchecked" )
37- default T addAllClasses (Collection <? extends ClassOrInterface <?>> members ) {
38- getClasses (). addAll ( members );
37+ default T addAllClasses (final Collection <? extends ClassOrInterface <?>> members ) {
38+ members . forEach ( this :: add );
3939 return (T ) this ;
4040 }
4141
Original file line number Diff line number Diff line change 1616 */
1717package com .speedment .codegen .lang .interfaces ;
1818
19+ import java .util .Collection ;
1920import java .util .List ;
2021
2122/**
2627public interface HasCode <T extends HasCode <T >> {
2728
2829 @ SuppressWarnings ("unchecked" )
29- default T add (String row ) {
30+ default T add (final String row ) {
3031 getCode ().add (row );
3132 return (T ) this ;
3233 }
3334
35+ @ SuppressWarnings ("unchecked" )
36+ default T addAllRows (final Collection <String > rows ) {
37+ rows .forEach (this ::add );
38+ return (T ) this ;
39+ }
40+
3441 List <String > getCode ();
3542}
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Constructor ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasConstructors<T extends HasConstructors<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final Constructor constr ) {
31- getConstructors ().add (constr );
32+ getConstructors ().add (constr .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllConstructors (final Collection <Constructor > constr ) {
38+ constr .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 1919import com .speedment .codegen .lang .models .Field ;
2020import java .util .Collection ;
2121import java .util .List ;
22+ import java .util .stream .Stream ;
2223
2324/**
2425 *
@@ -29,13 +30,13 @@ public interface HasFields<T extends HasFields<T>> {
2930
3031 @ SuppressWarnings ("unchecked" )
3132 default T add (final Field field ) {
32- getFields ().add (field );
33+ getFields ().add (field . copy () );
3334 return (T ) this ;
3435 }
3536
3637 @ SuppressWarnings ("unchecked" )
3738 default T addAllFields (final Collection <? extends Field > fields ) {
38- getFields (). addAll ( fields );
39+ fields . forEach ( this :: add );
3940 return (T ) this ;
4041 }
4142
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Generic ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasGenerics<T extends HasGenerics<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final Generic generic ) {
31- getGenerics ().add (generic );
32+ getGenerics ().add (generic .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllGenerics (final Collection <? extends Generic > generics ) {
38+ generics .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Type ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasImplements<T extends HasImplements<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final Type interf ) {
31- getInterfaces ().add (interf );
32+ getInterfaces ().add (interf .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllImplements (final Collection <? extends Type > interf ) {
38+ interf .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Import ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasImports<T extends HasImports<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final Import dep ) {
31- getImports ().add (dep );
32+ getImports ().add (dep .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllImports (final Collection <? extends Import > imports ) {
38+ imports .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Initalizer ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
2728public interface HasInitalizers <T extends HasInitalizers <T >> {
2829
2930 @ SuppressWarnings ("unchecked" )
30- default T add (final Initalizer dep ) {
31- getInitalizers ().add (dep );
31+ default T add (final Initalizer initalizer ) {
32+ getInitalizers ().add (initalizer .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllInitalizers (final Collection <? extends Initalizer > initalizers ) {
38+ initalizers .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
Original file line number Diff line number Diff line change 1717package com .speedment .codegen .lang .interfaces ;
1818
1919import com .speedment .codegen .lang .models .Method ;
20+ import java .util .Collection ;
2021import java .util .List ;
2122
2223/**
@@ -28,7 +29,13 @@ public interface HasMethods<T extends HasMethods<T>> {
2829
2930 @ SuppressWarnings ("unchecked" )
3031 default T add (final Method meth ) {
31- getMethods ().add (meth );
32+ getMethods ().add (meth .copy ());
33+ return (T ) this ;
34+ }
35+
36+ @ SuppressWarnings ("unchecked" )
37+ default T addAllMethods (final Collection <? extends Method > methods ) {
38+ methods .forEach (this ::add );
3239 return (T ) this ;
3340 }
3441
You can’t perform that action at this time.
0 commit comments