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

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

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

BeanDefinition.getValue介绍

暂无

代码示例

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

@Override
  public void process(BeanDefinition<?> beanDefinition, ExecutableMethod<?, ?> method) {
    Class<?> beanType = beanDefinition.getBeanType();
    if (mappedWebSockets.contains(beanType)) {
      return;
    }

    if (method.isAnnotationPresent(OnMessage.class) || method.isAnnotationPresent(OnOpen.class)) {
      mappedWebSockets.add(beanType);
      String uri = beanDefinition.getValue(ServerWebSocket.class, String.class).orElse("/ws");

      UriRoute route = GET(uri, method);

      if (LOG.isDebugEnabled()) {
        LOG.debug("Created WebSocket: {}", route);
      }
    }
  }
}

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

return Flowable.create(emitter -> {
  SslContext sslContext = buildSslContext(uri);
  WebSocketVersion protocolVersion = finalWebSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, "version", WebSocketVersion.class).orElse(WebSocketVersion.V13);
  int maxFramePayloadLength = finalWebSocketBean.messageMethod().flatMap(m -> m.getValue(OnMessage.class, "maxPayloadLength", Integer.class)).orElse(65536);

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

/**
 * Default constructor.
 *  @param request The originating request that created the WebSocket.
 * @param webSocketBean The WebSocket client bean.
 * @param handshaker The handshaker
 * @param requestBinderRegistry The request binder registry
 * @param mediaTypeCodecRegistry The media type codec registry
 * @param emitter The socket emitter
 */
public NettyWebSocketClientHandler(
    MutableHttpRequest<?> request,
    WebSocketBean<T> webSocketBean,
    final WebSocketClientHandshaker handshaker,
    RequestBinderRegistry requestBinderRegistry,
    MediaTypeCodecRegistry mediaTypeCodecRegistry,
    FlowableEmitter<T> emitter) {
  super(null, requestBinderRegistry, mediaTypeCodecRegistry, webSocketBean, request, Collections.emptyMap(), handshaker.version(), null);
  this.codecRegistry = mediaTypeCodecRegistry;
  this.handshaker = handshaker;
  this.webSocketBean = webSocketBean;
  this.originatingRequest = request;
  this.emitter = emitter;
  this.webSocketStateBinderRegistry = new WebSocketStateBinderRegistry(requestBinderRegistry != null ? requestBinderRegistry : new DefaultRequestBinderRegistry(ConversionService.SHARED));
  String clientPath = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("");
  UriMatchTemplate matchTemplate = UriMatchTemplate.of(clientPath);
  this.matchInfo = matchTemplate.match(request.getPath()).orElse(null);
}

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

@Override
public <T extends AutoCloseable> Flowable<T> connect(Class<T> clientEndpointType, Map<String, Object> parameters) {
  WebSocketBean<T> webSocketBean = webSocketRegistry.getWebSocket(clientEndpointType);
  String uri = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("/ws");
  uri = UriTemplate.of(uri).expand(parameters);
  MutableHttpRequest<Object> request = io.micronaut.http.HttpRequest.GET(uri);
  Publisher<URI> uriPublisher = resolveRequestURI(request);
  return Flowable.fromPublisher(uriPublisher)
      .switchMap((resolvedURI) -> connectWebSocket(resolvedURI, request, clientEndpointType, webSocketBean));
}

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

private void processHttpMethods(Collection<BeanDefinition<?>> clientBeans) {
  for (BeanDefinition<?> clientBean : clientBeans) {
    final Optional<Class[]> additionalTypes = clientBean.getValue(TypeHint.class, Class[].class);
    additionalTypes.ifPresent(classes -> {
      for (Class aClass : classes) {
        ClassLoadingReporter.reportBeanPresent(aClass);
      }
    });
    final Collection<? extends ExecutableMethod<?, ?>> executableMethods = clientBean.getExecutableMethods();
    executableMethods.parallelStream().forEach((Consumer<ExecutableMethod<?, ?>>) executableMethod -> {
      if (executableMethod.hasStereotype(HttpMethodMapping.class)) {
        final ReturnType<?> returnType = executableMethod.getReturnType();
        final Class<?> javaType = returnType.getType();
        if (!ClassUtils.isJavaLangType(javaType)) {
          ClassLoadingReporter.reportBeanPresent(javaType);
        }
        reportArguments(returnType.getTypeParameters());
        reportArguments(executableMethod.getArguments());
      }
    });
  }
}

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

String methodName = method.getMethodName();
Class<?> declaringType = method.getDeclaringType();
String functionName = beanDefinition.getValue(FunctionBean.class, String.class).orElse(methodName);
String functionMethod = beanDefinition.getValue(FunctionBean.class, "method", String.class).orElse(null);

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

private String computeBeanName(BeanDefinition<?> definition) {
  String name;
  if (definition instanceof NameResolver) {
    name = ((NameResolver) definition).resolveName().orElse(Primary.class.getSimpleName());
  } else {
    name = definition.getValue(Named.class, String.class).orElseGet(() ->
        definition.getAnnotationTypeByStereotype(Qualifier.class).map(Class::getSimpleName).orElse(definition.getClass().getSimpleName())
    );
  }
  return definition.getBeanType().getName() + "(" + name + ")";
}

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

@Override
  public void process(BeanDefinition<?> beanDefinition, ExecutableMethod<?, ?> method) {
    Optional<String> optionalId = beanDefinition.getValue(Endpoint.class, String.class);
    optionalId.ifPresent((id) -> {

      EndpointConfiguration configuration = endpointConfigurations.stream()
        .filter((c) -> c.getId().equals(id))
        .findFirst()
        .orElseGet(() -> new EndpointConfiguration(id, defaultConfiguration));

      boolean sensitive = configuration
        .isSensitive()
        .orElseGet(() -> beanDefinition
          .getValue(Endpoint.class, "defaultSensitive", Boolean.class)
          .orElse(Endpoint.SENSITIVE));

      endpointMethods.put(method, sensitive);
    });
  }
}

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

