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

io.lighty.gnmi.southbound.lightymodule.GnmiSouthboundModuleBuilder Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2021 PANTHEON.tech s.r.o. All Rights Reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
 * and is available at https://www.eclipse.org/legal/epl-v10.html
 */

package io.lighty.gnmi.southbound.lightymodule;

import io.lighty.core.controller.api.LightyServices;
import io.lighty.gnmi.southbound.lightymodule.config.GnmiConfiguration;
import java.util.concurrent.ExecutorService;
import org.opendaylight.aaa.encrypt.AAAEncryptionService;
import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;

public class GnmiSouthboundModuleBuilder {

    private GnmiConfiguration gnmiConfiguration;
    private LightyServices lightyServices;
    private ExecutorService executorService;
    private CrossSourceStatementReactor yangReactor;
    private AAAEncryptionService aaaEncryptionService;

    public GnmiSouthboundModuleBuilder withConfig(final GnmiConfiguration configuration) {
        this.gnmiConfiguration = configuration;
        return this;
    }

    public GnmiSouthboundModuleBuilder withLightyServices(final LightyServices services) {
        this.lightyServices = services;
        return this;
    }

    public GnmiSouthboundModuleBuilder withExecutorService(final ExecutorService executors) {
        this.executorService = executors;
        return this;
    }

    public GnmiSouthboundModuleBuilder withReactor(final CrossSourceStatementReactor reactor) {
        this.yangReactor = reactor;
        return this;
    }

    public GnmiSouthboundModuleBuilder withEncryptionService(final AAAEncryptionService encryptionService) {
        this.aaaEncryptionService = encryptionService;
        return this;
    }

    public GnmiSouthboundModule build() {
        return new GnmiSouthboundModule(lightyServices, executorService, aaaEncryptionService, gnmiConfiguration,
                yangReactor);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy