/* * 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.addthis.hydra.job; import java.util.Collection; import java.util.List; import com.addthis.hydra.job.auth.ExecutableAsset; import com.addthis.hydra.job.auth.WritableAsset; import com.addthis.maljson.JSONObject; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties({"stomp", "killSignal", "readOnlyReplicas", "strictReplicas", "hadMoreData", "replicationFactor", "alerts", "properties", "backups", "submitCommand", "retries"}) public interface IJob extends Comparable<IJob>, WritableAsset, ExecutableAsset { public String getId(); public String getOwner(); public void setOwner(String owner); public String getGroup(); public void setGroup(String group); public String getCreator(); public void setCreator(String creator); public long getCreateTime(); public boolean isOwnerWritable(); public void setOwnerWritable(boolean writable); public boolean isGroupWritable(); public void setGroupWritable(boolean writable); public boolean isWorldWritable(); public void setWorldWritable(boolean writable); public String getDescription(); public void setDescription(String description); public String getCommand(); public void setCommand(String command); public int getPriority(); public void setPriority(int priority); public Long getSubmitTime(); public void setSubmitTime(long submitTime); public Long getStartTime(); public void setStartTime(Long startTime); public Long getEndTime(); public void setEndTime(Long endTime); public Long getRekickTimeout(); public void setRekickTimeout(Long rekick); public Long getMaxRunTime(); public void setMaxRunTime(Long maxRunTime); public boolean isEnabled(); public boolean setEnabled(boolean enabled); public Collection<JobParameter> getParameters(); public void setParameters(Collection<JobParameter> parameters); public String getConfig(); public void setConfig(String config); public String getOnCompleteURL(); public void setOnCompleteURL(String url); public String getOnErrorURL(); public void setOnErrorURL(String url); /* timeout in seconds */ public int getOnCompleteTimeout(); public void setOnCompleteTimeout(int timeout); public int getOnErrorTimeout(); public void setOnErrorTimeout(int timeout); public int getHourlyBackups(); public int getDailyBackups(); public int getWeeklyBackups(); public int getMonthlyBackups(); public void setHourlyBackups(int hourlyBackups); public void setDailyBackups(int dailyBackups); public void setWeeklyBackups(int weeklyBackups); public void setMonthlyBackups(int weeklyBackups); public int getReplicas(); public void setReplicas(int replicas); public int getRunCount(); public int incrementRunCount(); public long getRunTime(); public JobState getState(); public boolean setState(JobState state); public int getTaskCount(); public JobTask getTask(int id); public List<JobTask> getCopyOfTasks(); public void addTask(JobTask task); public void setTasks(List<JobTask> tasks); public JobQueryConfig getQueryConfig(); public void setQueryConfig(JobQueryConfig queryConfig); public JSONObject toJSON() throws Exception; public boolean getDontAutoBalanceMe(); public void setDontAutoBalanceMe(boolean dontAutoBalanceMe); public boolean getDontDeleteMe(); public void setDontDeleteMe(boolean dontDeleteMe); public boolean getDontCloneMe(); public void setDontCloneMe(boolean dontCloneMe); public boolean getWasStopped(); public void setWasStopped(boolean wasStopped); public int getMaxSimulRunning(); public void setMaxSimulRunning(int maxSimulRunning); public String getMinionType(); public void setMinionType(String minionType); public boolean getAutoRetry(); public void setAutoRetry(boolean autoRetry); public boolean getBasicAlerts(); public void setBasicAlerts(boolean basicAlerts); public boolean getBasicPages(); public void setBasicPages(boolean basicPages); }