private void createFragment(Type type, StringBuilder uriBuilder) { if (type instanceof Class<?>) { Class<?> clazz = (Class<?>) type; createFragmentForClass(clazz, uriBuilder); } else { throw new IllegalArgumentException("Unexpected type: " + type); } }
protected void createFragmentForClass(Class<?> clazz, StringBuilder uriBuilder) { if (clazz.isArray()) { createFragmentForClass(clazz.getComponentType(), uriBuilder); uriBuilder.append("[]"); } else { uriBuilder.append(clazz.getName()); } }
private void createFragmentForClass(Class<?> clazz, StringBuilder uriBuilder) { if (clazz.isArray()) { createFragmentForClass(clazz.getComponentType(), uriBuilder); uriBuilder.append("[]"); } else { uriBuilder.append(clazz.getName()); } }
protected void createFragmentForMember(Member member, StringBuilder uriBuilder) { Class<?> declaringClass = member.getDeclaringClass(); createFragmentForClass(declaringClass, uriBuilder); uriBuilder.append('.'); if (member instanceof Constructor<?>) { uriBuilder.append(declaringClass.getSimpleName()); } else { uriBuilder.append(member.getName()); } if (member instanceof Field) return; uriBuilder.append('('); Type[] parameterTypes = null; if (member instanceof java.lang.reflect.Constructor<?>) { parameterTypes = ((java.lang.reflect.Constructor<?>) member).getGenericParameterTypes(); } else if (member instanceof Method) { parameterTypes = ((Method) member).getGenericParameterTypes(); } else { throw new IllegalStateException("unknown member type: " + member); } for (int i = 0; i < parameterTypes.length; i++) { if (i != 0) { uriBuilder.append(','); } computeTypeName(parameterTypes[i], uriBuilder); } uriBuilder.append(')'); }
protected void createFragment(Type type, StringBuilder uriBuilder) { if (type instanceof Class<?>) { Class<?> clazz = (Class<?>) type; createFragmentForClass(clazz, uriBuilder); } else if (type instanceof TypeVariable<?>) { TypeVariable<?> variable = (TypeVariable<?>) type; createFragmentForTypeVariable(variable, uriBuilder); } else if (type instanceof GenericArrayType) { createFragment(((GenericArrayType) type).getGenericComponentType(), uriBuilder); uriBuilder.append("[]"); } else { throw new IllegalStateException("Unexpected type: " + type); } }