/*
* Copyright 2015 Collective, Inc.
*
* 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 com.collective.celos.server;
import com.collective.celos.Util;
import com.collective.celos.database.StateDatabase;
import java.io.File;
/**
* Command-line options for the scheduler server.
*/
public class ServerCommandLine {
private final File workflowsDir;
private final File defaultsDir;
private final StateDatabase database;
private final File logDir;
private final int port;
private final int autoSchedule;
public ServerCommandLine(String workflowsDir, String defaultsDir, StateDatabase db, String logDir, int port, int autoSchedule) {
this.autoSchedule = autoSchedule;
this.workflowsDir = new File(Util.requireNonNull(workflowsDir));
this.defaultsDir = new File(Util.requireNonNull(defaultsDir));
this.database = Util.requireNonNull(db);
this.port = port;
this.logDir = new File(Util.requireNonNull(logDir));
}
public int getAutoSchedule() {
return autoSchedule;
}
public File getWorkflowsDir() {
return workflowsDir;
}
public File getDefaultsDir() {
return defaultsDir;
}
public int getPort() {
return port;
}
public File getLogDir() {
return logDir;
}
public StateDatabase getDatabase() {
return database;
}
}