@Override
  public void process(BeanDefinition<?> beanDefinition, ExecutableMethod<?, ?> method) {
    Optional<String> optionalId = beanDefinition.getValue(Endpoint.class, String.class);
    optionalId.ifPresent((id) -> {

      EndpointConfiguration configuration = endpointConfigurations.stream()
        .filter((c) -> c.getId().equals(id))
        .findFirst()
        .orElseGet(() -> new EndpointConfiguration(id, defaultConfiguration));

      boolean sensitive = configuration
        .isSensitive()
        .orElseGet(() -> beanDefinition
          .getValue(Endpoint.class, "defaultSensitive", Boolean.class)
          .orElse(Endpoint.SENSITIVE));

      endpointMethods.put(method, sensitive);
    });
  }
}

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

@Override
  public void process(BeanDefinition<?> beanDefinition, ExecutableMethod<?, ?> method) {
    Class<?> beanType = beanDefinition.getBeanType();
    if (mappedWebSockets.contains(beanType)) {
      return;
    }

    if (method.isAnnotationPresent(OnMessage.class) || method.isAnnotationPresent(OnOpen.class)) {
      mappedWebSockets.add(beanType);
      String uri = beanDefinition.getValue(ServerWebSocket.class, String.class).orElse("/ws");

      UriRoute route = GET(uri, method);

      if (LOG.isDebugEnabled()) {
        LOG.debug("Created WebSocket: {}", route);
      }
    }
  }
}

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

private void refreshSubsetOfConfigurationProperties(Set<String> keySet) {
  Collection<BeanRegistration<?>> registrations =
    beanContext.getActiveBeanRegistrations(Qualifiers.byStereotype(ConfigurationProperties.class));
  for (BeanRegistration<?> registration : registrations) {
    BeanDefinition<?> definition = registration.getBeanDefinition();
    Optional<String> value = definition.getValue(ConfigurationReader.class, "prefix", String.class);
    if (value.isPresent()) {
      String configPrefix = value.get();
      if (keySet.stream().anyMatch(key -> key.startsWith(configPrefix))) {
        beanContext.refreshBean(registration.getIdentifier());
      }
    }
  }
}

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

/**
 * @param declaringType The type
 * @return An optional string with the endpoint id
 */
