@Override public void execute(PathResolver pathResolver) throws Exception { CompilationUnit cu = new CompilationUnit(); String basePackage = BasePackageDetector.detect(); cu.setPackage(new PackageDeclaration(ASTHelper.createNameExpr(basePackage + "form"))); ClassOrInterfaceDeclaration formClass = new ClassOrInterfaceDeclaration( ModifierSet.PUBLIC, false, CaseConverter.pascalCase(tableName) + "Form"); ASTHelper.addTypeDeclaration(cu, formClass); formClass.setExtends(Collections.singletonList( new ClassOrInterfaceType("FormBase") )); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, fieldDeclaration(f))); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, getterDeclaration(f))); fields.stream() .filter(f -> !f.isId()) .forEach(f -> ASTHelper.addMember(formClass, setterDeclaration(f))); try (Writer writer = new OutputStreamWriter(pathResolver.destinationAsStream(destination))) { writer.write(cu.toString()); } }
ClassOrInterfaceDeclaration migrationClass = new ClassOrInterfaceDeclaration( ModifierSet.PUBLIC, false, "V" + version + "__Create" + CaseConverter.pascalCase(tableName));
@Override public TypeDeclaration<?> getTypeDeclaration(final TypeData.Type type, final String suffix) { final ClassOrInterfaceDeclaration decl = new ClassOrInterfaceDeclaration(); decl.setInterface(false); decl.setPublic(true); String _name = type.getName(); String _plus = (_name + suffix); decl.setName(_plus); boolean _isEnum = this.isEnum(type); if (_isEnum) { this.requireTypes(EnumOverlay.class); StringConcatenation _builder = new StringConcatenation(); _builder.append("EnumOverlay<"); String _name_1 = type.getName(); _builder.append(_name_1); _builder.append(">"); decl.addExtendedType(_builder.toString()); } else { decl.addExtendedType(this.getSuperType(type)); decl.addImplementedType(type.getName()); } return decl; }
public static ClassOrInterfaceDeclaration mergeType(ClassOrInterfaceDeclaration one, ClassOrInterfaceDeclaration two) { if (isAllNull(one, two)) return null; ClassOrInterfaceDeclaration coid = null; if (isAllNotNull(one, two)) { coid = new ClassOrInterfaceDeclaration(); coid.setName(one.getName()); coid.setJavaDoc(mergeSelective(one.getJavaDoc(), two.getJavaDoc())); coid.setComment(mergeSelective(one.getComment(), two.getComment())); coid.setAnnotations(mergeListNoDuplicate(one.getAnnotations(), two.getAnnotations())); coid.setModifiers(mergeModifiers(one.getModifiers(), two.getModifiers())); coid.setExtends(mergeListNoDuplicate(one.getExtends(), two.getExtends())); coid.setImplements(mergeListNoDuplicate(one.getImplements(), two.getImplements())); coid.setTypeParameters(mergeSelective(one.getTypeParameters(), two.getTypeParameters())); coid.setInterface(one.isInterface()); coid.setMembers(mergeBodies(one.getMembers(), two.getMembers())); LOG.info("merge ClassOrInterfaceDeclaration --> {}", coid.getName()); } else { coid = findFirstNotNull(one, two); LOG.info("add ClassOrInterfaceDeclaration --> {}", coid.getName()); } return coid; }
boolean _isEmpty = type.getEnumValues().isEmpty(); if (_isEmpty) { _xifexpression = new ClassOrInterfaceDeclaration(); } else { _xifexpression = new EnumDeclaration();
@Override public ClassOrInterfaceDeclaration doMerge(ClassOrInterfaceDeclaration first, ClassOrInterfaceDeclaration second) { ClassOrInterfaceDeclaration declaration = new ClassOrInterfaceDeclaration(); declaration.setInterface(first.isInterface()); declaration.setName(first.getName()); declaration.setModifiers(mergeModifiers(first.getModifiers(), second.getModifiers())); declaration.setJavaDoc(mergeSingle(first.getJavaDoc(), second.getJavaDoc())); declaration.setTypeParameters(mergeCollections(first.getTypeParameters(), second.getTypeParameters())); declaration.setImplements(mergeCollections(first.getImplements(), second.getImplements())); declaration.setExtends(mergeCollections(first.getExtends(), second.getExtends())); declaration.setAnnotations(mergeCollections(first.getAnnotations(), second.getAnnotations())); declaration.setMembers(mergeCollections(first.getMembers(), second.getMembers())); return declaration; }