public abstract class OdiSchedule extends oracle.odi.domain.support.AbstractOdiEntity implements IWorkRuntimeOdiEntity
OdiSchedule is an abstract class that doesn't represent any actual ODI concept. However, it manages commons requirements, of both OdiScenarioSchedule and OdiLoadPlanSchedule. As such, it provides getter and setter methods for commons properties like agent name, context code, activation period, recurrence of execution and others.
OdiSchedule also provides methods to manage OdiJobStartupParam
s.
OdiSchedule is the root entity of the OdiSchedule - OdiJobStartupParam
aggregate. Thus an instance of OdiSchedule controls life cycle of every
OdiJobStartupParam
instances that belongs to it.
An OdiSchedule has an ID that can be obtained from getScheduleId()
method call. This ID is assigned when an OdiSchedule is stored into run-time
repository. This ID represents the identity of an OdiSchedule. Equals /
hashCode method are implemented according this identity.
Example of usage:
OdiSchedule schedule = new OdiScenarioSchedule(odiScenario, "GLOBAL", "testAgent");
Recurrence monthlyRecurrence = Recurrence.createMonthlyRecurrence(new DayOfMonth(15), new TimeOfDay(14,30,59));
Period repetitionInterval = new Period(2, TimeUnit.MINUTE);
Repetition repetition = new Repetition(2, null, repetitionInterval);
schedule.setRecurrence(recurrence);
schedule.setRepetition(repetition);
OdiScenarioSchedule
,
OdiLoadPlanSchedule
,
OdiJobStartupParam
,
Recurrence
,
Repetition
,
Serialized FormModifier and Type | Method and Description |
---|---|
ExplicitDate |
getActiveFromDate()
Returns the representation of the beginning time of activation period.
|
ExplicitDate |
getActiveToDate()
Returns the representation of the ending time of activation period.
|
int |
getAttemptNbOnFailure()
Returns the number of consecutive attempts if errors occur during the
execution.
|
java.lang.String |
getContextCode()
Returns the code of the ODI context to be used when executing this
schedule's job.
|
TimeRange |
getDailyActivationTimeRange()
Returns the daily activation time range - aggregation of beginning and
ending time of day, where this schedule is active.
|
java.lang.String |
getExcludedMonthDaysPattern()
Returns the pattern string for month days excluded from activation
period.
|
RecurrenceAttributes.DayOfWeek[] |
getExcludedWeekDays()
Returns the array of week days excluded from activation period.
|
ExecutionMode |
getExecutionMode()
Returns the execution mode for ODI session(s) to be executed.
|
java.io.Serializable |
getInternalId()
Provides a common getter for the persistence layer to obtain an identity,
irrespective of the actual type of identity used.
|
java.util.Collection |
getJobStartupParams()
Returns the unmodifiable collection of
OdiJobStartupParam s related
to this schedule. |
java.lang.String |
getLogicalAgentName()
Returns the name of the ODI logical agent for which this schedule is
defined.
|
Period |
getMaxRunDuration()
Returns the maximum duration of one job run.
|
java.lang.String |
getName()
Returns the Schedule name.
|
Recurrence |
getRecurrence()
Returns the recurrence of this OdiSchedule.
|
Repetition |
getRepetition()
Returns the repetition aggregation for this OdiSchedule.
|
java.lang.Number |
getScheduleId()
Returns the ID of OdiSchedule.
|
ScheduleStatus |
getStatus()
Returns the activation status of this OdiSchedule.
|
void |
removeJobStartupParam(OdiJobStartupParam pStartupParam)
Removes the specified startup parameter.
|
void |
setActiveFromDate(ExplicitDate pActiveFromDate)
Sets the representation of the beginning time of activation period.
|
void |
setActiveToDate(ExplicitDate pActiveToDate)
Sets the representation of the ending time of activation period.
|
void |
setAttemptNbOnFailure(int pAttemptNbOnFailure)
Sets the number of consecutive attempts if errors occur during the
execution.
|
void |
setContextCode(java.lang.String pContextCode)
Defines the code of the ODI context to be used when executing this
schedule's job.
|
void |
setDailyActivationTimeRange(TimeRange pDailyActivationTimeRange)
Sets the daily activation time range - aggregation of beginning and
ending time of day, where this schedule should be active.
|
void |
setExcludedMonthDaysPattern(java.lang.String pExcludedMonthDaysPattern)
Sets the pattern string for month days excluded from activation
period.
|
void |
setExcludedWeekDays(RecurrenceAttributes.DayOfWeek[] pExcludedWeekDays)
Specifies the array of week days to be excluded from activation
period.
|
void |
setExecutionMode(ExecutionMode pExecutionMode)
Sets the execution mode for ODI session(s) to be executed.
|
void |
setLogicalAgentName(java.lang.String pLogicalAgentName)
Defines the name of the ODI logical agent for which this schedule is
defined.
|
void |
setMaxRunDuration(Period pMaxRunDuration)
Sets the maximum duration of one job run.
|
void |
setName(java.lang.String pName)
Sets the name for this schedule.
|
void |
setRecurrence(Recurrence pRecurrence)
Sets the recurrence for this OdiSchedule.
|
void |
setRepetition(Repetition pRepetition)
Sets the repetition for this OdiSchedule.
|
void |
setStatus(ScheduleStatus pStatus)
Sets the activation status for this OdiSchedule.
|
equals, getFirstDate, getFirstUser, getInternalVersion, getLastDate, getLastUser, hashCode, isInstanceLevelSecurityNeeded, isNew, preCommit, toString
getGlobalId, getNumericId, hasCustomizedPersistenceMethodFor, invokeCustomizedPersistenceMethodFor
getFirstDate, getFirstUser, getLastDate, getLastUser, isInstanceLevelSecurityNeeded
getGlobalId, getSecurityContainer
public java.io.Serializable getInternalId()
IRepositoryEntity
Typically a subclass will delegate to a public
SomePrimitiveWrapper getId()
method. The necessity for the
getInternalId()
abstract method is solely because the
persistence layer needs a way of obtaining the identity irrespective of
the actual identity implementation choice.
Returning null
from this method will indicate the object has
never been saved. This will likely be relied on by some DAO
implementations.
getInternalId
in interface IRepositoryEntity
public java.lang.Number getScheduleId()
public java.lang.String getContextCode()
setContextCode(String)
public void setContextCode(java.lang.String pContextCode)
pContextCode
- context code to setDomainRuntimeException
- if specified context code is null or empty
stringgetContextCode()
public java.lang.String getLogicalAgentName()
setLogicalAgentName(String)
public void setLogicalAgentName(java.lang.String pLogicalAgentName)
pLogicalAgentName
- logical agent name to setDomainRuntimeException
- if specified logical agent name is null or
empty stringgetLogicalAgentName()
public ExecutionMode getExecutionMode()
ExecutionMode
,
setExecutionMode(ExecutionMode)
public void setExecutionMode(ExecutionMode pExecutionMode)
pExecutionMode
- execution mode to setExecutionMode
,
getExecutionMode()
public ScheduleStatus getStatus()
ScheduleStatus
,
setStatus(ScheduleStatus)
public void setStatus(ScheduleStatus pStatus)
pStatus
- activation status to setDomainRuntimeException
- if specified status is nullScheduleStatus
,
getStatus()
public ExplicitDate getActiveFromDate()
Returns the representation of the beginning time of activation period.
Can be null
, which means that the schedule is active from the
creation time.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
ExplicitDate
,
getStatus()
,
setActiveFromDate(ExplicitDate)
,
getActiveToDate()
public void setActiveFromDate(ExplicitDate pActiveFromDate)
Sets the representation of the beginning time of activation period.
Can be set to null
, which makes this schedule active
from the current time of creation (modification).
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
pActiveFromDate
- the activeFromDate to setExplicitDate
,
getStatus()
,
getActiveFromDate()
,
getActiveToDate()
,
setActiveToDate(ExplicitDate)
public ExplicitDate getActiveToDate()
Returns the representation of the ending time of activation period.
Can be null
, which means that the schedule is active
infinitely after the activation period beginning.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
ExplicitDate
,
getStatus()
,
setActiveToDate(ExplicitDate)
,
getActiveFromDate()
public void setActiveToDate(ExplicitDate pActiveToDate)
Sets the representation of the ending time of activation period.
Can be set to null
, which makes this schedule active
infinitely in future.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
pActiveToDate
- the activeFromDate to setExplicitDate
,
getStatus()
,
getActiveToDate()
,
getActiveFromDate()
,
setActiveFromDate(ExplicitDate)
public TimeRange getDailyActivationTimeRange()
Returns the daily activation time range - aggregation of beginning and
ending time of day, where this schedule is active. Can be
null
, which means that the schedule is active throughout the
day.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
TimeRange
,
RecurrenceAttributes.TimeOfDay
,
getStatus()
,
setDailyActivationTimeRange(TimeRange)
public void setDailyActivationTimeRange(TimeRange pDailyActivationTimeRange)
Sets the daily activation time range - aggregation of beginning and
ending time of day, where this schedule should be active. Can be set to
null
, which makes this schedule active throughout the day.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
pDailyActivationTimeRange
- daily activation time range to setTimeRange
,
RecurrenceAttributes.TimeOfDay
,
getStatus()
,
getDailyActivationTimeRange()
public java.lang.String getExcludedMonthDaysPattern()
Returns the pattern string for month days excluded from activation period. Semicolon and hyphen symbols are used as delimiters.
Example:"1;3;5-12;27".
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
setExcludedMonthDaysPattern(String)
,
getStatus()
public void setExcludedMonthDaysPattern(java.lang.String pExcludedMonthDaysPattern)
Sets the pattern string for month days excluded from activation period. Semicolon and hyphen symbols should be used as delimiters.
Example:"1;3;5-12;27".
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
pExcludedMonthDays
- excluded month days pattern to setgetExcludedMonthDaysPattern()
,
getStatus()
public RecurrenceAttributes.DayOfWeek[] getExcludedWeekDays()
Returns the array of week days excluded from activation period.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
#setExcludedWeekDays(DayOfWeek[])
,
getStatus()
,
RecurrenceAttributes.DayOfWeek
public void setExcludedWeekDays(RecurrenceAttributes.DayOfWeek[] pExcludedWeekDays)
Specifies the array of week days to be excluded from activation period.
This property is relevant only for ScheduleStatus.ACTIVE_FOR_PERIOD
status, and meaningless for others.
pExcludedWeekDays
- excluded week days to setgetExcludedWeekDays()
,
getStatus()
,
RecurrenceAttributes.DayOfWeek
public Recurrence getRecurrence()
Recurrence
,
setRecurrence(Recurrence)
public void setRecurrence(Recurrence pRecurrence)
pRecurrence
- recurrence to setDomainRuntimeException
- if specified recurrence is nullRecurrence
,
getRecurrence()
public Repetition getRepetition()
Repetition
,
setRepetition(Repetition)
public void setRepetition(Repetition pRepetition)
pRepetition
- repetition to setDomainRuntimeException
- if specified repetition is nullRepetition
,
getRepetition()
public Period getMaxRunDuration()
null
, which means no limit.setMaxRunDuration(Period)
,
Period
public void setMaxRunDuration(Period pMaxRunDuration)
null
, which means no
limit.pMaxRunDuration
- maximum duration of one run to setgetMaxRunDuration()
,
Period
public int getAttemptNbOnFailure()
setAttemptNbOnFailure(int)
public void setAttemptNbOnFailure(int pAttemptNbOnFailure)
pAttemptNbOnFailure
- number of attempts on error to setDomainRuntimeException
- if specified number is not valid
(less than -1)getAttemptNbOnFailure()
public java.util.Collection getJobStartupParams()
OdiJobStartupParam
s related
to this schedule. This collection contains startup parameters for Session
or Load Plan Instance.OdiJobStartupParam
,
removeJobStartupParam(OdiJobStartupParam)
public void removeJobStartupParam(OdiJobStartupParam pStartupParam)
pStartupParam
- startup parameter to removeDomainRuntimeException
- if specified param is not relevant to this
scheduleOdiJobStartupParam
,
getJobStartupParams()
public java.lang.String getName()
Note: name is optional parameter (may be null).
getName
in interface IOdiEntity
getName
in class oracle.odi.domain.support.AbstractOdiEntity
setName(String)
public void setName(java.lang.String pName)
Note: name is optional parameter (may be null).
pName
- namegetName()