protected Optional<String> resolveActiveEndPointId(Class<?> declaringType) {
  return endpointIds.computeIfAbsent(declaringType, aClass -> {
    Optional<? extends BeanDefinition<?>> opt = beanContext.findBeanDefinition(declaringType);
    if (opt.isPresent()) {
      BeanDefinition<?> beanDefinition = opt.get();
      if (beanDefinition.hasStereotype(Endpoint.class)) {
        String id = beanDefinition.getValue(Endpoint.class, String.class).orElse(null);
        if (id == null || !ENDPOINT_ID_PATTERN.matcher(id).matches()) {
          id = NameUtils.hyphenate(beanDefinition.getName());
        }
        return Optional.ofNullable(id);
      }
    }
    return Optional.empty();
  });
}

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

/**
 * @param declaringType The type
 * @return An optional string with the endpoint id
 */
protected Optional<String> resolveActiveEndPointId(Class<?> declaringType) {
  return endpointIds.computeIfAbsent(declaringType, aClass -> {
    Optional<? extends BeanDefinition<?>> opt = beanContext.findBeanDefinition(declaringType);
    if (opt.isPresent()) {
      BeanDefinition<?> beanDefinition = opt.get();
      if (beanDefinition.hasStereotype(Endpoint.class)) {
        String id = beanDefinition.getValue(Endpoint.class, String.class).orElse(null);
        if (id == null || !ENDPOINT_ID_PATTERN.matcher(id).matches()) {
          id = NameUtils.hyphenate(beanDefinition.getName());
        }
        return Optional.ofNullable(id);
      }
    }
    return Optional.empty();
  });
}

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

private void disposeOfBeanSubset(Collection<String> keys) {
  for (String beanKey : refreshableBeans.keySet()) {
    BeanRegistration beanRegistration = refreshableBeans.get(beanKey);
    BeanDefinition definition = beanRegistration.getBeanDefinition();
    Optional<String[]> opt = definition.getValue(Refreshable.class, String[].class);
    if (opt.isPresent()) {
      String[] strings = opt.get();
      if (!ArrayUtils.isEmpty(strings)) {
        List<String> prefixes = Arrays.asList(strings);
        for (String prefix : prefixes) {
          for (String k : keys) {
            if (k.startsWith(prefix)) {
              disposeOfBean(beanKey);
            }
          }
        }
      } else {
        disposeOfBean(beanKey);
      }
    } else {
      disposeOfBean(beanKey);
    }
  }
}

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

@Override
public String resolveUri(BeanDefinition<?> beanDefinition) {
  String uri = normalizeUri(beanDefinition.getValue(Controller.class, String.class).orElse(null));
  if (uri != null) {
    return uri;
  }
  Class<?> beanType;
  if (beanDefinition instanceof ProxyBeanDefinition) {
    ProxyBeanDefinition pbd = (ProxyBeanDefinition) beanDefinition;
    beanType = pbd.getTargetType();
  } else {
    beanType = beanDefinition.getBeanType();
  }
  return '/' + TypeConvention.CONTROLLER.asHyphenatedName(beanType);
}

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

/**
 * Resolve the URI to use for the given type.
 *
 * @param beanDefinition The type
 * @return The URI to use
 */
default String resolveUri(BeanDefinition<?> beanDefinition) {
  String uri = beanDefinition.getValue(Controller.class, String.class).orElse(null);
  uri = normalizeUri(uri);
  if (uri != null) {
    return uri;
  }
  Class<?> beanType;
  if (beanDefinition instanceof ProxyBeanDefinition) {
    ProxyBeanDefinition pbd = (ProxyBeanDefinition) beanDefinition;
    beanType = pbd.getTargetType();
  } else {
    beanType = beanDefinition.getBeanType();
  }
  return '/' + TypeConvention.CONTROLLER.asPropertyName(beanType);
}

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

/**
 * Default constructor.
 *  @param request The originating request that created the WebSocket.
 * @param webSocketBean The WebSocket client bean.
 * @param handshaker The handshaker
 * @param requestBinderRegistry The request binder registry
 * @param mediaTypeCodecRegistry The media type codec registry
 * @param emitter The socket emitter
 */
