## org.apache.batik.anim.timing
Class TimedDocumentRoot

    java.lang.Object
      org.apache.batik.anim.timing.TimedElement
          org.apache.batik.anim.timing.TimeContainer
              org.apache.batik.anim.timing.TimedDocumentRoot

All Implemented Interfaces:
  SMILConstants

Direct Known Subclasses:
  SVGAnimationEngine.AnimationRoot

    public abstract class TimedDocumentRoot

extends TimeContainer

An abstract base class for the root time container element for a document.

Field Summary
`protected java.util.Calendar` `documentBeginTime` The wallclock time that the document began.
`protected boolean` `isHyperlinking` Whether the document is currently being sampled for a hyperlink.
`protected boolean` `isSampling` Whether the document is currently being sampled.
`protected java.util.LinkedList` `listeners` List of {link TimegraphListener}s to be notified of changes to the timed elements in this document.
`protected DoublyIndexedSet` `propagationFlags` A set to determine when propagation of new Instance times should be stopped.
`protected boolean` `useSVG11AccessKeys` Allows the use of accessKey() timing specifiers with a single character, as specified in SVG 1.1.
`protected boolean` `useSVG12AccessKeys` Allows the use of accessKey() timing specifiers with a DOM 3 key name, as specified in SVG 1.2.

Fields inherited from class org.apache.batik.anim.timing.TimeContainer
`children`

Fields inherited from class org.apache.batik.anim.timing.TimedElement

`beginDependents, beginInstanceTimes, beginTimes, currentInterval, currentRepeatIteration, durMedia, endDependents, endInstanceTimes, endTimes, FILL_FREEZE, FILL_REMOVE, fillMode, handledEvents, hasParsed, hasPropagated, INDEFINITE, isActive, isFrozen, lastIntervalEnd, lastRepeatTime, lastSampleTime, localizableSupport, max, maxMedia, min, minMedia, parent, previousInterval, repeatCount, repeatDur, repeatDuration, RESOURCES, RESTART_ALWAYS, RESTART_NEVER, RESTART_WHEN_NOT_ACTIVE, restartMode, root, shouldUpdateCurrentInterval, simpleDur, UNRESOLVED`

Fields inherited from interface org.apache.batik.util.SMILConstants

`SMIL_ACCUMULATE_ATTRIBUTE, SMIL_ADDITIVE_ATTRIBUTE, SMIL_ALWAYS_VALUE, SMIL_ANIMATE_COLOR_TAG, SMIL_ANIMATE_MOTION_TAG, SMIL_ANIMATE_TAG, SMIL_ATTRIBUTE_NAME_ATTRIBUTE, SMIL_ATTRIBUTE_TYPE_ATTRIBUTE, SMIL_AUTO_VALUE, SMIL_BEGIN_ATTRIBUTE, SMIL_BEGIN_DEFAULT_VALUE, SMIL_BEGIN_EVENT_NAME, SMIL_BY_ATTRIBUTE, SMIL_CALC_MODE_ATTRIBUTE, SMIL_CSS_VALUE, SMIL_DEFAULT_VALUE, SMIL_DISCRETE_VALUE, SMIL_DUR_ATTRIBUTE, SMIL_END_ATTRIBUTE, SMIL_END_EVENT_NAME, SMIL_FILL_ATTRIBUTE, SMIL_FREEZE_VALUE, SMIL_FROM_ATTRIBUTE, SMIL_HOLD_VALUE, SMIL_INDEFINITE_VALUE, SMIL_KEY_POINTS_ATTRIBUTE, SMIL_KEY_SPLINES_ATTRIBUTE, SMIL_KEY_TIMES_ATTRIBUTE, SMIL_LINEAR_VALUE, SMIL_MAX_ATTRIBUTE, SMIL_MEDIA_VALUE, SMIL_MIN_ATTRIBUTE, SMIL_NEVER_VALUE, SMIL_NONE_VALUE, SMIL_ORIGIN_ATTRIBUTE, SMIL_PACED_VALUE, SMIL_PATH_ATTRIBUTE, SMIL_REMOVE_VALUE, SMIL_REPEAT_COUNT_ATTRIBUTE, SMIL_REPEAT_DUR_ATTRIBUTE, SMIL_REPEAT_EVENT_ALT_NAME, SMIL_REPEAT_EVENT_NAME, SMIL_REPLACE_VALUE, SMIL_RESTART_ATTRIBUTE, SMIL_SET_TAG, SMIL_SPLINE_VALUE, SMIL_SUM_VALUE, SMIL_TO_ATTRIBUTE, SMIL_VALUES_ATTRIBUTE, SMIL_WHEN_NOT_ACTIVE_VALUE, SMIL_XML_VALUE`

Constructor Summary
`TimedDocumentRoot(boolean useSVG11AccessKeys, boolean useSVG12AccessKeys)` Creates a new TimedDocumentRoot.

Method Summary
`void` `addTimegraphListener(TimegraphListener l)` Adds a `TimegraphListener` to the document.
`float` `convertEpochTime(long t)` Converts an epoch time to document time.
`float` `convertWallclockTime(java.util.Calendar time)` Converts a wallclock time to document time.
`protected void` `currentIntervalWillUpdate()` Invoked by timed elements in this document to indicate that the current interval will be re-evaluated at the next sample.
`float` `getCurrentTime()` Returns the last sampled document time.
`float` `getDefaultBegin(TimedElement child)` Returns the default begin time for the given child timed element.
`java.util.Calendar` `getDocumentBeginTime()` Returns the wallclock time that the document began.
`protected abstract java.lang.String` `getEventNamespaceURI(java.lang.String eventName)` Returns the namespace URI of the event that corresponds to the given animation event name.
`protected abstract java.lang.String` `getEventType(java.lang.String eventName)` Returns the type of the event that corresponds to the given animation event name.
`protected float` `getImplicitDur()` Returns the implicit duration of the element.
`protected abstract java.lang.String` `getRepeatEventName()` Returns the name of the repeat event.
`boolean` `isHyperlinking()` Returns whether the document is currently being sampled for a hyperlink.
`boolean` `isSampling()` Returns whether the document is currently being sampled.
`void` `removeTimegraphListener(TimegraphListener l)` Removes a `TimegraphListener` from the document.
`void` `resetDocument(java.util.Calendar documentBeginTime)` Resets the entire timegraph.
`float` `seekTo(float time, boolean hyperlinking)` Samples the entire timegraph at the given time.

