66
77import static graphql .language .NodeUtil .directivesByName ;
88
9- public class EnumTypeDefinition extends AbstractNode implements TypeDefinition {
9+ public class EnumTypeDefinition extends AbstractNode < EnumTypeDefinition > implements TypeDefinition < EnumTypeDefinition > {
1010 private final String name ;
1111 private final List <EnumValueDefinition > enumValueDefinitions ;
1212 private final List <Directive > directives ;
@@ -16,9 +16,13 @@ public EnumTypeDefinition(String name) {
1616 }
1717
1818 public EnumTypeDefinition (String name , List <Directive > directives ) {
19+ this (name , new ArrayList <>(), directives );
20+ }
21+
22+ public EnumTypeDefinition (String name , List <EnumValueDefinition > enumValueDefinitions , List <Directive > directives ) {
1923 this .name = name ;
2024 this .directives = (null == directives ) ? new ArrayList <>() : directives ;
21- this .enumValueDefinitions = new ArrayList <>() ;
25+ this .enumValueDefinitions = enumValueDefinitions ;
2226 }
2327
2428 public List <EnumValueDefinition > getEnumValueDefinitions () {
@@ -58,15 +62,16 @@ public boolean isEqualTo(Node o) {
5862
5963 EnumTypeDefinition that = (EnumTypeDefinition ) o ;
6064
61- if (null == name ) {
62- if (null != that .name ) return false ;
63- } else if (!name .equals (that .name )) {
64- return false ;
65- }
66- return true ;
67-
65+ return isEqualTo (this .name , that .name );
6866 }
6967
68+ @ Override
69+ public EnumTypeDefinition deepCopy () {
70+ return new EnumTypeDefinition (name ,
71+ deepCopy (enumValueDefinitions ),
72+ deepCopy (directives )
73+ );
74+ }
7075
7176 @ Override
7277 public String toString () {
0 commit comments