XMT-O Reference Software

xmto2xmta.timegraph
Class TimeContainer

java.lang.Object
  |
  +--xmto2xmta.timegraph.Container
        |
        +--xmto2xmta.timegraph.TimeContainer
Direct Known Subclasses:
MediaTimeContainer, ParTimeContainer, SeqTimeContainer

public class TimeContainer
extends Container

Time container in timing graph. Parent of all actual timed elements.

History:


Field Summary
private  int accIterationCount
           
private  Time accIterationDur
           
static int BEGIN
           
private  ContainerLife containerLife
           
private  Interval currentInterval
           
private  Time curSamplingTime
           
private  Time dur
           
private  int durType
           
static int DURTYPE_MEDIA
           
static java.lang.String[] DURTYPE_NAME
           
static int DURTYPE_TIMEVALUE
           
static int DURTYPE_UNSPECIFIED
           
static int END
           
private  boolean endSpecifiedDetermined
           
private  boolean endSpecifiedResult
           
static int ENDSYNC_ALL
           
static int ENDSYNC_FIRST
           
static int ENDSYNC_ID
           
static int ENDSYNC_LAST
           
static int ENDSYNC_MEDIA
           
static java.lang.String[] ENDSYNC_NAME
           
private  java.lang.Integer endsyncID
           
private  int endsyncRule
           
private  java.util.Vector eventDependents
           
private  int fill
           
static int FILL_AUTO
           
static int FILL_DEFAULT
           
static int FILL_FREEZE
           
static int FILL_HOLD
           
static int FILL_INHERIT
           
static java.lang.String[] FILL_NAME
           
static int FILL_REMOVE
           
static int FILL_TRANSITION
           
private  int fillDefault
           
private  LifeInterval fillInterval
           
private  boolean fillTime
           
private  java.util.HashMap globalToLocalTimeCache
           
private  boolean hasStarted
           
private  Time implicitDur
           
private  InstanceTimeList[] instanceTimeList
           
private  Time intrinsicDur
           
private  Time lastActiveEnd
           
private  Time lifeBegin
           
private  java.util.Vector lifeHistory
           
private  LifeInterval lifeInterval
           
private  Time max
           
private  int maxType
           
private  Time min
           
static int MINMAX_MEDIA
           
static java.lang.String[] MINMAX_NAME
           
static int MINMAX_TIMEVALUE
           
private  int minType
           
private  Time naturalEnd
           
private  float repeatCount
           
private  boolean repeatCountIndefinite
           
private  boolean repeatCountSpecified
           
private  Time repeatDur
           
private  boolean repeatDurSpecified
           
private  int restart
           
static int RESTART_ALWAYS
           
static int RESTART_DEFAULT
           
static int RESTART_INHERIT
           
static java.lang.String[] RESTART_NAME
           
static int RESTART_NEVER
           
static int RESTART_WHENNOTACTIVE
           
private  int restartDefault
           
private  boolean siblingSaysNoFill
           
private  Time simpleDur
           
private  int state
           
static int STATE_ACTIVE
           
static int STATE_DEAD
           
static java.lang.String[] STATE_NAME
           
static int STATE_WAITING
           
private  java.util.Vector syncbaseDependents
           
private  java.util.Vector[] syncConditions
          The following section contains timing attributes from the XMT-O doc element.
 
Fields inherited from class xmto2xmta.timegraph.Container
children, errWriter, id, parent, timeGraph, writer
 
Constructor Summary
TimeContainer()
           
TimeContainer(java.lang.Integer id, Container parent)
           
TimeContainer(TimeGraph timeGraph, java.lang.Integer id, Container parent)
           
 
Method Summary
private  boolean addInstanceTime(TimeContainer syncbase, Interval interval, boolean begin)
          add a new syncbase interval to the begin or end instance time list.
 void beginSimpleDuration()
          Element is starting a new simple duration now.
private  Time[] calcActiveEnd(Time begin)
           
private  Time[] calcActiveEnd(Time begin, Time endConstraint)
           
private  boolean changeCurInstanceTime(TimeContainer syncbase, Interval interval, boolean begin)
          A syncbase element changed its current interval.
 void changeIntervalNotice(TimeContainer syncbase, Interval interval)
          Called by a syncbase element.
 void childHasEnded()
          Called by a child when it ends its active interval.
private  void clearAllEventInstanceTimes(java.util.Vector conditions, InstanceTimeList instanceTimeList)
          When an element restarts, all event-based instance times must be cleared.
 Time[] computeActiveDur(Time begin)
           
 Time[] computeActiveDur(Time begin, Time end)
          Compute active duration that begins at a definite time, and constrained by the end time (if the end time is resolved).
