/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF 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.camel.component.sparkrest.springboot;

import org.apache.camel.component.sparkrest.SparkBinding;
import org.apache.camel.component.sparkrest.SparkConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * The spark-rest component is used for hosting REST services which has been
 * defined using Camel rest-dsl.
 * 
 * Generated by camel-package-maven-plugin - do not edit this file!
 */
@ConfigurationProperties(prefix = "camel.component.spark-rest")
public class SparkComponentConfiguration {

    /**
     * Port number. Will by default use 4567
     */
    private Integer port;
    /**
     * Set the IP address that Spark should listen on. If not called the default
     * address is '0.0.0.0'.
     */
    private String ipAddress;
    /**
     * Minimum number of threads in Spark thread-pool (shared globally)
     */
    private Integer minThreads;
    /**
     * Maximum number of threads in Spark thread-pool (shared globally)
     */
    private Integer maxThreads;
    /**
     * Thread idle timeout in millis where threads that has been idle for a
     * longer period will be terminated from the thread pool
     */
    private Integer timeOutMillis;
    /**
     * Configures connection to be secure to use the keystore file
     */
    private String keystoreFile;
    /**
     * Configures connection to be secure to use the keystore password
     */
    private String keystorePassword;
    /**
     * Configures connection to be secure to use the truststore file
     */
    private String truststoreFile;
    /**
     * Configures connection to be secure to use the truststore password
     */
    private String truststorePassword;
    /**
     * To use the shared SparkConfiguration
     */
    private SparkConfiguration sparkConfiguration;
    /**
     * To use a custom SparkBinding to map to/from Camel message.
     */
    private SparkBinding sparkBinding;

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public Integer getMinThreads() {
        return minThreads;
    }

    public void setMinThreads(Integer minThreads) {
        this.minThreads = minThreads;
    }

    public Integer getMaxThreads() {
        return maxThreads;
    }

    public void setMaxThreads(Integer maxThreads) {
        this.maxThreads = maxThreads;
    }

    public Integer getTimeOutMillis() {
        return timeOutMillis;
    }

    public void setTimeOutMillis(Integer timeOutMillis) {
        this.timeOutMillis = timeOutMillis;
    }

    public String getKeystoreFile() {
        return keystoreFile;
    }

    public void setKeystoreFile(String keystoreFile) {
        this.keystoreFile = keystoreFile;
    }

    public String getKeystorePassword() {
        return keystorePassword;
    }

    public void setKeystorePassword(String keystorePassword) {
        this.keystorePassword = keystorePassword;
    }

    public String getTruststoreFile() {
        return truststoreFile;
    }

    public void setTruststoreFile(String truststoreFile) {
        this.truststoreFile = truststoreFile;
    }

    public String getTruststorePassword() {
        return truststorePassword;
    }

    public void setTruststorePassword(String truststorePassword) {
        this.truststorePassword = truststorePassword;
    }

    public SparkConfiguration getSparkConfiguration() {
        return sparkConfiguration;
    }

    public void setSparkConfiguration(SparkConfiguration sparkConfiguration) {
        this.sparkConfiguration = sparkConfiguration;
    }

    public SparkBinding getSparkBinding() {
        return sparkBinding;
    }

    public void setSparkBinding(SparkBinding sparkBinding) {
        this.sparkBinding = sparkBinding;
    }
}