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

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

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

ResolvableType.forArrayComponent介绍

[英]Return a ResolvableType as a array of the specified componentType.
[中]将ResolvableType作为指定componentType的数组返回。

代码示例

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

/**
 * Create a new type descriptor as an array of the specified type.
 * <p>For example to create a {@code Map<String,String>[]} use:
 * <pre class="code">
 * TypeDescriptor.array(TypeDescriptor.map(Map.class, TypeDescriptor.value(String.class), TypeDescriptor.value(String.class)));
 * </pre>
 * @param elementTypeDescriptor the {@link TypeDescriptor} of the array element or {@code null}
 * @return an array {@link TypeDescriptor} or {@code null} if {@code elementTypeDescriptor} is {@code null}
 * @since 3.2.1
 */
@Nullable
public static TypeDescriptor array(@Nullable TypeDescriptor elementTypeDescriptor) {
  if (elementTypeDescriptor == null) {
    return null;
  }
  return new TypeDescriptor(ResolvableType.forArrayComponent(elementTypeDescriptor.resolvableType),
      null, elementTypeDescriptor.getAnnotations());
}

代码示例来源:origin: org.springframework/spring-core

/**
 * Create a new type descriptor as an array of the specified type.
 * <p>For example to create a {@code Map<String,String>[]} use:
 * <pre class="code">
 * TypeDescriptor.array(TypeDescriptor.map(Map.class, TypeDescriptor.value(String.class), TypeDescriptor.value(String.class)));
 * </pre>
 * @param elementTypeDescriptor the {@link TypeDescriptor} of the array element or {@code null}
 * @return an array {@link TypeDescriptor} or {@code null} if {@code elementTypeDescriptor} is {@code null}
 * @since 3.2.1
 */
@Nullable
public static TypeDescriptor array(@Nullable TypeDescriptor elementTypeDescriptor) {
  if (elementTypeDescriptor == null) {
    return null;
  }
  return new TypeDescriptor(ResolvableType.forArrayComponent(elementTypeDescriptor.resolvableType),
      null, elementTypeDescriptor.getAnnotations());
}

代码示例来源:origin: org.springframework.boot/spring-boot

private static ResolvableType box(ResolvableType type) {
  Class<?> resolved = type.resolve();
  if (resolved != null && resolved.isPrimitive()) {
    Object array = Array.newInstance(resolved, 1);
    Class<?> wrapperType = Array.get(array, 0).getClass();
    return ResolvableType.forClass(wrapperType);
  }
  if (resolved != null && resolved.isArray()) {
    return ResolvableType.forArrayComponent(box(type.getComponentType()));
  }
  return type;
}

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

@Test
public void forArrayComponent() throws Exception {
  ResolvableType elementType = ResolvableType.forField(Fields.class.getField("stringList"));
  ResolvableType type = ResolvableType.forArrayComponent(elementType);
  assertThat(type.toString(), equalTo("java.util.List<java.lang.String>[]"));
  assertThat(type.resolve(), equalTo(List[].class));
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * Create a new type descriptor as an array of the specified type.
 * <p>For example to create a {@code Map<String,String>[]} use:
 * <pre class="code">
 * TypeDescriptor.array(TypeDescriptor.map(Map.class, TypeDescriptor.value(String.class), TypeDescriptor.value(String.class)));
 * </pre>
 * @param elementTypeDescriptor the {@link TypeDescriptor} of the array element or {@code null}
 * @return an array {@link TypeDescriptor} or {@code null} if {@code elementTypeDescriptor} is {@code null}
 * @since 3.2.1
 */
@Nullable
public static TypeDescriptor array(@Nullable TypeDescriptor elementTypeDescriptor) {
  if (elementTypeDescriptor == null) {
    return null;
  }
  return new TypeDescriptor(ResolvableType.forArrayComponent(elementTypeDescriptor.resolvableType),
      null, elementTypeDescriptor.getAnnotations());
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core

/**
 * Create a new type descriptor as an array of the specified type.
 * <p>For example to create a {@code Map<String,String>[]} use:
 * <pre class="code">
 * TypeDescriptor.array(TypeDescriptor.map(Map.class, TypeDescriptor.value(String.class), TypeDescriptor.value(String.class)));
 * </pre>
 * @param elementTypeDescriptor the {@link TypeDescriptor} of the array element or {@code null}
 * @return an array {@link TypeDescriptor} or {@code null} if {@code elementTypeDescriptor} is {@code null}
 * @since 3.2.1
 */
@Nullable
public static TypeDescriptor array(@Nullable TypeDescriptor elementTypeDescriptor) {
  if (elementTypeDescriptor == null) {
    return null;
  }
  return new TypeDescriptor(ResolvableType.forArrayComponent(elementTypeDescriptor.resolvableType),
      null, elementTypeDescriptor.getAnnotations());
}

代码示例来源:origin: FastBootWeixin/FastBootWeixin

@Override
public boolean supportsReturnType(MethodParameter returnType) {
  if (returnType.hasMethodAnnotation(WxMapping.class)) {
    return false;
  }
  ResolvableType resolvableType = ResolvableType.forMethodParameter(returnType);
  ResolvableType arrayType = ResolvableType.forArrayComponent(ResolvableType.forClass(WxMessage.class));
  ResolvableType iterableType = ResolvableType.forClassWithGenerics(Iterable.class, WxMessage.class);
  return arrayType.isAssignableFrom(resolvableType) || iterableType.isAssignableFrom(resolvableType);
}

相关文章

微信公众号

最新文章

更多