protected  Time computeImplicitDur()
          Compute the implicit dur of the element.
private  Time computeIntermediateActiveDur()
           
 Time computeIntrinsicDur()
           
 Time computeSimpleDur()
           
 Time convertFromAscendantToLocalTime(TimeContainer ascendant, Time ascendantTime)
          Convert an ascendant's local time to my local time.
private  Interval convertFromGlobalIntervalToLocal(Interval interval)
          Convert an interval in global time to local time.
 Time convertFromGlobalToLocalTime(Time globalTime)
          Convert a global time to a local time and return the local time.
 Time convertFromLocalToGlobalTime(Time localTime)
           
 Time convertLocalToAscendantTime(TimeContainer ascendant, Time myLocalTime)
          Convert an element's local time (in parent's simple time) to the ascendant's simple time.
 Time convertRemoteToLocalTime(TimeContainer fromContainer, Time fromTime)
          Convert another element's local time (i.e., parent simple time), to this element's local time.
private  void deleteCurInstanceTime(TimeContainer syncbase, boolean begin)
          A syncbase element deleted its current interval.
 void deleteIntervalNotice(TimeContainer syncbase)
          Called by a syncbase element.
 boolean durSpecified()
           
 void endCurInterval()
          Element is scheduled to end the current active interval now.
private  boolean endHasEventConditions()
           
 void endNaturalInterval()
          End the current natural (no min) interval
 void endSimpleDuration()
          Element is ending the current simple duration now.
 boolean endSpecified()
           
 void fastForwardMedia()
          Element begins earlier than the parent simple time.
private  void freeze()
           
 int getAccIterationCount()
           
 Time getAccIterationDur()
           
 java.util.Vector getBeginConditions()
           
 InstanceTimeList getBeginInstanceTimeList()
           
 Interval getCurrentInterval()
           
 Time getCurrentLocalTime()
          Get the current local time in parent simple time.
 Time getCurrentTime()
          Get the current global time.
 Time getDur()
           
 int getDurType()
           
 java.util.Vector getEndConditions()
           
 InstanceTimeList getEndInstanceTimeList()
           
 java.lang.Integer getEndsyncID()
           
 int getEndsyncRule()
           
 java.util.Vector getEventDependents()
           
 int getFill()
           
 int getFillDefault()
           
 Time getImplicitDur()
           
 Time getIntrinsicDur()
           
 java.util.Vector getLifeHistory()
           
 Time getMax()
           
 int getMaxType()
           
 Time getMin()
           
 int getMinType()
           
private  Interval getNextActiveInterval(Time beginAfter, Time minEndTime, boolean skipZeroSizeInterval)
           
private  Time[] getNextEndTime(Time begin)
          Given a begin time, compute the nearest end time that comes at or after the begin time.
 float getRepeatCount()
           
 Time getRepeatDur()
           
 int getRestart()
           
 int getRestartDefault()
           
 Time getSimpleDur()
           
 int getState()
           
 java.util.Vector getSyncbaseDependents()
           
 boolean hasResolvedBegin(Time from)
           
 boolean hasStarted()
           
 boolean isActiveOrDead()
           
 boolean isRepeatCountIndefinite()
           
 boolean isRepeatCountSpecified()
           
 boolean isRepeatDurSpecified()
           
 void newIntervalNotice(TimeContainer syncbase, Interval interval)
          Called by a syncbase element.
 void nextSamplingTime(Time globalTime, java.lang.String msg)
           
private  void recomputeActiveCurIntervalEndTime()
           
private  void recomputeNextWaitingInterval()
           
private  void release()
           
 void removeSamplingTime(Time globalTime)
           
 void removeSyncbaseInstanceTimes(TimeContainer whoRestarted)
          Called by the parent when an ancestor is reset.
private  void removeSyncbaseInstanceTimes(TimeContainer whoRestarted, java.util.Vector conditions, InstanceTimeList instanceTimeList)
           
 boolean repeatCountSpecified()
           
 boolean repeatDurSpecified()
           
 void repeatSimpleDuration()
           
 void reset(TimeContainer whoRestarted, ELASid parentELASid)
          Called by the parent when the parent's simple duration begins at the start of a new active duration or at each repeat.
