本文整理了Java中org.springframework.core.ResolvableType.forType
方法的一些代码示例,展示了ResolvableType.forType
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ResolvableType.forType
方法的具体详情如下:
包路径:org.springframework.core.ResolvableType
类名称:ResolvableType
方法名:forType
[英]Return a ResolvableType for the specified Type.
Note: The resulting ResolvableType instance may not be Serializable.
[中]返回指定类型的可解析类型。
注意:生成的ResolvableType实例可能无法序列化。
代码示例来源:origin: spring-projects/spring-framework
/**
* Return a {@link ResolvableType} for the specified {@link Type}.
* <p>Note: The resulting {@link ResolvableType} instance may not be {@link Serializable}.
* @param type the source type (potentially {@code null})
* @return a {@link ResolvableType} for the specified {@link Type}
* @see #forType(Type, ResolvableType)
*/
public static ResolvableType forType(@Nullable Type type) {
return forType(type, null, null);
}
代码示例来源:origin: spring-projects/spring-framework
@Override
@Nullable
public ResolvableType resolveVariable(TypeVariable<?> variable) {
Type type = this.typeVariableMap.get(variable);
return (type != null ? ResolvableType.forType(type) : null);
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Return a {@link ResolvableType} for the specified {@link Type} backed by a given
* {@link VariableResolver}.
* @param type the source type or {@code null}
* @param variableResolver the variable resolver or {@code null}
* @return a {@link ResolvableType} for the specified {@link Type} and {@link VariableResolver}
*/
static ResolvableType forType(@Nullable Type type, @Nullable VariableResolver variableResolver) {
return forType(type, null, variableResolver);
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Return a {@link ResolvableType} for the specified {@link Field}.
* @param field the source field
* @return a {@link ResolvableType} for the specified field
* @see #forField(Field, Class)
*/
public static ResolvableType forField(Field field) {
Assert.notNull(field, "Field must not be null");
return forType(null, new FieldTypeProvider(field), null);
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Return a {@link ResolvableType} for the specified {@link ParameterizedTypeReference}.
* <p>Note: The resulting {@link ResolvableType} instance may not be {@link Serializable}.
* @param typeReference the reference to obtain the source type from
* @return a {@link ResolvableType} for the specified {@link ParameterizedTypeReference}
* @since 4.3.12
* @see #forType(Type)
*/
public static ResolvableType forType(ParameterizedTypeReference<?> typeReference) {
return forType(typeReference.getType(), null, null);
}
代码示例来源:origin: spring-projects/spring-framework
public AsyncResultMethodParameter(@Nullable Object returnValue) {
super(-1);
this.returnValue = returnValue;
this.returnType = ResolvableType.forType(super.getGenericParameterType()).getGeneric();
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Variant of {@link #toMono(Class)} for type information with generics.
* @param typeRef the type reference for the type to decode to
* @param <T> the element type to decode to
* @return {@code BodyExtractor} for {@code Mono<T>}
*/
public static <T> BodyExtractor<Mono<T>, ReactiveHttpInputMessage> toMono(ParameterizedTypeReference<T> typeRef) {
return toMono(ResolvableType.forType(typeRef.getType()));
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Variant of {@link #toFlux(Class)} for type information with generics.
* @param typeRef the type reference for the type to decode to
* @param <T> the element type to decode to
* @return {@code BodyExtractor} for {@code Flux<T>}
*/
public static <T> BodyExtractor<Flux<T>, ReactiveHttpInputMessage> toFlux(ParameterizedTypeReference<T> typeRef) {
return toFlux(ResolvableType.forType(typeRef.getType()));
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Return the generic type of the {@code returnType} (or of the nested type
* if it is an {@link HttpEntity}).
*/
private Type getGenericType(MethodParameter returnType) {
if (HttpEntity.class.isAssignableFrom(returnType.getParameterType())) {
return ResolvableType.forType(returnType.getGenericParameterType()).getGeneric().getType();
}
else {
return returnType.getGenericParameterType();
}
}
代码示例来源:origin: spring-projects/spring-framework
/**
* Resolve the top-level parameter type of the given {@code MethodParameter}.
* @param methodParameter the method parameter to resolve
* @since 4.1.9
* @see MethodParameter#setParameterType
*/
static void resolveMethodParameter(MethodParameter methodParameter) {
Assert.notNull(methodParameter, "MethodParameter must not be null");
ResolvableType owner = forType(methodParameter.getContainingClass()).as(methodParameter.getDeclaringClass());
methodParameter.setParameterType(
forType(null, new MethodParameterTypeProvider(methodParameter), owner.asVariableResolver()).resolve());
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void resolveTypeVariableFromDeclaredParameterizedTypeReference() throws Exception {
Type sourceType = Methods.class.getMethod("charSequenceReturn").getGenericReturnType();
ResolvableType reflectiveType = ResolvableType.forType(sourceType);
ResolvableType declaredType = ResolvableType.forType(new ParameterizedTypeReference<List<CharSequence>>() {});
assertEquals(reflectiveType, declaredType);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void resolveTypeVariableFromType() throws Exception {
Type sourceType = Methods.class.getMethod("typedReturn").getGenericReturnType();
ResolvableType type = ResolvableType.forType(sourceType);
assertThat(type.resolve(), nullValue());
assertThat(type.getType().toString(), equalTo("T"));
}
代码示例来源:origin: spring-projects/spring-framework
@Test // Demonstrates we cant inject that event because the listener has a raw type
public void genericListenerRawTypeTypeErasure() {
GenericTestEvent<String> stringEvent = createGenericTestEvent("test");
ResolvableType eventType = ResolvableType.forType(stringEvent.getClass());
supportsEventType(true, RawApplicationListener.class, eventType);
}
代码示例来源:origin: spring-projects/spring-framework
@Test // Demonstrates it works if we actually use the subtype
public void genericListenerStrictTypeEventSubType() {
StringEvent stringEvent = new StringEvent(this, "test");
ResolvableType eventType = ResolvableType.forType(stringEvent.getClass());
supportsEventType(true, StringEventListener.class, eventType);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void genericListenerStrictTypeEventSubTypeNotMatching() {
LongEvent stringEvent = new LongEvent(this, 123L);
ResolvableType eventType = ResolvableType.forType(stringEvent.getClass());
supportsEventType(false, StringEventListener.class, eventType);
}
代码示例来源:origin: spring-projects/spring-framework
@Test // Demonstrates we cant inject that event because the listener has a wildcard
public void genericListenerWildcardTypeTypeErasure() {
GenericTestEvent<String> stringEvent = createGenericTestEvent("test");
ResolvableType eventType = ResolvableType.forType(stringEvent.getClass());
supportsEventType(true, GenericEventListener.class, eventType);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void resolveTypeVariableFromReflectiveParameterizedTypeReference() throws Exception {
Type sourceType = Methods.class.getMethod("typedReturn").getGenericReturnType();
ResolvableType type = ResolvableType.forType(ParameterizedTypeReference.forType(sourceType));
assertThat(type.resolve(), nullValue());
assertThat(type.getType().toString(), equalTo("T"));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void resolveTypeVariableFromTypeWithVariableResolver() throws Exception {
Type sourceType = Methods.class.getMethod("typedReturn").getGenericReturnType();
ResolvableType type = ResolvableType.forType(
sourceType, ResolvableType.forClass(TypedMethods.class).as(Methods.class).asVariableResolver());
assertThat(type.resolve(), equalTo((Class) String.class));
assertThat(type.getType().toString(), equalTo("T"));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void narrow() throws Exception {
ResolvableType type = ResolvableType.forField(Fields.class.getField("stringList"));
ResolvableType narrow = ResolvableType.forType(ArrayList.class, type);
assertThat(narrow.getGeneric().resolve(), equalTo(String.class));
}
代码示例来源:origin: spring-projects/spring-framework
@Test // gh-22042
public void decodeWithNullLiteral() {
Flux<Object> result = this.decoder.decode(Flux.concat(stringBuffer("null")),
ResolvableType.forType(Pojo.class), MediaType.APPLICATION_JSON, Collections.emptyMap());
StepVerifier.create(result).expectComplete().verify();
}
内容来源于网络,如有侵权,请联系作者删除!