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

io.helidon.config.ConfigProvider__ServiceDescriptor Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2024 Oracle and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.helidon.config;

import java.util.List;
import java.util.Set;
import java.util.function.Supplier;

import io.helidon.common.Generated;
import io.helidon.common.GenericType;
import io.helidon.common.types.TypeName;
import io.helidon.config.spi.ConfigFilter;
import io.helidon.config.spi.ConfigMapperProvider;
import io.helidon.config.spi.ConfigParser;
import io.helidon.config.spi.ConfigSource;
import io.helidon.service.registry.Dependency;
import io.helidon.service.registry.DependencyContext;
import io.helidon.service.registry.GeneratedService;

/**
 * Service descriptor for {@link io.helidon.config.ConfigProvider}.
 *
 * @param  type of the service, for extensibility
 */
@Generated(value = "io.helidon.service.codegen.ServiceExtension", trigger = "io.helidon.config.ConfigProvider")
public class ConfigProvider__ServiceDescriptor implements GeneratedService.Descriptor {

    private static final TypeName TYPE_0 = TypeName.create("java.util.function.Supplier");
    private static final GenericType GTYPE_0 = new GenericType>() {};
    private static final TypeName TYPE_1 = TypeName.create("io.helidon.config.MetaConfig");
    private static final GenericType GTYPE_1 = new GenericType() {};
    private static final TypeName TYPE_2 = TypeName.create("java.util.function.Supplier>");
    private static final GenericType GTYPE_2 = new GenericType>>() {};
    private static final TypeName TYPE_3 = TypeName.create("io.helidon.config.spi.ConfigSource");
    private static final GenericType GTYPE_3 = new GenericType() {};
    private static final TypeName TYPE_4 = TypeName.create("java.util.function.Supplier>");
    private static final GenericType GTYPE_4 = new GenericType>>() {};
    private static final TypeName TYPE_5 = TypeName.create("io.helidon.config.spi.ConfigParser");
    private static final GenericType GTYPE_5 = new GenericType() {};
    private static final TypeName TYPE_6 = TypeName.create("java.util.function.Supplier>");
    private static final GenericType GTYPE_6 = new GenericType>>() {};
    private static final TypeName TYPE_7 = TypeName.create("io.helidon.config.spi.ConfigFilter");
    private static final GenericType GTYPE_7 = new GenericType() {};
    private static final TypeName TYPE_8 = TypeName.create("java.util.function.Supplier>");
    private static final GenericType GTYPE_8 = new GenericType>>() {};
    private static final TypeName TYPE_9 = TypeName.create("io.helidon.config.spi.ConfigMapperProvider");
    private static final GenericType GTYPE_9 = new GenericType() {};
    /**
     * Global singleton instance for this descriptor.
     */
    public static final ConfigProvider__ServiceDescriptor INSTANCE = new ConfigProvider__ServiceDescriptor<>();
    private static final TypeName SERVICE_TYPE = TypeName.create("io.helidon.config.ConfigProvider");
    private static final TypeName DESCRIPTOR_TYPE = TypeName.create("io.helidon.config.ConfigProvider__ServiceDescriptor");
    /**
     * Dependency for ConfigProvider(Supplier metaConfig, Supplier configSources, Supplier configParsers, Supplier configFilters, Supplier configMappers), parameter metaConfig.
     */
    public static final Dependency PARAM_0 = Dependency.builder()
            .typeName(TYPE_0)
            .name("metaConfig")
            .service(SERVICE_TYPE)
            .descriptor(DESCRIPTOR_TYPE)
            .descriptorConstant("PARAM_0")
            .contract(TYPE_1)
            .contractType(GTYPE_1)
            .build();
    /**
     * Dependency for ConfigProvider(Supplier metaConfig, Supplier configSources, Supplier configParsers, Supplier configFilters, Supplier configMappers), parameter configSources.
     */
    public static final Dependency PARAM_1 = Dependency.builder()
            .typeName(TYPE_2)
            .name("configSources")
            .service(SERVICE_TYPE)
            .descriptor(DESCRIPTOR_TYPE)
            .descriptorConstant("PARAM_1")
            .contract(TYPE_3)
            .contractType(GTYPE_3)
            .build();
    /**
     * Dependency for ConfigProvider(Supplier metaConfig, Supplier configSources, Supplier configParsers, Supplier configFilters, Supplier configMappers), parameter configParsers.
     */
    public static final Dependency PARAM_2 = Dependency.builder()
            .typeName(TYPE_4)
            .name("configParsers")
            .service(SERVICE_TYPE)
            .descriptor(DESCRIPTOR_TYPE)
            .descriptorConstant("PARAM_2")
            .contract(TYPE_5)
            .contractType(GTYPE_5)
            .build();
    /**
     * Dependency for ConfigProvider(Supplier metaConfig, Supplier configSources, Supplier configParsers, Supplier configFilters, Supplier configMappers), parameter configFilters.
     */
    public static final Dependency PARAM_3 = Dependency.builder()
            .typeName(TYPE_6)
            .name("configFilters")
            .service(SERVICE_TYPE)
            .descriptor(DESCRIPTOR_TYPE)
            .descriptorConstant("PARAM_3")
            .contract(TYPE_7)
            .contractType(GTYPE_7)
            .build();
    /**
     * Dependency for ConfigProvider(Supplier metaConfig, Supplier configSources, Supplier configParsers, Supplier configFilters, Supplier configMappers), parameter configMappers.
     */
    public static final Dependency PARAM_4 = Dependency.builder()
            .typeName(TYPE_8)
            .name("configMappers")
            .service(SERVICE_TYPE)
            .descriptor(DESCRIPTOR_TYPE)
            .descriptorConstant("PARAM_4")
            .contract(TYPE_9)
            .contractType(GTYPE_9)
            .build();
    private static final List DEPENDENCIES = List.of(PARAM_0, PARAM_1, PARAM_2, PARAM_3, PARAM_4);
    private static final Set CONTRACTS = Set.of(TypeName.create("io.helidon.common.config.Config"));

    /**
     * Constructor with no side effects
     */
    protected ConfigProvider__ServiceDescriptor() {
    }

    @Override
    public TypeName serviceType() {
        return SERVICE_TYPE;
    }

    @Override
    public TypeName descriptorType() {
        return DESCRIPTOR_TYPE;
    }

    @Override
    public Set contracts() {
        return CONTRACTS;
    }

    @Override
    public List dependencies() {
        return DEPENDENCIES;
    }

    @Override
    public ConfigProvider instantiate(DependencyContext ctx__helidonRegistry) {
        Supplier metaConfig = ctx__helidonRegistry.dependency(PARAM_0);
        Supplier> configSources = ctx__helidonRegistry.dependency(PARAM_1);
        Supplier> configParsers = ctx__helidonRegistry.dependency(PARAM_2);
        Supplier> configFilters = ctx__helidonRegistry.dependency(PARAM_3);
        Supplier> configMappers = ctx__helidonRegistry.dependency(PARAM_4);
        
        return new ConfigProvider(metaConfig, configSources, configParsers, configFilters, configMappers);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy