/*
 * Copyright (c) 2024, WSO2 LLC. (https://www.wso2.com/).
 *
 * WSO2 LLC. licenses this file to you 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 org.apache.synapse.endpoints;

import org.wso2.securevault.SecretResolver;
/**
 * This class represents a model for proxy configurations which is used for the OAuth authentication of endpoints
 */
public class ProxyConfigs {
    private String proxyHost;
    private String proxyPort;
    private String proxyUsername;
    private String proxyPassword;
    private String proxyProtocol;
    private boolean proxyEnabled;
    private String nonProxyHosts;
    private String targetProxyHosts;
    private SecretResolver proxyPasswordSecretResolver;

    public void setProxyEnabled(boolean proxyEnabled) {
        this.proxyEnabled = proxyEnabled;
    }

    public void setProxyHost(String proxyHost) {
        this.proxyHost = proxyHost;
    }

    public void setProxyPort(String proxyPort) {
        this.proxyPort = proxyPort;
    }

    public void setProxyUsername(String proxyUsername) {
        this.proxyUsername = proxyUsername;
    }

    public void setProxyPassword(String proxyPassword) {
        this.proxyPassword = proxyPassword;
    }

    public void setProxyProtocol(String proxyProtocol) {
        this.proxyProtocol = proxyProtocol;
    }

    public boolean isProxyEnabled() {
        return proxyEnabled;
    }

    public String getProxyHost() {
        return proxyHost;
    }

    public String getProxyPort() {
        return proxyPort;
    }

    public String getProxyUsername() {
        return proxyUsername;
    }

    public String getProxyPassword() {
        return proxyPassword;
    }

    public String getProxyProtocol() {
        return proxyProtocol;
    }

    public void setNonProxyHosts(String nonProxyHosts) {
        this.nonProxyHosts = nonProxyHosts;
    }

    public String getNonProxyHosts() {
        return nonProxyHosts;
    }

    public void setTargetProxyHosts(String targetProxyHosts) {
        this.targetProxyHosts = targetProxyHosts;
    }

    public String getTargetProxyHosts() {
        return targetProxyHosts;
    }

    public void setProxyPasswordSecretResolver(SecretResolver proxyPasswordSecretResolver) {
        this.proxyPasswordSecretResolver = proxyPasswordSecretResolver;
    }

    public SecretResolver getProxyPasswordSecretResolver() {
        return proxyPasswordSecretResolver;
    }
}


