return new ClassRefBuilder() .withNewDefinition() .withPackageName(boundPackage) .withName(boundName) .endDefinition() .withArguments(arguments) .build();
public Set<ClassRef> apply(Node node) { Set<ClassRef> imports = new LinkedHashSet<ClassRef>(); if (node instanceof NamedNode) { String name = ((NamedNode)node).getName(); Node current = node; while (!(current instanceof CompilationUnit)) { current = current.getParentNode(); } CompilationUnit compilationUnit = (CompilationUnit) current; for (ImportDeclaration importDecl : compilationUnit.getImports()) { String className = null; String packageName = null; NameExpr importExpr = importDecl.getName(); if (importExpr instanceof QualifiedNameExpr) { QualifiedNameExpr qualifiedNameExpr = (QualifiedNameExpr) importExpr; className = qualifiedNameExpr.getName(); packageName = qualifiedNameExpr.getQualifier().toString(); } else if (importDecl.getName().getName().endsWith(SEPARATOR + name)) { String importName = importDecl.getName().getName(); packageName = importName.substring(0, importName.length() - name.length() -1); } if (className != null && !className.isEmpty()) { imports.add(new ClassRefBuilder().withNewDefinition().withName(className).withPackageName(packageName).and().build()); } } } return imports; } };
ClassRef validatorRef = new ClassRefBuilder() .withNewDefinition() .withPackageName("javax.validation") .withName("Validator") .endDefinition() .build();
String packageName = PACKAGENAME.apply(nameExpr); exceptions.add(new ClassRefBuilder().withNewDefinition() .withName(name) .withPackageName(packageName) .endDefinition().build());
.withName(typeDef.getName() + "FluentImpl") .withPackageName(typeDef.getPackageName()) .endDefinition() .withArguments(superClassParameters) .build();
.withName(typeDef.getName() + "Fluent") .withPackageName(typeDef.getPackageName()) .endDefinition() .withArguments(superClassParameters) .build();
private void visitClassRefBuilder(ClassRefBuilder builder) { builder.withFullyQualifiedName(builder.getFullyQualifiedName().replace(target, replacement)); if (builder.getDefinition() != null && builder.getDefinition().getPackageName() != null && builder.getDefinition().getPackageName().equals(target)) { builder.editDefinition().withPackageName(replacement).endDefinition(); } List<TypeRef> updatedArguments = new ArrayList<TypeRef>(); for (TypeRef arg : builder.getArguments()) { if (arg instanceof ClassRef && ((ClassRef) arg).getDefinition().getPackageName().equals(target)) { updatedArguments.add(new ClassRefBuilder((ClassRef) arg).editDefinition().withPackageName(replacement).endDefinition().build()); } else { updatedArguments.add(arg); } } builder.withArguments(updatedArguments); }
public AnnotationRef apply(AnnotationExpr annotation) { String name = annotation.getName().getName(); String packageName = PACKAGENAME.apply(annotation); return new AnnotationRefBuilder() .withNewClassRef() .withNewDefinition() .withName(name) .withPackageName(packageName) .endDefinition() .endClassRef() .build(); } };
private void visitPropertyBuilder(PropertyBuilder builder) { if (builder.getTypeRef() instanceof ClassRef) { ClassRefBuilder classRefBuilder = new ClassRefBuilder((ClassRef) builder.getTypeRef()); if (classRefBuilder.getDefinition() != null && classRefBuilder.getDefinition().getPackageName() != null && classRefBuilder.getDefinition().getPackageName().equals(target)) { classRefBuilder.editDefinition().withPackageName(replacement).endDefinition(); } builder.withTypeRef(classRefBuilder.accept(this).build()); } }
private void visitMethodBuilder(MethodBuilder builder) { if (builder.getReturnType() instanceof ClassRef) { ClassRefBuilder classRefBuilder = new ClassRefBuilder((ClassRef) builder.getReturnType()); if (classRefBuilder.getDefinition() != null && classRefBuilder.getDefinition().getPackageName() != null && classRefBuilder.getDefinition().getPackageName().equals(target)) { classRefBuilder.editDefinition().withPackageName(replacement).endDefinition(); } builder.withReturnType(classRefBuilder.accept(this).build()); } }