Methods inherited from class org.apache.batik.anim.timing.TimeContainer
`addChild, getChildren, isConstantAnimation, removeChild, reset, sampleAt, sampleChildren, setRoot`

Methods inherited from class org.apache.batik.anim.timing.TimedElement

`addDependent, addInstanceTime, beginElement, beginElement, canBegin, canEnd, computeInterval, createException, deinitialize, endElement, endElement, endHasEventConditions, fireTimeEvent, fireTimeEvent, formatMessage, getActiveDur, getActiveTime, getAnimationEventTarget, getCurrentBeginTime, getElement, getEventTargetById, getHyperlinkBeginTime, getLastSampleTime, getLocale, getRoot, getRootEventTarget, getSimpleDur, getSimpleTime, getTimedElementById, initialize, instanceTimeChanged, isBefore, isUnresolved, maxTime, minTime, minusTime, multiplyTime, notifyNewInterval, notifyRemoveInterval, parseAttributes, parseBegin, parseClockValue, parseDur, parseEnd, parseFill, parseMax, parseMin, parseRepeatCount, parseRepeatDur, parseRestart, removeDependent, removeFill, removeInstanceTime, sampledAt, sampledLastValue, selectNewInterval, setLocale, toActive, toInactive, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### documentBeginTime

    protected java.util.Calendar documentBeginTime

  The wallclock time that the document began.

### useSVG11AccessKeys

    protected boolean useSVG11AccessKeys

  Allows the use of accessKey() timing specifiers with a single character, as specified in SVG 1.1.

### useSVG12AccessKeys

    protected boolean useSVG12AccessKeys

  Allows the use of accessKey() timing specifiers with a DOM 3 key name, as specified in SVG 1.2.

### propagationFlags

    protected DoublyIndexedSet propagationFlags

  A set to determine when propagation of new Instance times should be stopped.

### listeners

    protected java.util.LinkedList listeners

  List of {link TimegraphListener}s to be notified of changes to the timed elements in this document.

### isSampling

    protected boolean isSampling

  Whether the document is currently being sampled.

### isHyperlinking

    protected boolean isHyperlinking

  Whether the document is currently being sampled for a hyperlink.

Constructor Detail

### TimedDocumentRoot

    public TimedDocumentRoot(boolean useSVG11AccessKeys,
                             boolean useSVG12AccessKeys)

  Creates a new TimedDocumentRoot.

  Parameters:
    `useSVG11AccessKeys` - allows the use of accessKey() timing specifiers with a single character
    `useSVG12AccessKeys` - allows the use of accessKey() with a DOM 3 key name

Method Detail

### getImplicitDur

    protected float getImplicitDur()

  Returns the implicit duration of the element. The document root has an `TimedElement.INDEFINITE` implicit duration.

  Overrides:
    `getImplicitDur` in class `TimedElement`

### getDefaultBegin

    public float getDefaultBegin(TimedElement child)

  Returns the default begin time for the given child timed element. In SVG, this is always 0, since the only time container is the root SVG element, which acts like a 'par'.

  Specified by:
    `getDefaultBegin` in class `TimeContainer`

### getCurrentTime

    public float getCurrentTime()

  Returns the last sampled document time.

### isSampling

    public boolean isSampling()

  Returns whether the document is currently being sampled.

### isHyperlinking

    public boolean isHyperlinking()

  Returns whether the document is currently being sampled for a hyperlink.

### seekTo

    public float seekTo(float time,
                        boolean hyperlinking)

  Samples the entire timegraph at the given time.

### resetDocument

    public void resetDocument(java.util.Calendar documentBeginTime)

  Resets the entire timegraph.

### getDocumentBeginTime

    public java.util.Calendar getDocumentBeginTime()

  Returns the wallclock time that the document began.

### convertEpochTime

    public float convertEpochTime(long t)

  Converts an epoch time to document time.

### convertWallclockTime

    public float convertWallclockTime(java.util.Calendar time)

  Converts a wallclock time to document time.

### addTimegraphListener

    public void addTimegraphListener(TimegraphListener l)

  Adds a `TimegraphListener` to the document.

### removeTimegraphListener

    public void removeTimegraphListener(TimegraphListener l)

  Removes a `TimegraphListener` from the document.

### currentIntervalWillUpdate

    protected void currentIntervalWillUpdate()

  Invoked by timed elements in this document to indicate that the current interval will be re-evaluated at the next sample. This should be overridden in a concrete class so that ticks can be scheduled immediately if they are currently paused due to no animations being active.

### getEventNamespaceURI

    protected abstract java.lang.String getEventNamespaceURI(java.lang.String eventName)

  Returns the namespace URI of the event that corresponds to the given animation event name.

### getEventType

    protected abstract java.lang.String getEventType(java.lang.String eventName)

  Returns the type of the event that corresponds to the given animation event name.

### getRepeatEventName

    protected abstract java.lang.String getRepeatEventName()

  Returns the name of the repeat event.

  Returns:
    either "repeat" or "repeatEvent"

Copyright © 2008 Apache Software Foundation. All Rights Reserved.