io.helidon.config.Config.as()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(146)

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

Config.as介绍

[英]Typed value as a ConfigValue for a generic type. If appropriate mapper exists, returns a properly typed generic instance.

Example:

  1. ConfigValue> myMapValue = config.as(new GenericType>(){});
  2. myMapValue.ifPresent(map ->
  3. Integer port = map.get("service.port");
  4. }
  5. }

[中]类型化值作为泛型类型的ConfigValue。如果存在适当的映射器,则返回正确类型的泛型实例。
例子:

  1. ConfigValue> myMapValue = config.as(new GenericType>(){});
  2. myMapValue.ifPresent(map ->
  3. Integer port = map.get("service.port");
  4. }
  5. }

代码示例

代码示例来源:origin: oracle/helidon

  1. /**
  2. * String typed value.
  3. *
  4. * @return typed value
  5. */
  6. default ConfigValue<String> asString() {
  7. return as(String.class);
  8. }

代码示例来源:origin: oracle/helidon

  1. @Override
  2. public <T> ConfigValue<List<T>> asList(Class<T> type) throws ConfigMappingException {
  3. return ConfigValues.createList(this,
  4. config -> config.as(type),
  5. config -> config.asList(type));
  6. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Read a new instance from configuration.
  3. * The current node should contain a {@code "name"} and configuration for {@link TokenHandler}
  4. *
  5. * @param config configuration instance
  6. * @return new query parameter handler instance
  7. */
  8. public static QueryParamMapping create(Config config) {
  9. String name = config.get("name").asString().get();
  10. TokenHandler handler = config.as(TokenHandler::create).get();
  11. return create(name, handler);
  12. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Double typed value.
  3. *
  4. * @return typed value
  5. */
  6. default ConfigValue<Double> asDouble() {
  7. return as(Double.class);
  8. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Update builder from config.
  3. *
  4. * @param config Configuration to update from
  5. * @return update builder instance
  6. */
  7. public Builder config(Config config) {
  8. config.get("header").asString().ifPresent(this::tokenHeader);
  9. config.get("prefix").asString().ifPresent(this::tokenPrefix);
  10. config.get("regexp").as(Pattern.class).ifPresent(this::tokenPattern);
  11. config.get("format").asString().ifPresent(this::tokenFormat);
  12. return this;
  13. }

代码示例来源:origin: oracle/helidon

  1. @Override
  2. public <T> ConfigValue<List<T>> asList(Function<Config, T> mapper) throws ConfigMappingException {
  3. return ConfigValues.createList(this,
  4. config -> config.as(mapper),
  5. config -> config.asList(mapper));
  6. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Long typed value.
  3. *
  4. * @return typed value
  5. */
  6. default ConfigValue<Long> asLong() {
  7. return as(Long.class);
  8. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Integer typed value.
  3. *
  4. * @return typed value
  5. */
  6. default ConfigValue<Integer> asInt() {
  7. return as(Integer.class);
  8. }

代码示例来源:origin: oracle/helidon

  1. /**
  2. * Boolean typed value.
  3. *
  4. * @return typed value
  5. */
  6. default ConfigValue<Boolean> asBoolean() {
  7. return as(Boolean.class);
  8. }

代码示例来源:origin: oracle/helidon

  1. static <T> ConfigValue<T> create(Config config,
  2. Function<Config, T> mapper) {
  3. return new GenericConfigValueImpl<>(config,
  4. () -> Optional.ofNullable(mapper.apply(config)),
  5. aConfig -> aConfig.as(mapper));
  6. }

代码示例来源:origin: oracle/helidon

  1. @Override
  2. public <T> ConfigValue<T> as(Class<T> type) {
  3. return ConfigValues.create(this, Optional::empty, aConfig -> aConfig.as(type));
  4. }

代码示例来源:origin: oracle/helidon

  1. @Override
  2. public <T> ConfigValue<T> as(GenericType<T> genericType) {
  3. return ConfigValues.create(this, Optional::empty, aConfig -> aConfig.as(genericType));
  4. }

代码示例来源:origin: oracle/helidon

  1. @Override
  2. public <T> ConfigValue<T> as(Function<Config, T> mapper) {
  3. return ConfigValues.create(this, Optional::empty, aConfig -> aConfig.as(mapper));
  4. }

代码示例来源:origin: oracle/helidon

  1. private Optional<RetryPolicy> custom(Class<?> clazz, Config properties) {
  2. final RetryPolicy retryPolicy;
  3. if (RetryPolicy.class.isAssignableFrom(clazz)) {
  4. retryPolicy = properties.as((Class<RetryPolicy>) clazz).get();
  5. } else {
  6. throw new ConfigException("Configured retry policy class " + clazz.getName() + " does not implement RetryPolicy");
  7. }
  8. return Optional.of(retryPolicy);
  9. }

代码示例来源:origin: oracle/helidon

  1. private Optional<ConfigSource> custom(Class<?> clazz, Config properties) {
  2. Object source = properties.as(clazz).get();
  3. if (source instanceof ConfigSource) {
  4. return Optional.of((ConfigSource) source);
  5. }
  6. throw new ConfigException("Failed to process configuration metadata, configured class " + clazz.getName() + " does "
  7. + "not implement ConfigSource");
  8. }

代码示例来源:origin: oracle/helidon

  1. static <T> ConfigValue<T> create(Config config,
  2. GenericType<T> genericType,
  3. ConfigMapperManager mapperManager) {
  4. return new GenericConfigValueImpl<>(config,
  5. () -> Optional.ofNullable(mapperManager.map(config, genericType)),
  6. aConfig -> aConfig.as(genericType));
  7. }

代码示例来源:origin: oracle/helidon

  1. private Optional<RetryPolicy> builtin(String type, Config properties) {
  2. final RetryPolicy retryPolicy;
  3. switch (type) {
  4. case REPEAT_TYPE:
  5. retryPolicy = properties.as(RetryPolicies.Builder.class).get().get();
  6. break;
  7. default:
  8. retryPolicy = null;
  9. }
  10. return Optional.ofNullable(retryPolicy);
  11. }

代码示例来源:origin: oracle/helidon

  1. private static <T> void configure(Config config,
  2. String key,
  3. Optional<T> defaultValue,
  4. Consumer<T> builderMethod,
  5. Class<T> clazz) {
  6. config.get(key).as(clazz).or(() -> defaultValue).ifPresent(builderMethod);
  7. }

代码示例来源:origin: oracle/helidon

  1. private <T> T findValue(String propertyName, Class<T> propertyType) {
  2. if (propertyType == Config.class) {
  3. return config.get().get(propertyName).as(propertyType).get();
  4. }
  5. //first iterate over mp sources, than use config
  6. return findInMpSources(propertyName)
  7. .map(value -> convert(propertyType, value))
  8. .orElseGet(() -> config.get().get(propertyName).as(propertyType).get());
  9. }

代码示例来源:origin: oracle/helidon

  1. static <T> ConfigValue<T> create(Config config,
  2. Class<T> type,
  3. ConfigMapperManager mapperManager) {
  4. return new GenericConfigValueImpl<>(config,
  5. () -> Optional.ofNullable(mapperManager.map(config, type)),
  6. aConfig -> aConfig.as(type));
  7. }

相关文章