// Path: components/ntask/org.wso2.carbon.ntask.core/src/main/java/org/wso2/carbon/ntask/core/service/TaskService.java
// public static enum TaskServerMode {
//     STANDALONE, CLUSTERED, REMOTE, AUTO
// }


import org.wso2.carbon.ntask.core.service.TaskService.TaskServerMode;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;
/**
 *  Copyright (c) 2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 *  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 org.wso2.carbon.ntask.core.service.impl;



/**
 * This represents the task service XML based configuration.
 */
@XmlRootElement(name = "tasks-configuration")
public class TaskServiceXMLConfiguration {

    private TaskServerMode taskServerMode;

    private int taskServerCount;

    private String taskClientDispatchAddress;

    private String remoteServerAddress;

    private String taskRepositoryClass;

    private String remoteServerUsername;

    private String remoteServerPassword;

    private DefaultLocationResolver defaultLocationResolver = new DefaultLocationResolver(DEFAULT_LOCATION_RESOLVER_CLASS);

    private TaskServerAvailabilityCheck taskServerAvailabilityCheck = new TaskServerAvailabilityCheck();

    public static final String DEFAULT_LOCATION_RESOLVER_CLASS = "org.wso2.carbon.ntask.core.impl.RoundRobinTaskLocationResolver";

    public static final int TASKSERVICE_AVAILABILITY_CHECK_RETRY_COUNT = 10;

    public static final int TASKSERVICE_AVAILABILITY_CHECK_RETRY_INTERVAL = 1000;

    public TaskServerMode getTaskServerMode() {
        return taskServerMode;
    }

// Path: components/ntask/org.wso2.carbon.ntask.core/src/main/java/org/wso2/carbon/ntask/core/service/TaskService.java
// public static enum TaskServerMode {
//     STANDALONE, CLUSTERED, REMOTE, AUTO
// }


// Path: components/ntask/org.wso2.carbon.ntask.core/src/main/java/org/wso2/carbon/ntask/core/service/impl/TaskServiceXMLConfiguration.java
import org.wso2.carbon.ntask.core.service.TaskService.TaskServerMode;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;

/**
 *  Copyright (c) 2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 *  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 org.wso2.carbon.ntask.core.service.impl;



/**
 * This represents the task service XML based configuration.
 */
@XmlRootElement(name = "tasks-configuration")
public class TaskServiceXMLConfiguration {

    private TaskServerMode taskServerMode;

    private int taskServerCount;

    private String taskClientDispatchAddress;

    private String remoteServerAddress;

    private String taskRepositoryClass;

    private String remoteServerUsername;

    private String remoteServerPassword;

    private DefaultLocationResolver defaultLocationResolver = new DefaultLocationResolver(DEFAULT_LOCATION_RESOLVER_CLASS);

    private TaskServerAvailabilityCheck taskServerAvailabilityCheck = new TaskServerAvailabilityCheck();

    public static final String DEFAULT_LOCATION_RESOLVER_CLASS = "org.wso2.carbon.ntask.core.impl.RoundRobinTaskLocationResolver";

    public static final int TASKSERVICE_AVAILABILITY_CHECK_RETRY_COUNT = 10;

    public static final int TASKSERVICE_AVAILABILITY_CHECK_RETRY_INTERVAL = 1000;

    public TaskServerMode getTaskServerMode() {
        return taskServerMode;
    }

    public void setTaskServerMode(TaskServerMode taskServerMode) {