org.quartz.spi.MutableTrigger Maven / Gradle / Ivy
/*
* All content copyright Terracotta, Inc., unless otherwise indicated. 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.quartz.spi;
import java.util.Date;
import org.quartz.Calendar;
import org.quartz.CronTrigger;
import org.quartz.JobDataMap;
import org.quartz.JobKey;
import org.quartz.SimpleTrigger;
import org.quartz.Trigger;
import org.quartz.TriggerKey;
import org.quartz.TriggerUtils;
public interface MutableTrigger extends Trigger {
public void setKey(TriggerKey key);
public void setJobKey(JobKey key);
/**
*
* Set a description for the Trigger
instance - may be
* useful for remembering/displaying the purpose of the trigger, though the
* description has no meaning to Quartz.
*
*/
public void setDescription(String description);
/**
*
* Associate the {@link Calendar}
with the given name with
* this Trigger.
*
*
* @param calendarName
* use null
to dis-associate a Calendar.
*/
public void setCalendarName(String calendarName);
/**
*
* Set the JobDataMap
to be associated with the
* Trigger
.
*
*/
public void setJobDataMap(JobDataMap jobDataMap);
/**
* The priority of a Trigger
acts as a tie breaker such that if
* two Trigger
s have the same scheduled fire time, then Quartz
* will do its best to give the one with the higher priority first access
* to a worker thread.
*
*
* If not explicitly set, the default value is 5
.
*
*
* @see #DEFAULT_PRIORITY
*/
public void setPriority(int priority);
/**
*
* The time at which the trigger's scheduling should start. May or may not
* be the first actual fire time of the trigger, depending upon the type of
* trigger and the settings of the other properties of the trigger. However
* the first actual first time will not be before this date.
*
*
* Setting a value in the past may cause a new trigger to compute a first
* fire time that is in the past, which may cause an immediate misfire
* of the trigger.
*
*/
public void setStartTime(Date startTime);
/**
*
* Set the time at which the Trigger
should quit repeating -
* regardless of any remaining repeats (based on the trigger's particular
* repeat settings).
*
*
* @see TriggerUtils#computeEndTimeToAllowParticularNumberOfFirings(Trigger, Calendar, int)
*/
public void setEndTime(Date endTime);
/**
*
* Set the instruction the Scheduler
should be given for
* handling misfire situations for this Trigger
- the
* concrete Trigger
type that you are using will have
* defined a set of additional MISFIRE_INSTRUCTION_XXX
* constants that may be passed to this method.
*
*
*
* If not explicitly set, the default value is MISFIRE_INSTRUCTION_SMART_POLICY
.
*
*
* @see #MISFIRE_INSTRUCTION_SMART_POLICY
* @see #updateAfterMisfire(Calendar)
* @see SimpleTrigger
* @see CronTrigger
*/
public void setMisfireInstruction(int misfireInstruction);
public Object clone();
}