private void createResourceURI(Type type, StringBuilder uriBuilder) { if (type instanceof Class<?>) { Class<?> clazz = (Class<?>) type; createResourceURIForClass(clazz, uriBuilder); } else { throw new IllegalArgumentException("unexpected type: " + type); } }
protected void createResourceURIForTypeVariable(TypeVariable<?> variable, StringBuilder uriBuilder) { Object declaration = variable.getGenericDeclaration(); if (declaration instanceof Class<?>) { Class<?> declaringClass = (Class<?>) declaration; createResourceURIForClass(declaringClass, uriBuilder); } else if (declaration instanceof Member) { Member member = (Member) declaration; Class<?> declaringClass = member.getDeclaringClass(); createResourceURIForClass(declaringClass, uriBuilder); } else { throw new IllegalArgumentException(variable + " / " + declaration); } }
private void createResourceURIForClass(Class<?> clazz, StringBuilder uriBuilder) { if (clazz.isArray()) { createResourceURIForClass(clazz.getComponentType(), uriBuilder); } else if (clazz.isMemberClass()) { createResourceURIForClass(clazz.getDeclaringClass(), uriBuilder); } else if (clazz.isPrimitive()) { uriBuilder.append(URIHelperConstants.PRIMITIVES); } else { uriBuilder.append(URIHelperConstants.OBJECTS).append(clazz.getName()); } }
protected void createResourceURIForClass(Class<?> clazz, StringBuilder uriBuilder) { if (clazz.isArray()) { createResourceURIForClass(clazz.getComponentType(), uriBuilder); } else if (clazz.isMemberClass()) { createResourceURIForClass(clazz.getDeclaringClass(), uriBuilder); } else if (clazz.isPrimitive()) { uriBuilder.append(URIHelperConstants.PRIMITIVES); } else { uriBuilder.append(URIHelperConstants.OBJECTS).append(clazz.getName()); } }
protected void createResourceURI(Type type, StringBuilder uriBuilder) { if (type instanceof Class<?>) { Class<?> clazz = (Class<?>) type; createResourceURIForClass(clazz, uriBuilder); } else if (type instanceof TypeVariable<?>) { TypeVariable<?> variable = (TypeVariable<?>) type; createResourceURIForTypeVariable(variable, uriBuilder); } else if (type instanceof GenericArrayType) { createResourceURI(((GenericArrayType) type).getGenericComponentType(), uriBuilder); } else { throw new IllegalStateException("unexpected type: " + type); } }