private  void resyncSyncbaseInstanceTimes(TimeContainer whoStarted, java.util.Vector conditions, InstanceTimeList instanceTimeList)
          When an element is reset, must resync the syncbase instance times.
 void sample()
          The main entry point for the time container.
 void sendChangeIntervalNotice()
          Notify all syncbase and event dependents of a change in current interval.
 void sendDeleteIntervalNotice()
          Notify all syncbase dependents that the current interval is deleted.
 void sendNewIntervalNotice()
          Notify all syncbase and event dependents of a new current interval.
 void setBeginConditions(java.util.Vector conditions)
           
 void setDur(int durType, Time dur)
           
 void setEndConditions(java.util.Vector conditions)
           
 void setEndsyncRule(int endsyncRule)
           
 void setEndsyncRule(int endsyncRule, java.lang.Integer endsyncID)
           
 void setEventDependents(java.util.Vector dependents)
           
 void setFill(int fill)
           
 void setFillDefault(int fillDefault)
           
 void setImplicitDur(Time implicitDur)
           
 void setIntrinsicDur(Time intrinsicDur)
           
 void setMax(int maxType, Time max)
           
 void setMin(int minType, Time min)
           
 void setRepeatCount(float repeatCount)
           
 void setRepeatCountIndefinite()
           
 void setRepeatDur(Time repeatDur)
           
 void setRestart(int restart)
           
 void setRestartDefault(int restartDefault)
           
 void setSimpleDur(Time simpleDur)
           
 void setSyncbaseDependents(java.util.Vector dependents)
           
private  void startFill()
           
 void startNewInterval()
          Element is scheduled to start a new active interval now.
 void stop()
           
 void stop(ELASid elasid)
          Called by the parent when the parent's simple duration ends at the end of the parent's active interval or at each repeat.
 void stopCurInterval()
          Stop the currently running active interval now.
private  void stopFill()
           
private  void stopFillBySibling()
           
private  void stopPrevSiblingFill()
           
protected  boolean timeContainerHasEnded()
          Decide if the time container simple interval has ended by now based on the endsync rule.
 
Methods inherited from class xmto2xmta.timegraph.Container
addChild, children, getChildren, getCommonAscendant, getID, getNextChild, getParent, getPrevChild, getRoot, getTimeGraph, hasEvent, isAscendantOf, isCommonAscendantOf, setID, setParent, setTimeGraph
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

STATE_DEAD

public static final int STATE_DEAD

STATE_ACTIVE

public static final int STATE_ACTIVE

STATE_WAITING

public static final int STATE_WAITING

STATE_NAME

public static final java.lang.String[] STATE_NAME

FILL_DEFAULT

public static final int FILL_DEFAULT

FILL_REMOVE

public static final int FILL_REMOVE

FILL_FREEZE

public static final int FILL_FREEZE

FILL_HOLD

public static final int FILL_HOLD

FILL_TRANSITION

public static final int FILL_TRANSITION

FILL_AUTO

public static final int FILL_AUTO

FILL_INHERIT

public static final int FILL_INHERIT

FILL_NAME

public static final java.lang.String[] FILL_NAME

RESTART_DEFAULT

public static final int RESTART_DEFAULT

RESTART_ALWAYS

public static final int RESTART_ALWAYS

RESTART_WHENNOTACTIVE

public static final int RESTART_WHENNOTACTIVE

RESTART_NEVER

public static final int RESTART_NEVER

RESTART_INHERIT

public static final int RESTART_INHERIT

RESTART_NAME

public static final java.lang.String[] RESTART_NAME

ENDSYNC_MEDIA

public static final int ENDSYNC_MEDIA

ENDSYNC_LAST

public static final int ENDSYNC_LAST

ENDSYNC_ALL

public static final int ENDSYNC_ALL

ENDSYNC_FIRST

public static final int ENDSYNC_FIRST

ENDSYNC_ID

public static final int ENDSYNC_ID

ENDSYNC_NAME

public static final java.lang.String[] ENDSYNC_NAME

DURTYPE_UNSPECIFIED

public static final int DURTYPE_UNSPECIFIED

DURTYPE_TIMEVALUE

public static final int DURTYPE_TIMEVALUE

DURTYPE_MEDIA

public static final int DURTYPE_MEDIA

DURTYPE_NAME

public static final java.lang.String[] DURTYPE_NAME

MINMAX_TIMEVALUE

public static final int MINMAX_TIMEVALUE

MINMAX_MEDIA

public static final int MINMAX_MEDIA

MINMAX_NAME

public static final java.lang.String[] MINMAX_NAME

BEGIN

public static final int BEGIN

END

public static final int END

syncConditions