public NettyWebSocketClientHandler(
    MutableHttpRequest<?> request,
    WebSocketBean<T> webSocketBean,
    final WebSocketClientHandshaker handshaker,
    RequestBinderRegistry requestBinderRegistry,
    MediaTypeCodecRegistry mediaTypeCodecRegistry,
    FlowableEmitter<T> emitter) {
  super(null, requestBinderRegistry, mediaTypeCodecRegistry, webSocketBean, request, Collections.emptyMap(), handshaker.version(), null);
  this.codecRegistry = mediaTypeCodecRegistry;
  this.handshaker = handshaker;
  this.webSocketBean = webSocketBean;
  this.originatingRequest = request;
  this.emitter = emitter;
  this.webSocketStateBinderRegistry = new WebSocketStateBinderRegistry(requestBinderRegistry != null ? requestBinderRegistry : new DefaultRequestBinderRegistry(ConversionService.SHARED));
  String clientPath = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("");
  UriMatchTemplate matchTemplate = UriMatchTemplate.of(clientPath);
  this.matchInfo = matchTemplate.match(request.getPath()).orElse(null);
}

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

/**
 * Default constructor.
 *  @param request The originating request that created the WebSocket.
 * @param webSocketBean The WebSocket client bean.
 * @param handshaker The handshaker
 * @param requestBinderRegistry The request binder registry
 * @param mediaTypeCodecRegistry The media type codec registry
 * @param emitter The socket emitter
 */
public NettyWebSocketClientHandler(
    MutableHttpRequest<?> request,
    WebSocketBean<T> webSocketBean,
    final WebSocketClientHandshaker handshaker,
    RequestBinderRegistry requestBinderRegistry,
    MediaTypeCodecRegistry mediaTypeCodecRegistry,
    FlowableEmitter<T> emitter) {
  super(null, requestBinderRegistry, mediaTypeCodecRegistry, webSocketBean, request, Collections.emptyMap(), handshaker.version(), null);
  this.codecRegistry = mediaTypeCodecRegistry;
  this.handshaker = handshaker;
  this.webSocketBean = webSocketBean;
  this.originatingRequest = request;
  this.emitter = emitter;
  this.webSocketStateBinderRegistry = new WebSocketStateBinderRegistry(requestBinderRegistry != null ? requestBinderRegistry : new DefaultRequestBinderRegistry(ConversionService.SHARED));
  String clientPath = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("");
  UriMatchTemplate matchTemplate = UriMatchTemplate.of(clientPath);
  this.matchInfo = matchTemplate.match(request.getPath()).orElse(null);
}

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

@Override
public <T extends AutoCloseable> Flowable<T> connect(Class<T> clientEndpointType, Map<String, Object> parameters) {
  WebSocketBean<T> webSocketBean = webSocketRegistry.getWebSocket(clientEndpointType);
  String uri = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("/ws");
  uri = UriTemplate.of(uri).expand(parameters);
  MutableHttpRequest<Object> request = io.micronaut.http.HttpRequest.GET(uri);
  Publisher<URI> uriPublisher = resolveRequestURI(request);
  return Flowable.fromPublisher(uriPublisher)
      .switchMap((resolvedURI) -> connectWebSocket(resolvedURI, request, clientEndpointType, webSocketBean));
}

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

@Override
public <T extends AutoCloseable> Flowable<T> connect(Class<T> clientEndpointType, Map<String, Object> parameters) {
  WebSocketBean<T> webSocketBean = webSocketRegistry.getWebSocket(clientEndpointType);
  String uri = webSocketBean.getBeanDefinition().getValue(ClientWebSocket.class, String.class).orElse("/ws");
  uri = UriTemplate.of(uri).expand(parameters);
  MutableHttpRequest<Object> request = io.micronaut.http.HttpRequest.GET(uri);
  Publisher<URI> uriPublisher = resolveRequestURI(request);
  return Flowable.fromPublisher(uriPublisher)
      .switchMap((resolvedURI) -> connectWebSocket(resolvedURI, request, clientEndpointType, webSocketBean));
}

相关文章