io.micronaut.inject.BeanDefinition.getTypeArguments()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(8.5k)|赞(0)|评价(0)|浏览(84)

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

BeanDefinition.getTypeArguments介绍

[英]If the bean itself declares any type arguments this method will return the classes that represent those types.
[中]如果bean本身声明了任何类型参数,该方法将返回表示这些类型的类。

代码示例

代码示例来源:origin: micronaut-projects/micronaut-core

List<Argument<?>> typeArguments = beanDefinition.getTypeArguments();
if (!typeArguments.isEmpty()) {
  int size = typeArguments.size();

代码示例来源:origin: micronaut-projects/micronaut-core

BeanDefinition<Object> beanDefinition = applicationContext.getBeanDefinition(functionType, qualifier);
Object bean = applicationContext.getBean(functionType, qualifier);
List<Argument<?>> typeArguments = beanDefinition.getTypeArguments();

代码示例来源:origin: io.micronaut/micronaut-inject

/**
 * Return the type arguments for the given interface or super type for this bean.
 *
 * @param type The super class or interface type
 * @return The type arguments
 */
default @Nonnull List<Argument<?>> getTypeArguments(Class<?> type) {
  if (type == null) {
    return Collections.emptyList();
  }
  return getTypeArguments(type.getName());
}

代码示例来源:origin: io.micronaut/inject

/**
 * Return the type arguments for the given interface or super type for this bean.
 *
 * @param type The super class or interface type
 * @return The type arguments
 */
default @Nonnull List<Argument<?>> getTypeArguments(Class<?> type) {
  if (type == null) {
    return Collections.emptyList();
  }
  return getTypeArguments(type.getName());
}

代码示例来源:origin: io.micronaut/micronaut-inject

/**
 * Returns the type parameters as a class array for the given type.
 * @param type The type
 * @return The type parameters
 */
default @Nonnull Class[] getTypeParameters(@Nullable Class<?> type) {
  if (type == null) {
    return ReflectionUtils.EMPTY_CLASS_ARRAY;
  } else {
    final List<Argument<?>> typeArguments = getTypeArguments(type);
    return typeArguments.stream().map(Argument::getType).toArray(Class[]::new);
  }
}

代码示例来源:origin: io.micronaut/micronaut-inject

/**
 * If the bean itself declares any type arguments this method will return the classes that represent those types.
 *
 * @return The type arguments
 */
default @Nonnull List<Argument<?>> getTypeArguments() {
  return getTypeArguments(getBeanType());
}

代码示例来源:origin: io.micronaut/inject

/**
 * If the bean itself declares any type arguments this method will return the classes that represent those types.
 *
 * @return The type arguments
 */
default @Nonnull List<Argument<?>> getTypeArguments() {
  return getTypeArguments(getBeanType());
}

代码示例来源:origin: io.micronaut/inject

List<Class> typeArguments = definition.getTypeArguments(beanType).stream().map(Argument::getType).collect(Collectors.toList());
boolean result = areTypesCompatible(typeArguments);
if (LOG.isTraceEnabled() && !result) {

代码示例来源:origin: io.micronaut/micronaut-inject

List<Class> typeArguments = definition.getTypeArguments(beanType).stream().map(Argument::getType).collect(Collectors.toList());
boolean result = areTypesCompatible(typeArguments);
if (LOG.isTraceEnabled() && !result) {

代码示例来源:origin: io.micronaut/micronaut-inject

/**
 * @param beanContext The bean context
 */
protected void initializeTypeConverters(BeanContext beanContext) {
  Collection<BeanRegistration<TypeConverter>> typeConverters = beanContext.getBeanRegistrations(TypeConverter.class);
  for (BeanRegistration<TypeConverter> typeConverterRegistration : typeConverters) {
    TypeConverter typeConverter = typeConverterRegistration.getBean();
    List<Argument<?>> typeArguments = typeConverterRegistration.getBeanDefinition().getTypeArguments(TypeConverter.class);
    if (typeArguments.size() == 2) {
      Class source = typeArguments.get(0).getType();
      Class target = typeArguments.get(1).getType();
      if (source != null && target != null) {
        if (!(source == Object.class && target == Object.class)) {
          getConversionService().addConverter(source, target, typeConverter);
        }
      }
    }
  }
  Collection<TypeConverterRegistrar> registrars = beanContext.getBeansOfType(TypeConverterRegistrar.class);
  for (TypeConverterRegistrar registrar : registrars) {
    registrar.register(conversionService);
  }
}

代码示例来源:origin: io.micronaut/inject

/**
 * @param beanContext The bean context
 */
protected void initializeTypeConverters(BeanContext beanContext) {
  Collection<BeanRegistration<TypeConverter>> typeConverters = beanContext.getBeanRegistrations(TypeConverter.class);
  for (BeanRegistration<TypeConverter> typeConverterRegistration : typeConverters) {
    TypeConverter typeConverter = typeConverterRegistration.getBean();
    List<Argument<?>> typeArguments = typeConverterRegistration.getBeanDefinition().getTypeArguments(TypeConverter.class);
    if (typeArguments.size() == 2) {
      Class source = typeArguments.get(0).getType();
      Class target = typeArguments.get(1).getType();
      if (source != null && target != null) {
        if (!(source == Object.class && target == Object.class)) {
          getConversionService().addConverter(source, target, typeConverter);
        }
      }
    }
  }
  Collection<TypeConverterRegistrar> registrars = beanContext.getBeansOfType(TypeConverterRegistrar.class);
  for (TypeConverterRegistrar registrar : registrars) {
    registrar.register(conversionService);
  }
}

代码示例来源:origin: io.micronaut/runtime

Collection<BeanDefinition<TaskExceptionHandler>> definitions = beanContext.getBeanDefinitions(TaskExceptionHandler.class, qualifier);
Optional<BeanDefinition<TaskExceptionHandler>> mostSpecific = definitions.stream().filter(def -> {
  List<Argument<?>> typeArguments = def.getTypeArguments(TaskExceptionHandler.class);
  if (typeArguments.size() == 2) {
    return typeArguments.get(0).getType() == beanType && typeArguments.get(1).getType() == e.getClass();

代码示例来源:origin: io.micronaut/inject

BeanDefinition<ExecutableMethodProcessor> processorDefinition = event.getBeanDefinition();
BeanContext beanContext = event.getSource();
List<Argument<?>> typeArguments = processorDefinition.getTypeArguments(ExecutableMethodProcessor.class);
if (!typeArguments.isEmpty()) {
  Class annotationType = typeArguments.get(0).getType();

代码示例来源:origin: io.micronaut/micronaut-inject

if (processor instanceof ExecutableMethodProcessor) {
  List<Argument<?>> typeArguments = processorDefinition.getTypeArguments(ExecutableMethodProcessor.class);
  if (!typeArguments.isEmpty()) {
    final Argument<?> firstArgument = typeArguments.get(0);
  final List<Argument<?>> typeArguments = processorDefinition.getTypeArguments(BeanDefinitionProcessor.class);
  if (typeArguments.size() == 1) {
    final Argument<?> annotation = typeArguments.get(0);

代码示例来源:origin: io.micronaut/micronaut-inject

for (BeanRegistration<BeanInitializedEventListener> registration : beanInitializedEventListeners) {
  BeanDefinition<BeanInitializedEventListener> definition = registration.getBeanDefinition();
  List<Argument<?>> typeArguments = definition.getTypeArguments(BeanInitializedEventListener.class);
  if (CollectionUtils.isEmpty(typeArguments) || typeArguments.get(0).getType().isAssignableFrom(getBeanType())) {
    BeanInitializedEventListener listener = registration.getBean();

代码示例来源:origin: io.micronaut/inject

for (BeanRegistration<BeanInitializedEventListener> registration : beanInitializedEventListeners) {
  BeanDefinition<BeanInitializedEventListener> definition = registration.getBeanDefinition();
  List<Argument<?>> typeArguments = definition.getTypeArguments(BeanInitializedEventListener.class);
  if (CollectionUtils.isEmpty(typeArguments) || typeArguments.get(0).getType().isAssignableFrom(getBeanType())) {
    BeanInitializedEventListener listener = registration.getBean();

代码示例来源:origin: io.micronaut/micronaut-inject

for (BeanRegistration<BeanCreatedEventListener> registration : beanCreationEventListeners) {
  BeanDefinition<BeanCreatedEventListener> definition = registration.getBeanDefinition();
  List<Argument<?>> typeArguments = definition.getTypeArguments(BeanCreatedEventListener.class);
  if (CollectionUtils.isEmpty(typeArguments) || typeArguments.get(0).getType().isAssignableFrom(beanDefinition.getBeanType())) {
    BeanCreatedEventListener listener = registration.getBean();

代码示例来源:origin: io.micronaut/inject

for (BeanRegistration<BeanCreatedEventListener> registration : beanCreationEventListeners) {
  BeanDefinition<BeanCreatedEventListener> definition = registration.getBeanDefinition();
  List<Argument<?>> typeArguments = definition.getTypeArguments(BeanCreatedEventListener.class);
  if (CollectionUtils.isEmpty(typeArguments) || typeArguments.get(0).getType().isAssignableFrom(beanDefinition.getBeanType())) {
    BeanCreatedEventListener listener = registration.getBean();

相关文章