private java.util.Vector[] syncConditions
The following section contains timing attributes from the XMT-O doc element. Once set,these values cannot change throughout the life of the document.

durType

private int durType

dur

private Time dur

repeatCountSpecified

private boolean repeatCountSpecified

repeatCount

private float repeatCount

repeatCountIndefinite

private boolean repeatCountIndefinite

repeatDurSpecified

private boolean repeatDurSpecified

repeatDur

private Time repeatDur

restart

private int restart

restartDefault

private int restartDefault

fill

private int fill

fillDefault

private int fillDefault

minType

private int minType

min

private Time min

maxType

private int maxType

max

private Time max

endsyncRule

private int endsyncRule

endsyncID

private java.lang.Integer endsyncID

syncbaseDependents

private java.util.Vector syncbaseDependents

eventDependents

private java.util.Vector eventDependents

instanceTimeList

private InstanceTimeList[] instanceTimeList

globalToLocalTimeCache

private java.util.HashMap globalToLocalTimeCache

lifeHistory

private java.util.Vector lifeHistory

containerLife

private ContainerLife containerLife

lifeInterval

private LifeInterval lifeInterval

fillInterval

private LifeInterval fillInterval

fillTime

private boolean fillTime

state

private int state

intrinsicDur

private Time intrinsicDur

implicitDur

private Time implicitDur

simpleDur

private Time simpleDur

naturalEnd

private Time naturalEnd

currentInterval

private Interval currentInterval

accIterationCount

private int accIterationCount

accIterationDur

private Time accIterationDur

hasStarted

private boolean hasStarted

lifeBegin

private Time lifeBegin

lastActiveEnd

private Time lastActiveEnd

curSamplingTime

private Time curSamplingTime

siblingSaysNoFill

private boolean siblingSaysNoFill

endSpecifiedDetermined

private boolean endSpecifiedDetermined

endSpecifiedResult

private boolean endSpecifiedResult
Constructor Detail

TimeContainer

public TimeContainer()

TimeContainer

public TimeContainer(java.lang.Integer id,
                     Container parent)

TimeContainer

public TimeContainer(TimeGraph timeGraph,
                     java.lang.Integer id,
                     Container parent)
Method Detail

setBeginConditions

public void setBeginConditions(java.util.Vector conditions)

getBeginConditions

public java.util.Vector getBeginConditions()

setEndConditions

public void setEndConditions(java.util.Vector conditions)

getEndConditions

public java.util.Vector getEndConditions()

setSyncbaseDependents

public void setSyncbaseDependents(java.util.Vector dependents)

getSyncbaseDependents

public java.util.Vector getSyncbaseDependents()

setEventDependents

public void setEventDependents(java.util.Vector dependents)

getEventDependents

public java.util.Vector getEventDependents()

setDur

public void setDur(int durType,
                   Time dur)

getDurType

public int getDurType()

getDur

public Time getDur()

setRepeatCount

public void setRepeatCount(float repeatCount)

setRepeatCountIndefinite

public void setRepeatCountIndefinite()

isRepeatCountSpecified

public boolean isRepeatCountSpecified()

isRepeatCountIndefinite

public boolean isRepeatCountIndefinite()

getRepeatCount

public float getRepeatCount()

setRepeatDur

public void setRepeatDur(Time repeatDur)

isRepeatDurSpecified

public boolean isRepeatDurSpecified()

getRepeatDur

public Time getRepeatDur()

setMin

public void setMin(int minType,
                   Time min)

getMinType

public int getMinType()

getMin

public Time getMin()

setMax

public void setMax(int maxType,
                   Time max)

getMaxType

public int getMaxType()

getMax

public Time getMax()

setRestart

public void setRestart(int restart)

getRestart

public int getRestart()

setRestartDefault

public void setRestartDefault(int restartDefault)

getRestartDefault

public int getRestartDefault()

setFill

public void setFill(int fill)

getFill

public int getFill()

setFillDefault

public void setFillDefault(int fillDefault)

getFillDefault

public int getFillDefault()

setEndsyncRule

public void setEndsyncRule(int endsyncRule,
                           java.lang.Integer endsyncID)

setEndsyncRule

public void setEndsyncRule(int endsyncRule)

getEndsyncRule

public int getEndsyncRule()

getEndsyncID

public java.lang.Integer getEndsyncID()

setIntrinsicDur

public void setIntrinsicDur(Time intrinsicDur)

getIntrinsicDur

public Time getIntrinsicDur()

setImplicitDur

