/** * Format a {@link WildcardType} as a {@link String}. * @param w {@code WildcardType} to format * @return String */ private static String wildcardTypeToString(final WildcardType w) { final StringBuilder buf = new StringBuilder().append('?'); final Type[] lowerBounds = w.getLowerBounds(); final Type[] upperBounds = w.getUpperBounds(); if (lowerBounds.length > 1 || lowerBounds.length == 1 && lowerBounds[0] != null) { appendAllTo(buf.append(" super "), " & ", lowerBounds); } else if (upperBounds.length > 1 || upperBounds.length == 1 && !Object.class.equals(upperBounds[0])) { appendAllTo(buf.append(" extends "), " & ", upperBounds); } return buf.toString(); }
/** * Format a {@link TypeVariable} as a {@link String}. * @param v {@code TypeVariable} to format * @return String */ private static String typeVariableToString(final TypeVariable<?> v) { final StringBuilder buf = new StringBuilder(v.getName()); final Type[] bounds = v.getBounds(); if (bounds.length > 0 && !(bounds.length == 1 && Object.class.equals(bounds[0]))) { buf.append(" extends "); appendAllTo(buf, " & ", v.getBounds()); } return buf.toString(); }
/** * Format a {@link WildcardType} as a {@link String}. * @param w {@code WildcardType} to format * @return String */ private static String wildcardTypeToString(final WildcardType w) { final StringBuilder buf = new StringBuilder().append('?'); final Type[] lowerBounds = w.getLowerBounds(); final Type[] upperBounds = w.getUpperBounds(); if (lowerBounds.length > 1 || lowerBounds.length == 1 && lowerBounds[0] != null) { appendAllTo(buf.append(" super "), " & ", lowerBounds); } else if (upperBounds.length > 1 || upperBounds.length == 1 && !Object.class.equals(upperBounds[0])) { appendAllTo(buf.append(" extends "), " & ", upperBounds); } return buf.toString(); }
/** * Format a {@link TypeVariable} as a {@link String}. * @param v {@code TypeVariable} to format * @return String */ private static String typeVariableToString(final TypeVariable<?> v) { final StringBuilder buf = new StringBuilder(v.getName()); final Type[] bounds = v.getBounds(); if (bounds.length > 0 && !(bounds.length == 1 && Object.class.equals(bounds[0]))) { buf.append(" extends "); appendAllTo(buf, " & ", v.getBounds()); } return buf.toString(); }
/** * Format a {@link WildcardType} as a {@link String}. * @param w {@code WildcardType} to format * @return String */ private static String wildcardTypeToString(final WildcardType w) { final StringBuilder buf = new StringBuilder().append('?'); final Type[] lowerBounds = w.getLowerBounds(); final Type[] upperBounds = w.getUpperBounds(); if (lowerBounds.length > 1 || lowerBounds.length == 1 && lowerBounds[0] != null) { appendAllTo(buf.append(" super "), " & ", lowerBounds); } else if (upperBounds.length > 1 || upperBounds.length == 1 && !Object.class.equals(upperBounds[0])) { appendAllTo(buf.append(" extends "), " & ", upperBounds); } return buf.toString(); }
/** * Format a {@link TypeVariable} as a {@link String}. * @param v {@code TypeVariable} to format * @return String */ private static String typeVariableToString(final TypeVariable<?> v) { final StringBuilder buf = new StringBuilder(v.getName()); final Type[] bounds = v.getBounds(); if (bounds.length > 0 && !(bounds.length == 1 && Object.class.equals(bounds[0]))) { buf.append(" extends "); appendAllTo(buf, " & ", v.getBounds()); } return buf.toString(); }
/** * Format a {@link ParameterizedType} as a {@link String}. * @param p {@code ParameterizedType} to format * @return String */ private static String parameterizedTypeToString(final ParameterizedType p) { final StringBuilder buf = new StringBuilder(); final Type useOwner = p.getOwnerType(); final Class<?> raw = (Class<?>) p.getRawType(); final Type[] typeArguments = p.getActualTypeArguments(); if (useOwner == null) { buf.append(raw.getName()); } else { if (useOwner instanceof Class<?>) { buf.append(((Class<?>) useOwner).getName()); } else { buf.append(useOwner.toString()); } buf.append('.').append(raw.getSimpleName()); } appendAllTo(buf.append('<'), ", ", typeArguments).append('>'); return buf.toString(); }
/** * Format a {@link Class} as a {@link String}. * @param c {@code Class} to format * @return String */ private static String classToString(final Class<?> c) { final StringBuilder buf = new StringBuilder(); if (c.getEnclosingClass() != null) { buf.append(classToString(c.getEnclosingClass())).append('.').append(c.getSimpleName()); } else { buf.append(c.getName()); } if (c.getTypeParameters().length > 0) { buf.append('<'); appendAllTo(buf, ", ", c.getTypeParameters()); buf.append('>'); } return buf.toString(); }
/** * Format a {@link Class} as a {@link String}. * @param c {@code Class} to format * @return String */ private static String classToString(final Class<?> c) { final StringBuilder buf = new StringBuilder(); if (c.getEnclosingClass() != null) { buf.append(classToString(c.getEnclosingClass())).append('.').append(c.getSimpleName()); } else { buf.append(c.getName()); } if (c.getTypeParameters().length > 0) { buf.append('<'); appendAllTo(buf, ", ", c.getTypeParameters()); buf.append('>'); } return buf.toString(); }
/** * Format a {@link Class} as a {@link String}. * @param c {@code Class} to format * @return String */ private static String classToString(final Class<?> c) { final StringBuilder buf = new StringBuilder(); if (c.getEnclosingClass() != null) { buf.append(classToString(c.getEnclosingClass())).append('.').append(c.getSimpleName()); } else { buf.append(c.getName()); } if (c.getTypeParameters().length > 0) { buf.append('<'); appendAllTo(buf, ", ", c.getTypeParameters()); buf.append('>'); } return buf.toString(); }
/** * Format a {@link ParameterizedType} as a {@link String}. * @param p {@code ParameterizedType} to format * @return String */ private static String parameterizedTypeToString(final ParameterizedType p) { final StringBuilder buf = new StringBuilder(); final Type useOwner = p.getOwnerType(); final Class<?> raw = (Class<?>) p.getRawType(); final Type[] typeArguments = p.getActualTypeArguments(); if (useOwner == null) { buf.append(raw.getName()); } else { if (useOwner instanceof Class<?>) { buf.append(((Class<?>) useOwner).getName()); } else { buf.append(useOwner.toString()); } buf.append('.').append(raw.getSimpleName()); } appendAllTo(buf.append('<'), ", ", typeArguments).append('>'); return buf.toString(); }
/** * Format a {@link ParameterizedType} as a {@link String}. * @param p {@code ParameterizedType} to format * @return String */ private static String parameterizedTypeToString(final ParameterizedType p) { final StringBuilder buf = new StringBuilder(); final Type useOwner = p.getOwnerType(); final Class<?> raw = (Class<?>) p.getRawType(); final Type[] typeArguments = p.getActualTypeArguments(); if (useOwner == null) { buf.append(raw.getName()); } else { if (useOwner instanceof Class<?>) { buf.append(((Class<?>) useOwner).getName()); } else { buf.append(useOwner.toString()); } buf.append('.').append(raw.getSimpleName()); } appendAllTo(buf.append('<'), ", ", typeArguments).append('>'); return buf.toString(); }