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; } };
.withName(typeDef.getName() + "Fluent") .withPackageName(typeDef.getPackageName()) .endDefinition()
.withName(typeDef.getName() + "FluentImpl") .withPackageName(typeDef.getPackageName()) .endDefinition()
.withNewDefinition() .withPackageName("javax.validation") .withName("Validator") .endDefinition() .build();
String packageName = PACKAGENAME.apply(nameExpr); exceptions.add(new ClassRefBuilder().withNewDefinition() .withName(name) .withPackageName(packageName) .endDefinition().build());
.withNewDefinition() .withPackageName(boundPackage) .withName(boundName) .endDefinition() .withArguments(arguments)
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(); } };