All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.smallrye.config.ConfigurableConfigSource Maven / Gradle / Ivy

package io.smallrye.config;

import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;

import org.eclipse.microprofile.config.spi.ConfigSource;

public class ConfigurableConfigSource implements ConfigSource {
    private final ConfigSourceFactory factory;

    public ConfigurableConfigSource(ConfigSourceFactory factory) {
        this.factory = factory;
    }

    @Override
    public Map getProperties() {
        return new HashMap<>();
    }

    @Override
    public Set getPropertyNames() {
        return new HashSet<>();
    }

    @Override
    public String getValue(final String propertyName) {
        return null;
    }

    @Override
    public String getName() {
        return factory.getClass().getName();
    }

    @Override
    public int getOrdinal() {
        return factory.getPriority().orElse(DEFAULT_ORDINAL);
    }

    List getConfigSources(ConfigSourceContext context) {
        return StreamSupport.stream(factory.getConfigSources(context).spliterator(), false).collect(Collectors.toList());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy