public static String getGenericsTypeParameter(final String type) { if (isGeneric(type)) { return stripArray(type).replaceFirst("^[^<]*<(.*?)>$", "$1"); } return ""; }
public static String getGenericsTypeParameter(final String type) { if (isGeneric(type)) { return stripArray(type).replaceFirst("^[^<]*<(.*?)>$", "$1"); } return ""; }
public static <O extends JavaType<O>> String rebuildGenericNameWithArrays(String resolvedTypeName, Type<O> type) { StringBuilder resolvedType = new StringBuilder(stripArray(resolvedTypeName)); resolvedType.append(getGenerics(type.toString())); for (int j = 0; j < getArrayDimension(type.getName()); j++) { resolvedType.append("[]"); } return resolvedType.toString(); }
public static <O extends JavaType<O>> String rebuildGenericNameWithArrays(String resolvedTypeName, Type<O> type) { StringBuilder resolvedType = new StringBuilder(stripArray(resolvedTypeName)); resolvedType.append(getGenerics(type.toString())); for (int j = 0; j < getArrayDimension(type.getName()); j++) { resolvedType.append("[]"); } return resolvedType.toString(); }
public static String fixArray(final String type, boolean stripGenerics) { final String componentType; final int arrayDimensions; if (isArray(type)) { arrayDimensions = getArrayDimension(type); componentType = stripArray(type); } else { arrayDimensions = 0; componentType = type; } final StringBuilder result = new StringBuilder(); if (isGeneric(componentType) && stripGenerics) { result.append(componentType.replaceFirst("^([^<]*)<.*?>$", "$1")); } else { result.append(componentType); } for (int i = 0; i < arrayDimensions; i++) { result.append("[]"); } return result.toString(); }
@Override public boolean hasImport(final String type) { String resultType = type; if (Types.isArray(type)) { resultType = Types.stripArray(type); } if (Types.isGeneric(type)) { resultType = Types.stripGenerics(type); } return getImport(resultType) != null; }
@Override public boolean hasImport(final String type) { String resultType = type; if (Types.isArray(type)) { resultType = Types.stripArray(type); } if (Types.isGeneric(type)) { resultType = Types.stripGenerics(type); } return getImport(resultType) != null; }
@Override public boolean hasImport(final String type) { String resultType = type; if (Types.isArray(type)) { resultType = Types.stripArray(type); } if (Types.isGeneric(type)) { resultType = Types.stripGenerics(type); } return getImport(resultType) != null; }
@Override public boolean hasImport(final String type) { String resultType = type; if (Types.isArray(type)) { resultType = Types.stripArray(type); } if (Types.isGeneric(type)) { resultType = Types.stripGenerics(type); } return getImport(resultType) != null; }
@Override public boolean hasImport(final String type) { String resultType = type; if (Types.isArray(type)) { resultType = Types.stripArray(type); } if (Types.isGeneric(type)) { resultType = Types.stripGenerics(type); } return getImport(resultType) != null; }
@Override public boolean requiresImport(final String type) { String resultType = type; if (Types.isArray(resultType)) { resultType = Types.stripArray(type); } if (Types.isGeneric(resultType)) { resultType = Types.stripGenerics(resultType); } return !(!validImport(resultType) || hasImport(resultType) || Types.isJavaLang(resultType)); }
@Override public Import addImport(final String className) { String strippedClassName = Types.stripGenerics(Types.stripArray(className)); Import imprt; if (Types.isSimpleName(strippedClassName) && !hasImport(strippedClassName)) { throw new IllegalArgumentException("Cannot import class without a package [" + strippedClassName + "]"); } if (!hasImport(strippedClassName) && validImport(strippedClassName)) { imprt = new ImportImpl(this).setName(strippedClassName); unit.imports().add(imprt.getInternal()); } else if (hasImport(strippedClassName)) { imprt = getImport(strippedClassName); } else { throw new IllegalArgumentException("Attempted to import the illegal type [" + strippedClassName + "]"); } return imprt; }
@Override public boolean requiresImport(final String type) { String resultType = type; if (Types.isArray(resultType)) { resultType = Types.stripArray(type); } if (Types.isGeneric(resultType)) { resultType = Types.stripGenerics(resultType); } if (!validImport(resultType) || hasImport(resultType) || Types.isJavaLang(resultType)) { return false; } return true; }
@Override public String getName() { String result = type.toString(); if (isParameterized()) { // strip type parameters after stripping array dimensions if (isArray()) { result = Types.stripArray(result); } result = Types.stripGenerics(result); // restore array dimensions for (int i = 0, dim = getArrayDimensions(); i < dim; i++) { result += "[]"; } return result; } for (int i = 0, dim = getExtraDimensions(); i < dim; i++) { result += "[]"; } return result; }
@Override public String getName() { String result = type.toString(); if (isParameterized()) { // strip type parameters after stripping array dimensions if (isArray()) { result = Types.stripArray(result); } result = Types.stripGenerics(result); // restore array dimensions for (int i = 0, dim = getArrayDimensions(); i < dim; i++) { result += "[]"; } return result; } for (int i = 0, dim = getExtraDimensions(); i < dim; i++) { result += "[]"; } return result; }
@Override public String getName() { String result = type.toString(); if (isParameterized()) { // strip type parameters after stripping array dimensions if (isArray()) { result = Types.stripArray(result); } result = Types.stripGenerics(result); // restore array dimensions for (int i = 0, dim = getArrayDimensions(); i < dim; i++) { result += "[]"; } return result; } for (int i = 0, dim = getExtraDimensions(); i < dim; i++) { result += "[]"; } return result; }
@Override public boolean requiresImport(final String type) { String resultType = type; if (Types.isArray(resultType)) { resultType = Types.stripArray(type); } if (Types.isGeneric(resultType)) { resultType = Types.stripGenerics(resultType); } if (!validImport(resultType) || hasImport(resultType) || Types.isJavaLang(resultType) || Strings.areEqual(getPackage(), Types.getPackage(resultType))) { return false; } return true; }
@SuppressWarnings("unchecked") @Override public Import addImport(final String className) { String strippedClassName = Types.stripGenerics(Types.stripArray(className)); if (Types.isGeneric(className)) { for (String genericPart : Types.splitGenerics(className)) { if (Types.isQualified(genericPart)) addImport(genericPart); } } Import imprt; if (!hasImport(strippedClassName) && validImport(strippedClassName)) { imprt = new ImportImpl(this).setName(strippedClassName); unit.imports().add(imprt.getInternal()); } else if (hasImport(strippedClassName)) { imprt = getImport(strippedClassName); } else { imprt = null; } return imprt; }
@Override public boolean requiresImport(final String type) { boolean requiresImport = false; String resultType = type; if (Types.isArray(resultType)) { resultType = Types.stripArray(resultType); } if (Types.isGeneric(resultType)) { for (String genericPart : Types.splitGenerics(resultType)) { requiresImport |= requiresImport(genericPart); } resultType = Types.stripGenerics(resultType); } requiresImport |= !(!validImport(resultType) || hasImport(resultType) || Types.isJavaLang(resultType) || Strings.areEqual(getPackage(), Types.getPackage(resultType))); return requiresImport; }
@Override public boolean requiresImport(final String type) { boolean requiresImport = false; String resultType = type; if (Types.isArray(resultType)) { resultType = Types.stripArray(resultType); } if (Types.isGeneric(resultType)) { for (String genericPart : Types.splitGenerics(resultType)) { requiresImport |= requiresImport(genericPart); } resultType = Types.stripGenerics(resultType); } requiresImport |= !(!validImport(resultType) || hasImport(resultType) || Types.isJavaLang(resultType) || Strings.areEqual(getPackage(), Types.getPackage(resultType))); return requiresImport; }