public void setImplicitDur(Time implicitDur)

getImplicitDur

public Time getImplicitDur()

setSimpleDur

public void setSimpleDur(Time simpleDur)

getSimpleDur

public Time getSimpleDur()

getAccIterationDur

public Time getAccIterationDur()

getAccIterationCount

public int getAccIterationCount()

isActiveOrDead

public boolean isActiveOrDead()

hasStarted

public boolean hasStarted()

getCurrentInterval

public Interval getCurrentInterval()

hasResolvedBegin

public boolean hasResolvedBegin(Time from)

endSpecified

public boolean endSpecified()

durSpecified

public boolean durSpecified()

repeatDurSpecified

public boolean repeatDurSpecified()

repeatCountSpecified

public boolean repeatCountSpecified()

getState

public int getState()

getBeginInstanceTimeList

public InstanceTimeList getBeginInstanceTimeList()

getEndInstanceTimeList

public InstanceTimeList getEndInstanceTimeList()

getLifeHistory

public java.util.Vector getLifeHistory()

sample

public void sample()
The main entry point for the time container. The time graph calls it at the next scheduled event time for this container.

nextSamplingTime

public void nextSamplingTime(Time globalTime,
                             java.lang.String msg)

removeSamplingTime

public void removeSamplingTime(Time globalTime)

reset

public void reset(TimeContainer whoRestarted,
                  ELASid parentELASid)
Called by the parent when the parent's simple duration begins at the start of a new active duration or at each repeat. The element resets itself to a pristine state ready to start a new life cycle. 'whoStarted' is the highest ancestor that started the chain of reset events.

resyncSyncbaseInstanceTimes

private void resyncSyncbaseInstanceTimes(TimeContainer whoStarted,
                                         java.util.Vector conditions,
                                         InstanceTimeList instanceTimeList)
When an element is reset, must resync the syncbase instance times. The syncbase instance times are in the global time. Convert the global time to the local time.

removeSyncbaseInstanceTimes

public void removeSyncbaseInstanceTimes(TimeContainer whoRestarted)
Called by the parent when an ancestor is reset. When an element is reset, all descendants' syncbase instance times are removed when the resetting element is a common ascendant of both the syncbase and the dependent.

removeSyncbaseInstanceTimes

private void removeSyncbaseInstanceTimes(TimeContainer whoRestarted,
                                         java.util.Vector conditions,
                                         InstanceTimeList instanceTimeList)

stop

public void stop(ELASid elasid)
Called by the parent when the parent's simple duration ends at the end of the parent's active interval or at each repeat. We must stop the current active interval and stop all the descendants of this element as well.

stop

public void stop()

startNewInterval

public void startNewInterval()
Element is scheduled to start a new active interval now.

clearAllEventInstanceTimes

private void clearAllEventInstanceTimes(java.util.Vector conditions,
                                        InstanceTimeList instanceTimeList)
When an element restarts, all event-based instance times must be cleared.

endCurInterval

public void endCurInterval()
Element is scheduled to end the current active interval now.

stopCurInterval

public void stopCurInterval()
Stop the currently running active interval now.

endNaturalInterval

public void endNaturalInterval()
End the current natural (no min) interval

childHasEnded

public void childHasEnded()
Called by a child when it ends its active interval. If the parent's simple time is unresolved because it depends on its endsync logic, whenever a child ends, the parent recalculates the implicit dur.

beginSimpleDuration

public void beginSimpleDuration()
Element is starting a new simple duration now.

endSimpleDuration

public void endSimpleDuration()
Element is ending the current simple duration now.

repeatSimpleDuration

public void repeatSimpleDuration()

fastForwardMedia

public void fastForwardMedia()
Element begins earlier than the parent simple time. Pretend it started earlier and fast forward to the current time, which also happens to be the beginning of the current life cycle. Only media elements with an intrinsic duration with no timed children are processed. A hack.

sendNewIntervalNotice

public void sendNewIntervalNotice()
Notify all syncbase and event dependents of a new current interval.

newIntervalNotice

public void newIntervalNotice(TimeContainer syncbase,
                              Interval interval)
Called by a syncbase element. A syncbase element created a new active interval. The interval time is in the global time space without the local syncbase offset added.

addInstanceTime

private boolean addInstanceTime(TimeContainer syncbase,
                                Interval interval,
                                boolean begin)
add a new syncbase interval to the begin or end instance time list.

recomputeNextWaitingInterval

private void recomputeNextWaitingInterval()

recomputeActiveCurIntervalEndTime

