org.springframework.core.ResolvableType.getType()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(155)

本文整理了Java中org.springframework.core.ResolvableType.getType方法的一些代码示例,展示了ResolvableType.getType的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ResolvableType.getType方法的具体详情如下:
包路径:org.springframework.core.ResolvableType
类名称:ResolvableType
方法名:getType

ResolvableType.getType介绍

[英]Return the underling Java Type being managed.
[中]返回要管理的下划线Java类型。

代码示例

代码示例来源:origin: spring-projects/spring-framework

@Override
public boolean canDecode(ResolvableType elementType, @Nullable MimeType mimeType) {
  JavaType javaType = getObjectMapper().getTypeFactory().constructType(elementType.getType());
  // Skip String: CharSequenceDecoder + "*/*" comes after
  return (!CharSequence.class.isAssignableFrom(elementType.toClass()) &&
      getObjectMapper().canDeserialize(javaType) && supportsMimeType(mimeType));
}

代码示例来源: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

@Test
public void forField() throws Exception {
  Field field = Fields.class.getField("charSequenceList");
  ResolvableType type = ResolvableType.forField(field);
  assertThat(type.getType(), equalTo(field.getGenericType()));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void classType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("classType"));
  assertThat(type.getType().getClass(), equalTo((Class) Class.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void getComponentTypeForGenericArrayType() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("genericArrayType"));
  assertThat(type.isArray(), equalTo(true));
  assertThat(type.getComponentType().getType(),
      equalTo(((GenericArrayType) type.getType()).getGenericComponentType()));
}

代码示例来源: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
public void getGenericOfGeneric() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringListList"));
  assertThat(type.getGeneric().getType().toString(), equalTo("java.util.List<java.lang.String>"));
  assertThat(type.getGeneric().getGeneric().getType(), equalTo((Type) String.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveTypeVariableFromMethodParameterWithImplementsClass() throws Exception {
  Method method = Methods.class.getMethod("typedParameter", Object.class);
  ResolvableType type = ResolvableType.forMethodParameter(method, 0, TypedMethods.class);
  assertThat(type.resolve(), equalTo((Class) String.class));
  assertThat(type.getType().toString(), equalTo("T"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveTypeVariableFromMethodReturnWithImplementsClass() throws Exception {
  Method method = Methods.class.getMethod("typedReturn");
  ResolvableType type = ResolvableType.forMethodReturnType(method, TypedMethods.class);
  assertThat(type.resolve(), equalTo((Class) String.class));
  assertThat(type.getType().toString(), equalTo("T"));
}

代码示例来源: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 asFromSuperType() throws Exception {
  ResolvableType type = ResolvableType.forClass(ExtendsList.class).as(ArrayList.class);
  assertThat(type.getType().toString(), equalTo("java.util.ArrayList<java.lang.CharSequence>"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void asFromInheritedInterface() throws Exception {
  ResolvableType type = ResolvableType.forClass(ExtendsList.class).as(Collection.class);
  assertThat(type.getType().toString(), equalTo("java.util.Collection<E>"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void getGeneric() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringList"));
  assertThat(type.getGeneric().getType(), equalTo((Type) String.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void forInstanceNoProvider() {
  ResolvableType type = ResolvableType.forInstance(new Object());
  assertThat(type.getType(), equalTo(Object.class));
  assertThat(type.resolve(), equalTo(Object.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void resolveTypeVariableFromMethodParameterType() throws Exception {
  Method method = Methods.class.getMethod("typedParameter", Object.class);
  MethodParameter methodParameter = MethodParameter.forExecutable(method, 0);
  ResolvableType type = ResolvableType.forMethodParameter(methodParameter);
  assertThat(type.resolve(), nullValue());
  assertThat(type.getType().toString(), equalTo("T"));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void getComponentTypeForVariableThatResolvesToGenericArray() throws Exception {
  ResolvableType type = ResolvableType.forClass(ListOfGenericArray.class).asCollection().getGeneric();
  assertThat(type.isArray(), equalTo(true));
  assertThat(type.getType(), instanceOf(TypeVariable.class));
  assertThat(type.getComponentType().getType().toString(),
      equalTo("java.util.List<java.lang.String>"));
}

代码示例来源: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 resolveGenericArrayFromGeneric() throws Exception {
  ResolvableType type = ResolvableType.forField(Fields.class.getField("stringArrayList"));
  ResolvableType generic = type.asCollection().getGeneric();
  assertThat(generic.getType().toString(), equalTo("E"));
  assertThat(generic.isArray(), equalTo(true));
  assertThat(generic.resolve(), equalTo((Class) String[].class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void forRawClass() throws Exception {
  ResolvableType type = ResolvableType.forRawClass(ExtendsList.class);
  assertThat(type.getType(), equalTo((Type) ExtendsList.class));
  assertThat(type.getRawClass(), equalTo(ExtendsList.class));
  assertTrue(type.isAssignableFrom(ExtendsList.class));
  assertFalse(type.isAssignableFrom(ArrayList.class));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void forRawClassWithNull() throws Exception {
  ResolvableType type = ResolvableType.forRawClass(null);
  assertThat(type.getType(), equalTo((Type) Object.class));
  assertThat(type.getRawClass(), equalTo(Object.class));
  assertTrue(type.isAssignableFrom(Object.class));
  assertTrue(type.isAssignableFrom(String.class));
}

相关文章

微信公众号

最新文章

更多