public abstract class AbstractCriticalPathMethod extends java.lang.Object implements ICriticalPathMethod
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.Object |
model |
protected SKDActivityDuration |
skdActivityDuration |
protected UserInfo |
userInfo |
protected java.util.TimeZone |
userTimeZone |
| Constructor and Description |
|---|
AbstractCriticalPathMethod(java.lang.Object model,
UserInfo userInfo) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract java.util.Iterator |
activityAncestorsIterator(IMXActivity activity) |
protected abstract java.util.Iterator |
activityPreorderIterator() |
protected abstract java.util.Iterator |
activityPreorderIterator(IMXActivity activity) |
protected java.util.Date |
addDurationToDate(java.util.Date date,
ilog.views.gantt.IlvDuration duration)
Returns a new Date that is the sum of the specified time and this duration
|
protected java.util.Date[] |
applyPredecessorConstraints(IMXActivity activity,
java.util.Date parentEarlyStart,
ilog.views.gantt.IlvDuration activityDuration)
Apply constraint type to the activity and get early and finish dates
|
protected java.util.Date[] |
applySuccessorConstraints(IMXActivity activity,
java.util.Date parentLatestFinish,
ilog.views.gantt.IlvDuration activityDuration)
Apply constraint type to the activity and get latest start and finish dates
|
protected abstract java.util.Iterator |
childActivityIterator(IMXActivity activity) |
protected void |
clearCPMProperties()
Clear the CPM properties for all activities.
|
protected void |
clearCPMProperties(IMXActivity[] selectedActivities)
Clear the CPM properties for selected activities.
|
protected void |
computeEarlyStartAndFinish(IMXActivity activity)
Forward pass to compute the early start and early finish
|
protected void |
computeEarlyStartAndFinish(IMXActivity activity,
java.util.Date parentEarlyStart)
Forward pass to compute the early start and early finish
|
protected void |
computeFloat(IMXActivity activity)
Compute float for an activity
|
protected void |
computeLateStartAndFinish(IMXActivity activity)
Backward pass to compute the late start and late finish
|
protected void |
computeLateStartAndFinish(IMXActivity activity,
java.util.Date parentLatestFinish)
Backward pass to compute the late start and late finish
|
boolean |
computeSchedule()
Computed the critical path for the project
|
IMXActivity[] |
computeSchedule(IMXActivity[] selectedActivities)
Computes the critical path for selected activities
|
protected abstract java.util.Iterator |
constraintIteratorFromActivity(IMXActivity activity) |
protected abstract java.util.Iterator |
constraintIteratorToActivity(IMXActivity activity) |
protected abstract IMXActivity |
getActivityByID(java.lang.String activityID) |
protected double |
getActivityDuration(IMXActivity activity) |
protected abstract int |
getChildActivityCount(IMXActivity activity) |
protected ilog.views.gantt.IlvDuration |
getLeadLagDuration(java.lang.Double leadLagHours)
Get the lead/lag in IlvDuration
|
protected abstract IMXActivity |
getRootActivity() |
protected ilog.views.gantt.IlvTimeInterval |
getTimeInterval(IMXActivity activity,
boolean useEarlyDates) |
protected abstract void |
handleModifiedActivity(IMXActivity activity) |
protected abstract boolean |
recalculateParentActivity(IMXActivity activity) |
protected void |
setCriticalThreshold(ilog.views.gantt.IlvDuration ilvduration)
Sets the critical threshold for the project
|
void |
setProjectEnd(java.util.Date projectEnd)
Sets project end date
|
void |
setProjectStart(java.util.Date projectStart)
Sets project start date
|
protected java.util.Date |
subtractDurationFromDate(java.util.Date date,
ilog.views.gantt.IlvDuration duration)
Returns a new Date that is the subtraction of the specified time and this duration
|
protected java.util.Date |
truncateDate(java.util.Date date)
Removes seconds and milliseconds from Activity dates, in order to avoid interference
on float values calculations.
|
protected UserInfo userInfo
protected java.util.TimeZone userTimeZone
protected java.lang.Object model
protected SKDActivityDuration skdActivityDuration
public AbstractCriticalPathMethod(java.lang.Object model,
UserInfo userInfo)
public void setProjectStart(java.util.Date projectStart)
setProjectStart in interface ICriticalPathMethodprojectStart - public void setProjectEnd(java.util.Date projectEnd)
projectEnd - protected void setCriticalThreshold(ilog.views.gantt.IlvDuration ilvduration)
ilvduration - protected void clearCPMProperties()
protected void clearCPMProperties(IMXActivity[] selectedActivities)
public boolean computeSchedule()
throws java.lang.Exception
computeSchedule in interface ICriticalPathMethodilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionpublic IMXActivity[] computeSchedule(IMXActivity[] selectedActivities) throws java.lang.Exception
computeSchedule in interface ICriticalPathMethodselectedActivities - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected void computeEarlyStartAndFinish(IMXActivity activity) throws java.lang.Exception
activity - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected void computeEarlyStartAndFinish(IMXActivity activity, java.util.Date parentEarlyStart) throws java.lang.Exception
activity - parentEarlyStart - that must be used if not null.ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected java.util.Date[] applyPredecessorConstraints(IMXActivity activity, java.util.Date parentEarlyStart, ilog.views.gantt.IlvDuration activityDuration) throws java.lang.Exception
activity - parentEarlyStart - activityDuration - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected void computeLateStartAndFinish(IMXActivity activity) throws java.lang.Exception
activity - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected void computeLateStartAndFinish(IMXActivity activity, java.util.Date parentLatestFinish) throws java.lang.Exception
activity - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected java.util.Date[] applySuccessorConstraints(IMXActivity activity, java.util.Date parentLatestFinish, ilog.views.gantt.IlvDuration activityDuration) throws java.lang.Exception
activity - parentLatestFinish - activityDuration - ilog.views.gantt.model.IlvConstraintCycleExceptionjava.lang.Exceptionprotected void computeFloat(IMXActivity activity) throws java.lang.Exception
activity - java.lang.Exceptionprotected java.util.Date addDurationToDate(java.util.Date date,
ilog.views.gantt.IlvDuration duration)
activity - date - duration - protected java.util.Date subtractDurationFromDate(java.util.Date date,
ilog.views.gantt.IlvDuration duration)
activity - date - duration - protected ilog.views.gantt.IlvDuration getLeadLagDuration(java.lang.Double leadLagHours)
leadLagHours - protected java.util.Date truncateDate(java.util.Date date)
date - protected double getActivityDuration(IMXActivity activity) throws java.lang.Exception
java.lang.Exceptionprotected ilog.views.gantt.IlvTimeInterval getTimeInterval(IMXActivity activity, boolean useEarlyDates)
protected abstract IMXActivity getRootActivity()
protected abstract java.util.Iterator activityAncestorsIterator(IMXActivity activity)
protected abstract java.util.Iterator activityPreorderIterator()
protected abstract java.util.Iterator activityPreorderIterator(IMXActivity activity)
protected abstract java.util.Iterator childActivityIterator(IMXActivity activity)
protected abstract java.util.Iterator constraintIteratorFromActivity(IMXActivity activity)
protected abstract java.util.Iterator constraintIteratorToActivity(IMXActivity activity)
protected abstract int getChildActivityCount(IMXActivity activity)
protected abstract void handleModifiedActivity(IMXActivity activity)
protected abstract IMXActivity getActivityByID(java.lang.String activityID)
protected abstract boolean recalculateParentActivity(IMXActivity activity)