private void recomputeActiveCurIntervalEndTime()

sendChangeIntervalNotice

public void sendChangeIntervalNotice()
Notify all syncbase and event dependents of a change in current interval.

changeIntervalNotice

public void changeIntervalNotice(TimeContainer syncbase,
                                 Interval interval)
Called by a syncbase element. syncbase or event element sent a change interval notice. update the corresponding the begin and end instance times.

changeCurInstanceTime

private boolean changeCurInstanceTime(TimeContainer syncbase,
                                      Interval interval,
                                      boolean begin)
A syncbase element changed its current interval. We must change our corresponding instance times.

sendDeleteIntervalNotice

public void sendDeleteIntervalNotice()
Notify all syncbase dependents that the current interval is deleted.

deleteIntervalNotice

public void deleteIntervalNotice(TimeContainer syncbase)
Called by a syncbase element. Syncbase or event element sent delete the current interval notice. Delete the corresponding the begin and end instance times.

deleteCurInstanceTime

private void deleteCurInstanceTime(TimeContainer syncbase,
                                   boolean begin)
A syncbase element deleted its current interval. We must delete our corresponding instance times.

getNextActiveInterval

private Interval getNextActiveInterval(Time beginAfter,
                                       Time minEndTime,
                                       boolean skipZeroSizeInterval)

getNextEndTime

private Time[] getNextEndTime(Time begin)
Given a begin time, compute the nearest end time that comes at or after the begin time. If restart == always, a time in the begin instance time list that comes before any times in the end instance time list is returned. If no such end time exists, but there are unresolved event-based end conditions or the end instance time list is empty, unresolved time is returned. The second element of the return data is simply a flag indicating whether the returned end time is from the begin instance time list or not. If it's not null, it indicates it comes from the begin list. This flag can be used to determine if the active interval that is computed based on this end time can be extended by the min symantics. I.e., if the end time is actually another begin instance time, and restart==always, the interval cannot be extended by the min.

calcActiveEnd

private Time[] calcActiveEnd(Time begin)

calcActiveEnd

private Time[] calcActiveEnd(Time begin,
                             Time endConstraint)

computeSimpleDur

public Time computeSimpleDur()

computeIntrinsicDur

public Time computeIntrinsicDur()

computeImplicitDur

protected Time computeImplicitDur()
Compute the implicit dur of the element. This is only needed when the computation of the simple dur requires the implicit dur. If the implicit dur is already resolved, just return the current value. Otherwise, calculate the value based on the endsync rule, and in the case of media time containers, the intrinsic dur is also considered.

timeContainerHasEnded

protected boolean timeContainerHasEnded()
Decide if the time container simple interval has ended by now based on the endsync rule.

computeActiveDur

public Time[] computeActiveDur(Time begin)

computeActiveDur

public Time[] computeActiveDur(Time begin,
                               Time end)
Compute active duration that begins at a definite time, and constrained by the end time (if the end time is resolved).

computeIntermediateActiveDur

private Time computeIntermediateActiveDur()

endHasEventConditions

private boolean endHasEventConditions()

startFill

private void startFill()

stopFill

private void stopFill()

freeze

private void freeze()

release

private void release()

stopFillBySibling

private void stopFillBySibling()

stopPrevSiblingFill

private void stopPrevSiblingFill()

getCurrentTime

public Time getCurrentTime()
Get the current global time.

getCurrentLocalTime

public Time getCurrentLocalTime()
Get the current local time in parent simple time.

convertRemoteToLocalTime

public Time convertRemoteToLocalTime(TimeContainer fromContainer,
                                     Time fromTime)
Convert another element's local time (i.e., parent simple time), to this element's local time.

convertFromAscendantToLocalTime

public Time convertFromAscendantToLocalTime(TimeContainer ascendant,
                                            Time ascendantTime)
Convert an ascendant's local time to my local time.

convertFromGlobalToLocalTime

public Time convertFromGlobalToLocalTime(Time globalTime)
Convert a global time to a local time and return the local time. If it's not in the cache already, do the conversion, and store it there.

convertFromLocalToGlobalTime

public Time convertFromLocalToGlobalTime(Time localTime)

convertLocalToAscendantTime

public Time convertLocalToAscendantTime(TimeContainer ascendant,
                                        Time myLocalTime)
Convert an element's local time (in parent's simple time) to the ascendant's simple time.

convertFromGlobalIntervalToLocal

private Interval convertFromGlobalIntervalToLocal(Interval interval)
Convert an interval in global time to local time.

XMT-O Reference Software