override void doGenerate(Resource resource, IFileSystemAccess fsa) {
for (model : resource.contents.filter(typeof(Model))) {
for (penum : model.penums) {
fsa.generateFile(penum.name + ".java", penum.generatePEnum)
}
}
}
def generatePEnum(PEnum penum) {'''
public enum «penum.name» {
«FOR element : penum.elements»
«element.name»("«element.text»"),
«ENDFOR»
;
private String text;
private «penum.name»(String text) {
this.text = text;
}
public String getText() {
return text;
}
}
'''}
def text(PEnumElement element) {
if (element.alternateText != null) {
element.alternateText
} else {
element.name.toLowerCase.toFirstUpper.replace("_", " ")
}
}