public static boolean isSimple(Type type) { return new TypeSwitch<Boolean>() { @Override public Boolean caseClass(Class clazz) { return !clazz.isArray() && !isCollectionClass( clazz ); // probably not fully accurate } @Override public Boolean caseParameterizedType(ParameterizedType parameterizedType) { return isSimple( parameterizedType.getRawType() ); } @Override public Boolean caseWildcardType(WildcardType wildcardType) { return areSimple( wildcardType.getUpperBounds() ) && areSimple( wildcardType.getLowerBounds() ); } @Override public Boolean defaultCase(Type t) { return false; } }.doSwitch( type ); }
public static boolean isSimple(Type type) { return new TypeSwitch<Boolean>() { @Override public Boolean caseClass(Class clazz) { return !clazz.isArray() && !isCollectionClass( clazz ); // probably not fully accurate } @Override public Boolean caseParameterizedType(ParameterizedType parameterizedType) { return isSimple( parameterizedType.getRawType() ); } @Override public Boolean caseWildcardType(WildcardType wildcardType) { return areSimple( wildcardType.getUpperBounds() ) && areSimple( wildcardType.getLowerBounds() ); } @Override public Boolean defaultCase(Type t) { return false; } }.doSwitch( type ); }
public static boolean isSimple(Type type) { return new TypeSwitch<Boolean>() { @Override public Boolean caseClass(Class clazz) { return !clazz.isArray() && !isCollectionClass( clazz ); // probably not fully accurate } @Override public Boolean caseParameterizedType(ParameterizedType parameterizedType) { return isSimple( parameterizedType.getRawType() ); } @Override public Boolean caseWildcardType(WildcardType wildcardType) { return areSimple( wildcardType.getUpperBounds() ) && areSimple( wildcardType.getLowerBounds() ); } @Override public Boolean defaultCase(Type t) { return false; } }.doSwitch( type ); }