@Override public String resolve(JavaType<?> source, String type) { if (source instanceof Importer) { ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); Importer<?> importer = (Importer<?>) source; for (Import importDeclaration : importer.getImports()) { if (importDeclaration.isWildcard()) { String resolvedClass = importDeclaration.getQualifiedName() + "." + type; try { contextClassLoader.loadClass(resolvedClass); return resolvedClass; } catch (ClassNotFoundException e) { // Class doesn't exist } } } } return type; }
@Override public String getQualifiedName() { String result = type.toString(); if (origin instanceof Importer<?>) { return ((Importer<?>) origin).resolveType(result); } return result; }
private static void sortImports(Importer<JavaClassSource> importer) { List<Import> imports = importer.getImports(); importer.removeImport(name); importer.addImport(name);
@Override public boolean isType(final Class<?> type) { final String qualifiedName = getQualifiedName(); if (Strings.areEqual(type.getName(), qualifiedName)) { return true; } final String simpleName = type.getSimpleName(); if (isPrimitive() && type.isPrimitive() && simpleName.equals(getName())) { return true; } if (getOrigin() instanceof Importer<?> && Strings.areEqual(simpleName, qualifiedName)) { return !((Importer<?>) getOrigin()).requiresImport(type); } return false; }
@Override public boolean isType(final Class<?> type) { final String simpleName = type.getSimpleName(); if(!getName().contains(simpleName)) { return false; } if (isPrimitive() && type.isPrimitive() && simpleName.equals(getName())) { return true; } final String qualifiedName = getQualifiedName(); if (Strings.areEqual(type.getName(), qualifiedName)) { return true; } if (getOrigin() instanceof Importer<?> && Strings.areEqual(simpleName, qualifiedName)) { return !((Importer<?>) getOrigin()).requiresImport(type); } return false; }
@Override public String resolve(JavaType<?> source, String type) { if (source instanceof Importer) { ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); Importer<?> importer = (Importer<?>) source; for (Import importDeclaration : importer.getImports()) { if (importDeclaration.isWildcard()) { String resolvedClass = importDeclaration.getQualifiedName() + "." + type; try { contextClassLoader.loadClass(resolvedClass); return resolvedClass; } catch (ClassNotFoundException e) { // Class doesn't exist } } } } return type; }
@Override public boolean isType(final Class<?> type) { final String simpleName = type.getSimpleName(); if(!getName().contains(simpleName)) { return false; } if (isPrimitive() && type.isPrimitive() && simpleName.equals(getName())) { return true; } final String qualifiedName = getQualifiedName(); if (Strings.areEqual(type.getName(), qualifiedName)) { return true; } if (getOrigin() instanceof Importer<?> && Strings.areEqual(simpleName, qualifiedName)) { return !((Importer<?>) getOrigin()).requiresImport(type); } return false; }
@Override public String getQualifiedName() { String result = type.toString(); if (origin instanceof Importer<?>) { return ((Importer<?>) origin).resolveType(result); } return result; }
@Override public String resolve(JavaType<?> source, String type) { GraphContext graphContext = getContext(); if (graphContext == null) { return type; } Importer<?> importer = (Importer<?>) source; List<String> wildcardImports = new ArrayList<>(); for (Import importDeclaration : importer.getImports()) { if (importDeclaration.isWildcard()) { wildcardImports.add(importDeclaration.getQualifiedName()); } } return resolve(wildcardImports, type); }
@Override public boolean isType(final String name) { if (Strings.areEqual(name, getQualifiedName())) { return true; } if (Types.areEquivalent(name, getQualifiedName())) { if (!Types.isQualified(name)) { return true; } return getOrigin() instanceof Importer<?> && !((Importer<?>) getOrigin()).requiresImport(name); } return false; }
@Override public String getQualifiedName() { String result = type.toString(); if (origin instanceof Importer<?>) { return ((Importer<?>) origin).resolveType(result); } return result; }
@Override public String resolve(JavaType<?> source, String type) { GraphContext graphContext = getContext(); if (graphContext == null) { return type; } Importer<?> importer = (Importer<?>) source; List<String> wildcardImports = new ArrayList<>(); for (Import importDeclaration : importer.getImports()) { if (importDeclaration.isWildcard()) { wildcardImports.add(importDeclaration.getQualifiedName()); } } return resolve(wildcardImports, type); }
@Override public boolean isType(final String name) { if (Strings.areEqual(name, getQualifiedName())) { return true; } if (Types.areEquivalent(name, getQualifiedName())) { if (!Types.isQualified(name)) { return true; } return getOrigin() instanceof Importer<?> && !((Importer<?>) getOrigin()).requiresImport(name); } return false; }
@Override public String getQualifiedNameWithGenerics() { String result = type.toString(); if (origin instanceof Importer<?>) { return Types.rebuildGenericNameWithArrays(((Importer<?>) origin).resolveType(result), this); } return result; }
for (Import importDeclaration : importer.getImports())
@Override public boolean isType(final String name) { if (Strings.areEqual(name, getQualifiedName())) { return true; } if (Types.areEquivalent(name, getQualifiedName())) { if (!Types.isQualified(name)) { return true; } return getOrigin() instanceof Importer<?> && !((Importer<?>) getOrigin()).requiresImport(name); } return false; }
@Override public String getQualifiedNameWithGenerics() { String result = type.toString(); if (origin instanceof Importer<?>) { return Types.rebuildGenericNameWithArrays(((Importer<?>) origin).resolveType(result), this); } return result; }
if (javaSource instanceof Importer) List<Import> imports = ((Importer) javaSource).getImports(); for (Import i : imports)
if (javaSource instanceof Importer) List<Import> imports = ((Importer) javaSource).getImports(); for (Import i : imports)