protected static Type typeOf(Member member, TypeEnvironment env) { if ( member instanceof Field ) { return env.bind( ( (Field) member ).getGenericType() ); } if ( member instanceof Method ) { return env.bind( ( (Method) member ).getGenericReturnType() ); } throw new IllegalArgumentException( "Member " + member + " is neither a field nor a method" ); }
protected static Type typeOf(Member member, TypeEnvironment env) { if ( member instanceof Field ) { return env.bind( ( (Field) member ).getGenericType() ); } if ( member instanceof Method ) { return env.bind( ( (Method) member ).getGenericReturnType() ); } throw new IllegalArgumentException( "Member " + member + " is neither a field nor a method" ); }
protected static Type typeOf(Member member, TypeEnvironment env) { if ( member instanceof Field ) { return env.bind( ( (Field) member ).getGenericType() ); } if ( member instanceof Method ) { return env.bind( ( (Method) member ).getGenericReturnType() ); } throw new IllegalArgumentException( "Member " + member + " is neither a field nor a method" ); }
protected static Type typeOf(Member member, TypeEnvironment env) { if ( member instanceof Field ) { return env.bind( ( (Field) member ).getGenericType() ); } if ( member instanceof Method ) { return env.bind( ( (Method) member ).getGenericReturnType() ); } throw new IllegalArgumentException( "Member " + member + " is neither a field nor a method" ); }
protected static Type typeOf(Member member, TypeEnvironment env) { if ( member instanceof Field ) { return env.bind( ( (Field) member ).getGenericType() ); } if ( member instanceof Method ) { return env.bind( ( (Method) member ).getGenericReturnType() ); } throw new IllegalArgumentException( "Member " + member + " is neither a field nor a method" ); }
private List<XProperty> getDeclaredMethodProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Method m : toClass().getDeclaredMethods() ) { if ( ReflectionUtil.isProperty( m, getTypeEnvironment().bind( m.getGenericReturnType() ), filter ) ) { result.add( getFactory().getXProperty( m, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredFieldProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Field f : toClass().getDeclaredFields() ) { if ( ReflectionUtil.isProperty( f, getTypeEnvironment().bind( f.getGenericType() ), filter ) ) { result.add( getFactory().getXProperty( f, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredMethodProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Method m : toClass().getDeclaredMethods() ) { if ( ReflectionUtil.isProperty( m, getTypeEnvironment().bind( m.getGenericReturnType() ), filter ) ) { result.add( getFactory().getXProperty( m, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredFieldProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Field f : toClass().getDeclaredFields() ) { if ( ReflectionUtil.isProperty( f, getTypeEnvironment().bind( f.getGenericType() ), filter ) ) { result.add( getFactory().getXProperty( f, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredMethodProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Method m : toClass().getDeclaredMethods() ) { if ( ReflectionUtil.isProperty( m, getTypeEnvironment().bind( m.getGenericReturnType() ), filter ) ) { result.add( getFactory().getXProperty( m, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredFieldProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Field f : toClass().getDeclaredFields() ) { if ( ReflectionUtil.isProperty( f, getTypeEnvironment().bind( f.getGenericType() ), filter ) ) { result.add( getFactory().getXProperty( f, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredFieldProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Field f : toClass().getDeclaredFields() ) { if ( ReflectionUtil.isProperty( f, getTypeEnvironment().bind( f.getGenericType() ), filter ) ) { result.add( getFactory().getXProperty( f, getTypeEnvironment() ) ); } } return result; }
private List<XProperty> getDeclaredFieldProperties(Filter filter) { List<XProperty> result = new LinkedList<XProperty>(); for ( Field f : toClass().getDeclaredFields() ) { if ( ReflectionUtil.isProperty( f, getTypeEnvironment().bind( f.getGenericType() ), filter ) ) { result.add( getFactory().getXProperty( f, getTypeEnvironment() ) ); } } return result; }
public void testDoesNothingOnWildcards() throws Exception { Type type = BigBlob.class.getMethod( "genericClass", new Class[0] ).getGenericReturnType(); Type approxType = approximatingBoundContext.bind( type ); assertEquals( "java.lang.Class<?>", approxType.toString() ); }
public void testApproximatesGenericsAndWildcardsInCollectionsToTheirUpperBounds() throws Exception { Type type = BigBlob.class.getMethod( "genericCollection", new Class[0] ).getGenericReturnType(); ParameterizedType approxType = (ParameterizedType) approximatingUnboundContext.bind( type ); assertEquals( Map.class, approxType.getRawType() ); assertNull( approxType.getOwnerType() ); assertEquals( 2, approxType.getActualTypeArguments().length ); assertEquals( Object.class, approxType.getActualTypeArguments()[0] ); assertEquals( Collection.class, approxType.getActualTypeArguments()[1] ); } }