XMT-O Reference Software

xmtutil
Class TimingAttribute

java.lang.Object
  |
  +--xmtutil.TimingAttribute

public class TimingAttribute
extends java.lang.Object

Class to interpret the various timing that can occur in the timing attribute. NOTE: the grammar for the dur is not explicitly so it has been generated here to be based on the spec.

NOTE: the ";", "+", "(", ")" and "\" are not valid characters in XML ids. This is important when looking for delimiter variables in ids. Other delimiter characters "-", ":" and "." are valid characters in XML ids. In order to use them in ids located in TimingAttributes they need to be escaped with the "\" character. Thus they would appear in the id part of the attribute string as "\-", "\:" and "\.".

 begin-value-list     ::= begin-value (S ";" S begin-value-list )?
 begin-value          ::= (offset-value | syncbase-value | syncToPrev-value | event-value | repeat-value
                           | accessKey-value | media-marker-value | wallclock-sync-value | "indefinite" )
 end-value-list       ::= end-value (S ";" S end-value-list )?
 end-value            ::= (offset-value | syncbase-value | syncToPrev-value | event-value | repeat-value 
                           | accessKey-value | media-marker-value | wallclock-sync-value | "indefinite" )
 dur-value            ::= ( S ) ( Clock-value | "media" | "indefinite" ) ( S )
                     
 S                    ::= (#x20 | #x9 | #xD | #xA)*
 
 offset-value         ::= (( S "+" | "-" S )? ( Clock-value )
                     
 Clock-value          ::= ( Full-clock-value | Partial-clock-value | Timecount-value )
 Full-clock-value     ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
 Partial-clock-value  ::= Minutes ":" Seconds ("." Fraction)?
 Timecount-value      ::= Timecount ("." Fraction)? (Metric)?
 Metric               ::= "h" | "min" | "s" | "ms"
 Hours                ::= DIGIT+; any positive number
 Minutes              ::= 2DIGIT; range from 00 to 59
 Seconds              ::= 2DIGIT; range from 00 to 59
 Fraction             ::= DIGIT+
 Timecount            ::= DIGIT+
 2DIGIT               ::= DIGIT DIGIT
 DIGIT                ::= [0-9]
                     
 Syncbase-value       ::= ( Syncbase-element "." Time-symbol ) ( S ("+"|"-") S Clock-value )? 
 Syncbase-element     ::= Id-value
 Time-symbol          ::= "begin" | "end" 
 Id-value             ::= IDREF
                     
 SyncToPrev-value     ::= ( "prev." Time-symbol ) ( S ("+"|"-") S Clock-value )?  
                     
 Event-value          ::= ( Eventbase-element "." )? Event-symbol ( S ("+"|"-") S Clock-value )? 
 Eventbase-element    ::= ID 
                     
 Repeat-value         ::= ( Eventbase-element "." )? "repeat(" iteration ")" ( S ("+"|"-") S Clock-value )? 
 iteration            ::= DIGIT+  
                     
 AccessKey-value      ::= "accessKey(" character ")" ( S ("+"|"-") S Clock-value )? 
 
 Media-Marker-value   ::= Id-value ".marker(" S marker-name S ")" ) 
 
 wallclock-sync-value ::= "wallclock(" S (DateTime | WallTime)  S ")"
 DateTime             ::= Date "T" WallTime
 Date                 ::= Years "-" Months "-" Days
 WallTime             ::= (HHMM-Time | HHMMSS-Time)(TZD)?
 HHMM-Time            ::= Hours24 ":" Minutes
 HHMMSS-Time          ::= Hours24 ":" Minutes ":" Seconds ("." Fraction)?
 Years                ::= 4DIGIT;
 Months               ::= 2DIGIT; range from 01 to 12
 Days                 ::= 2DIGIT; range from 01 to 31
 Hours24              ::= 2DIGIT; range from 00 to 23
 4DIGIT               ::= DIGIT DIGIT DIGIT DIGIT
 TZD                  ::= "Z" | (("+" | "-") Hours24 ":" Minutes )
 

History:


Field Summary
static int ACCESS_KEY_VALUE
           
private static java.lang.String ACCESSKEY
           
private static java.lang.String ACCESSKEY_UNIQUE_KEY
           
private  char accessKeyCharacter_
           
private static java.lang.String ACTIVATE_EVENT
           
private static java.lang.String BEGIN
           
private static java.lang.String BEGIN_EVENT
           
private static java.lang.String CLICK
          Various Strings used in timing values
static int CLOCK_VALUE
           
private  long clockValue_
           
private static java.lang.String COLLIDE
           
private static boolean debug_
          Whether debug information is to be printed to the console.
private static java.lang.String END
           
private static java.lang.String END_EVENT
           
private  java.util.Vector errorMessages_
           
static int EVENT_VALUE
           
private  int eventSymbol_
           
private  java.lang.String eventSymbolString_
           
private static java.lang.String[] eventSymbolStrings_
           
private static java.lang.String FOCUS_IN_EVENT
           
private static java.lang.String FOCUS_OUT_EVENT
           
private  org.w3c.dom.Document idDocument_
           
private  java.util.Hashtable idTable_
           
private  java.lang.String idValue_
           
private static java.lang.String IN_BOUNDS_EVENT
           
private static java.lang.String INDEFINITE
           
static int INDEFINITE_VALUE
           
static int INVALID
          Various Types of timing values
private static java.lang.String MARKER
           
private static java.lang.String MARKER_UNIQUE_KEY
           
private static java.lang.String MEDIA
           
static int MEDIA_MARKER_VALUE
           
static int MEDIA_VALUE
           
private  java.lang.String mediaMarkerName_
           
private static java.lang.String MOUSEDOWN
           
private static java.lang.String MOUSEDRAG
           
private static java.lang.String MOUSEOUT
           
private static java.lang.String MOUSEOVER
           
private static java.lang.String MOUSEUP
           
static int MULTI_VALUE
           
private  java.util.Vector multiTimingAttributes_
           
private static java.lang.String NEAR
           
private static java.lang.String OUT_OF_BOUNDS_EVENT
           
private static java.lang.String PREV
           
private static java.lang.String PREV_BEGIN_UNIQUE_KEY
           
private static java.lang.String PREV_END_UNIQUE_KEY
           
private static java.lang.String REPEAT
           
private static java.lang.String REPEAT_EVENT
           
private static java.lang.String REPEAT_UNIQUE_KEY
           
static int REPEAT_VALUE
           
private  long repeatIteration_
           
static int SYMBOL_EVENT_ACTIVATE_EVENT
           
static int SYMBOL_EVENT_BEGIN_EVENT
           
static int SYMBOL_EVENT_CLICK
           
static int SYMBOL_EVENT_COLLIDE
           
static int SYMBOL_EVENT_END_EVENT
           
static int SYMBOL_EVENT_FOCUS_IN_EVENT
           
static int SYMBOL_EVENT_FOCUS_OUT_EVENT
           
static int SYMBOL_EVENT_IN_BOUNDS_EVENT
           
static int SYMBOL_EVENT_MOUSEDOWN
           
static int SYMBOL_EVENT_MOUSEDRAG
           
static int SYMBOL_EVENT_MOUSEOUT
           
static int SYMBOL_EVENT_MOUSEOVER
           
static int SYMBOL_EVENT_MOUSEUP
           
static int SYMBOL_EVENT_NEAR
           
static int SYMBOL_EVENT_OUT_OF_BOUNDS_EVENT
           
static int SYMBOL_EVENT_REPEAT_EVENT
           
static int SYMBOL_EVENT_UNKNOWN
          Various Types of known event symbols There is not a complete list of these symbols since they can be host defined Node the values for the ids need to line up with the string array.
static int SYMBOL_EVENT_VIEWABLE
           
static int SYMBOL_EVENT_VIEWPORT_CLOSED_EVENT
           
static int SYMBOL_EVENT_VIEWPORT_OPENED_EVENT
           
static int SYNC_TO_PREV_VALUE
           
private static java.lang.String SYNCBASE_BEGIN_UNIQUE_KEY
           
private static java.lang.String SYNCBASE_END_UNIQUE_KEY
           
static int SYNCBASE_VALUE
           
static int TIME_SYMBOL_BEGIN
          Various types of Syncbase values
static int TIME_SYMBOL_END
           
private  int timeSymbol_
           
private  java.util.ResourceBundle timingAttributeRes_
           
private  int timingValueType_
           
private static java.lang.String VIEWABLE
           
private static java.lang.String VIEWPORT_CLOSED_EVENT
           
private static java.lang.String VIEWPORT_OPENED_EVENT
           
private static java.lang.String WALLCLOCK
           
private  java.util.Date wallClock_
           
private static java.lang.String WALLCLOCK_UNIQUE_KEY
           
static int WALLCLOCK_VALUE
           
private  java.util.Vector warningMessages_
           
 
Constructor Summary
TimingAttribute(org.w3c.dom.Document docIds, java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
TimingAttribute(java.util.Hashtable tableIds, org.w3c.dom.Document docIds, int timingValueType, long clockValue, java.lang.String idValue, int symbol)
          Create a timing attribute from various parameters.
TimingAttribute(java.util.Hashtable tableIds, org.w3c.dom.Document docIds, int timingValueType, long clockValue, java.lang.String idValue, int timeSymbol, int eventSymbol, long repeatInteration, char accessKeyCharacter, java.lang.String mediaMarkerName, java.util.Date wallClock)
          Create a timing attribute from various parameters.
TimingAttribute(java.util.Hashtable tableIds, java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
TimingAttribute(int timingValueType)
           
TimingAttribute(int timingValueType, long clockValue)
           
TimingAttribute(java.util.Vector timingAttributes)
          Create a timing attribute from various parameters.
 
Method Summary
 TimingAttribute add(TimingAttribute time)
          Determine whether this is a normal time value attribute.
private  void addErrorMessage(java.lang.String message)
           
private  void addTimingAttributesFromVector(java.util.Vector timingAttributes)
          Create a timing attribute from various parameters.
private  void addWarningMessage(java.lang.String message)
           
 boolean equals(long time)
          Determine whether this is a normal time value attribute.
 boolean equals(TimingAttribute time)
          Determine whether this is a normal time value attribute.
private static java.lang.String escapeCharactersAdd(java.lang.String id)
          Add the escape characters for ids.
private static java.lang.String escapeCharactersStrip(java.lang.String id)
          Remove the escape characters for ids.
private  char getAccessKeyCharacter()
           
 long getClockValue()
          Determine whether this is a normal time value attribute.
 java.util.Vector getErrorMessages()
           
 int getEventSymbol()
           
 java.lang.String getEventSymbolString()
           
 java.lang.String getIdValue()
           
private  java.lang.String getMarkerName()
           
 java.util.Vector getMultiTimingAttributes()
          Determine whether this is a normal time value attribute.
 long getRepeatIteration()
           
 int getTimeSymbol()
           
 int getTimeValueType()
           
private  java.util.Date getWallClock()
           
 java.util.Vector getWarningMessages()
           
 boolean greaterThan(long time)
           
 boolean greaterThan(TimingAttribute time)
           
 boolean lessThan(long time)
           
 boolean lessThan(TimingAttribute time)
           
private  boolean parseAttribute(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseClockValue(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseEventValue(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseMultiValues(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseRepeatValue(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseSyncbaseValue(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
private  boolean parseSyncToPrevValue(java.lang.String param)
          Class to interpret the various timing that can occur in the timing attribute.
static void setDebug(boolean debug)
          Enable debugging information to be printed to the console.
 TimingAttribute subtract(TimingAttribute time)
          Determine whether this is a normal time value attribute.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

debug_

private static boolean debug_
Whether debug information is to be printed to the console. default is not have debug information printed (false).

CLICK

private static final java.lang.String CLICK
Various Strings used in timing values

MOUSEUP

private static final java.lang.String MOUSEUP

MOUSEDOWN

private static final java.lang.String MOUSEDOWN

MOUSEOUT

private static final java.lang.String MOUSEOUT

MOUSEOVER

private static final java.lang.String MOUSEOVER

MOUSEDRAG

private static final java.lang.String MOUSEDRAG

VIEWABLE

private static final java.lang.String VIEWABLE

NEAR

private static final java.lang.String NEAR

COLLIDE

private static final java.lang.String COLLIDE

FOCUS_IN_EVENT

private static final java.lang.String FOCUS_IN_EVENT

FOCUS_OUT_EVENT

private static final java.lang.String FOCUS_OUT_EVENT

ACTIVATE_EVENT

private static final java.lang.String ACTIVATE_EVENT

BEGIN_EVENT

private static final java.lang.String BEGIN_EVENT

END_EVENT

private static final java.lang.String END_EVENT

IN_BOUNDS_EVENT

private static final java.lang.String IN_BOUNDS_EVENT

OUT_OF_BOUNDS_EVENT

private static final java.lang.String OUT_OF_BOUNDS_EVENT

REPEAT_EVENT

private static final java.lang.String REPEAT_EVENT

VIEWPORT_CLOSED_EVENT

private static final java.lang.String VIEWPORT_CLOSED_EVENT

VIEWPORT_OPENED_EVENT

private static final java.lang.String VIEWPORT_OPENED_EVENT

WALLCLOCK

private static final java.lang.String WALLCLOCK

INDEFINITE

private static final java.lang.String INDEFINITE

MEDIA

private static final java.lang.String MEDIA

BEGIN

private static final java.lang.String BEGIN

END

private static final java.lang.String END

PREV

private static final java.lang.String PREV

ACCESSKEY

private static final java.lang.String ACCESSKEY

REPEAT

private static final java.lang.String REPEAT

MARKER

private static final java.lang.String MARKER

ACCESSKEY_UNIQUE_KEY

private static final java.lang.String ACCESSKEY_UNIQUE_KEY

WALLCLOCK_UNIQUE_KEY

private static final java.lang.String WALLCLOCK_UNIQUE_KEY

PREV_BEGIN_UNIQUE_KEY

private static final java.lang.String PREV_BEGIN_UNIQUE_KEY

PREV_END_UNIQUE_KEY

private static final java.lang.String PREV_END_UNIQUE_KEY

SYNCBASE_BEGIN_UNIQUE_KEY

private static final java.lang.String SYNCBASE_BEGIN_UNIQUE_KEY

SYNCBASE_END_UNIQUE_KEY

private static final java.lang.String SYNCBASE_END_UNIQUE_KEY

REPEAT_UNIQUE_KEY

private static final java.lang.String REPEAT_UNIQUE_KEY

MARKER_UNIQUE_KEY

private static final java.lang.String MARKER_UNIQUE_KEY

INVALID

public static final int INVALID
Various Types of timing values

CLOCK_VALUE

public static final int CLOCK_VALUE

SYNCBASE_VALUE

public static final int SYNCBASE_VALUE

SYNC_TO_PREV_VALUE

public static final int SYNC_TO_PREV_VALUE

EVENT_VALUE

public static final int EVENT_VALUE

REPEAT_VALUE

public static final int REPEAT_VALUE

ACCESS_KEY_VALUE

public static final int ACCESS_KEY_VALUE

MEDIA_MARKER_VALUE

public static final int MEDIA_MARKER_VALUE

WALLCLOCK_VALUE

public static final int WALLCLOCK_VALUE

INDEFINITE_VALUE

public static final int INDEFINITE_VALUE

MEDIA_VALUE

public static final int MEDIA_VALUE

timingValueType_

private int timingValueType_

clockValue_

private long clockValue_

idValue_

private java.lang.String idValue_

TIME_SYMBOL_BEGIN

public static final int TIME_SYMBOL_BEGIN
Various types of Syncbase values

TIME_SYMBOL_END

public static final int TIME_SYMBOL_END

timeSymbol_

private int timeSymbol_

SYMBOL_EVENT_UNKNOWN

public static final int SYMBOL_EVENT_UNKNOWN
Various Types of known event symbols There is not a complete list of these symbols since they can be host defined Node the values for the ids need to line up with the string array.

SYMBOL_EVENT_CLICK

public static final int SYMBOL_EVENT_CLICK

SYMBOL_EVENT_MOUSEUP

public static final int SYMBOL_EVENT_MOUSEUP

SYMBOL_EVENT_MOUSEDOWN

public static final int SYMBOL_EVENT_MOUSEDOWN

SYMBOL_EVENT_MOUSEOUT

public static final int SYMBOL_EVENT_MOUSEOUT

SYMBOL_EVENT_MOUSEOVER

public static final int SYMBOL_EVENT_MOUSEOVER

SYMBOL_EVENT_MOUSEDRAG

public static final int SYMBOL_EVENT_MOUSEDRAG

SYMBOL_EVENT_VIEWABLE

public static final int SYMBOL_EVENT_VIEWABLE

SYMBOL_EVENT_NEAR

public static final int SYMBOL_EVENT_NEAR

SYMBOL_EVENT_COLLIDE

public static final int SYMBOL_EVENT_COLLIDE

SYMBOL_EVENT_FOCUS_IN_EVENT

public static final int SYMBOL_EVENT_FOCUS_IN_EVENT

SYMBOL_EVENT_FOCUS_OUT_EVENT

public static final int SYMBOL_EVENT_FOCUS_OUT_EVENT

SYMBOL_EVENT_ACTIVATE_EVENT

public static final int SYMBOL_EVENT_ACTIVATE_EVENT

SYMBOL_EVENT_BEGIN_EVENT

public static final int SYMBOL_EVENT_BEGIN_EVENT

SYMBOL_EVENT_END_EVENT

public static final int SYMBOL_EVENT_END_EVENT

SYMBOL_EVENT_REPEAT_EVENT

public static final int SYMBOL_EVENT_REPEAT_EVENT

SYMBOL_EVENT_IN_BOUNDS_EVENT

public static final int SYMBOL_EVENT_IN_BOUNDS_EVENT

SYMBOL_EVENT_OUT_OF_BOUNDS_EVENT

public static final int SYMBOL_EVENT_OUT_OF_BOUNDS_EVENT

SYMBOL_EVENT_VIEWPORT_CLOSED_EVENT

public static final int SYMBOL_EVENT_VIEWPORT_CLOSED_EVENT

SYMBOL_EVENT_VIEWPORT_OPENED_EVENT

public static final int SYMBOL_EVENT_VIEWPORT_OPENED_EVENT

eventSymbol_

private int eventSymbol_

eventSymbolStrings_

private static final java.lang.String[] eventSymbolStrings_

eventSymbolString_

private java.lang.String eventSymbolString_

repeatIteration_

private long repeatIteration_

accessKeyCharacter_

private char accessKeyCharacter_

mediaMarkerName_

private java.lang.String mediaMarkerName_

wallClock_

private java.util.Date wallClock_

idTable_

private java.util.Hashtable idTable_

idDocument_

private org.w3c.dom.Document idDocument_

warningMessages_

private java.util.Vector warningMessages_

errorMessages_

private java.util.Vector errorMessages_

timingAttributeRes_

private java.util.ResourceBundle timingAttributeRes_

MULTI_VALUE

public static final int MULTI_VALUE

multiTimingAttributes_

private java.util.Vector multiTimingAttributes_
Constructor Detail

TimingAttribute

public TimingAttribute(int timingValueType)

TimingAttribute

public TimingAttribute(int timingValueType,
                       long clockValue)

TimingAttribute

public TimingAttribute(java.util.Hashtable tableIds,
                       java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 begin-value-list     ::= begin-value (S ";" S begin-value-list )?
 begin-value          ::= (offset-value | syncbase-value | syncToPrev-value | event-value | repeat-value
                           | accessKey-value | media-marker-value | wallclock-sync-value | "indefinite" )                                          
 
 S                    ::= (#x20 | #x9 | #xD | #xA)*
 
 offset-value         ::= (( S "+" | "-" S )? ( Clock-value )
                     
 Clock-value          ::= ( Full-clock-value | Partial-clock-value | Timecount-value )
 Full-clock-value     ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
 Partial-clock-value  ::= Minutes ":" Seconds ("." Fraction)?
 Timecount-value      ::= Timecount ("." Fraction)? (Metric)?
 Metric               ::= "h" | "min" | "s" | "ms"
 Hours                ::= DIGIT+; any positive number
 Minutes              ::= 2DIGIT; range from 00 to 59
 Seconds              ::= 2DIGIT; range from 00 to 59
 Fraction             ::= DIGIT+
 Timecount            ::= DIGIT+
 2DIGIT               ::= DIGIT DIGIT
 DIGIT                ::= [0-9]
                     
 Syncbase-value       ::= ( Syncbase-element "." Time-symbol ) ( S ("+"|"-") S Clock-value )? 
 Syncbase-element     ::= Id-value
 Time-symbol          ::= "begin" | "end" 
 Id-value             ::= IDREF
                     
 SyncToPrev-value     ::= ( "prev." Time-symbol ) ( S ("+"|"-") S Clock-value )?  
                     
 Event-value          ::= ( Eventbase-element "." )? Event-symbol ( S ("+"|"-") S Clock-value )? 
 Eventbase-element    ::= ID 
                     
 Repeat-value         ::= ( Eventbase-element "." )? "repeat(" iteration ")" ( S ("+"|"-") S Clock-value )? 
 iteration            ::= DIGIT+  
                     
 AccessKey-value      ::= "accessKey(" character ")" ( S ("+"|"-") S Clock-value )? 
 
 Media-Marker-value   ::= Id-value ".marker(" S marker-name S ")" ) 
 
 wallclock-sync-value ::= "wallclock(" S (DateTime | WallTime)  S ")"
 DateTime             ::= Date "T" WallTime
 Date                 ::= Years "-" Months "-" Days
 WallTime             ::= (HHMM-Time | HHMMSS-Time)(TZD)?
 HHMM-Time            ::= Hours24 ":" Minutes
 HHMMSS-Time          ::= Hours24 ":" Minutes ":" Seconds ("." Fraction)?
 Years                ::= 4DIGIT;
 Months               ::= 2DIGIT; range from 01 to 12
 Days                 ::= 2DIGIT; range from 01 to 31
 Hours24              ::= 2DIGIT; range from 00 to 23
 4DIGIT               ::= DIGIT DIGIT DIGIT DIGIT
 TZD                  ::= "Z" | (("+" | "-") Hours24 ":" Minutes )
 

TimingAttribute

public TimingAttribute(java.util.Hashtable tableIds,
                       org.w3c.dom.Document docIds,
                       int timingValueType,
                       long clockValue,
                       java.lang.String idValue,
                       int symbol)
Create a timing attribute from various parameters.

TimingAttribute

public TimingAttribute(java.util.Hashtable tableIds,
                       org.w3c.dom.Document docIds,
                       int timingValueType,
                       long clockValue,
                       java.lang.String idValue,
                       int timeSymbol,
                       int eventSymbol,
                       long repeatInteration,
                       char accessKeyCharacter,
                       java.lang.String mediaMarkerName,
                       java.util.Date wallClock)
Create a timing attribute from various parameters.

TimingAttribute

public TimingAttribute(java.util.Vector timingAttributes)
Create a timing attribute from various parameters.

TimingAttribute

public TimingAttribute(org.w3c.dom.Document docIds,
                       java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
Method Detail

add

public TimingAttribute add(TimingAttribute time)
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

addErrorMessage

private void addErrorMessage(java.lang.String message)

addTimingAttributesFromVector

private void addTimingAttributesFromVector(java.util.Vector timingAttributes)
Create a timing attribute from various parameters.

addWarningMessage

private void addWarningMessage(java.lang.String message)

equals

public boolean equals(long time)
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

equals

public boolean equals(TimingAttribute time)
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

escapeCharactersAdd

private static java.lang.String escapeCharactersAdd(java.lang.String id)
Add the escape characters for ids.

NOTE: the ";", "+", "(", ")" and "\" are not valid characters in XML ids. This is important when looking for delimiter variables in ids. Other delimiter characters "-", ":" and "." are valid characters in XML ids. In order to use them in ids located in TimingAttributes they need to be escaped with the "\" character. Thus they would appear in the id part of the attribute string as "\-", "\:" and "\.".


escapeCharactersStrip

private static java.lang.String escapeCharactersStrip(java.lang.String id)
Remove the escape characters for ids.

NOTE: the ";", "+", "(", ")" and "\" are not valid characters in XML ids. This is important when looking for delimiter variables in ids. Other delimiter characters "-", ":" and "." are valid characters in XML ids. In order to use them in ids located in TimingAttributes they need to be escaped with the "\" character. Thus they would appear in the id part of the attribute string as "\-", "\:" and "\.".


getAccessKeyCharacter

private char getAccessKeyCharacter()

getClockValue

public long getClockValue()
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

getErrorMessages

public java.util.Vector getErrorMessages()

getEventSymbol

public int getEventSymbol()

getEventSymbolString

public java.lang.String getEventSymbolString()

getIdValue

public java.lang.String getIdValue()

getMarkerName

private java.lang.String getMarkerName()

getMultiTimingAttributes

public java.util.Vector getMultiTimingAttributes()
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

getRepeatIteration

public long getRepeatIteration()

getTimeSymbol

public int getTimeSymbol()

getTimeValueType

public int getTimeValueType()

getWallClock

private java.util.Date getWallClock()

getWarningMessages

public java.util.Vector getWarningMessages()

greaterThan

public boolean greaterThan(long time)

greaterThan

public boolean greaterThan(TimingAttribute time)

lessThan

public boolean lessThan(long time)

lessThan

public boolean lessThan(TimingAttribute time)

parseAttribute

private boolean parseAttribute(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute. NOTE: the grammar for the dur is not explicitly so it has been generated here to be based on the spec.
 begin-value-list     ::= begin-value (S ";" S begin-value-list )?
 begin-value          ::= (offset-value | syncbase-value | syncToPrev-value | event-value | repeat-value
                           | accessKey-value | media-marker-value | wallclock-sync-value | "indefinite" )
 dur-value            ::= ( S ) ( Clock-value | "media" | "indefinite" ) ( S )
 
 S                    ::= (#x20 | #x9 | #xD | #xA)*
 
 offset-value         ::= (( S "+" | "-" S )? ( Clock-value )
                     
 Syncbase-value       ::= ( Syncbase-element "." Time-symbol ) ( S ("+"|"-") S Clock-value )? 
 Syncbase-element     ::= Id-value
 Time-symbol          ::= "begin" | "end" 
 Id-value             ::= IDREF
                     
 SyncToPrev-value     ::= ( "prev." Time-symbol ) ( S ("+"|"-") S Clock-value )?  
                     
 Event-value          ::= ( Eventbase-element "." )? Event-symbol ( S ("+"|"-") S Clock-value )? 
 Eventbase-element    ::= ID 
                     
 Repeat-value         ::= ( Eventbase-element "." )? "repeat(" iteration ")" ( S ("+"|"-") S Clock-value )? 
 iteration            ::= DIGIT+  
                     
 AccessKey-value      ::= "accessKey(" character ")" ( S ("+"|"-") S Clock-value )? 
 
 Media-Marker-value   ::= Id-value ".marker(" S marker-name S ")" ) 
 
 wallclock-sync-value ::= "wallclock(" S (DateTime | WallTime)  S ")"
 

parseClockValue

private boolean parseClockValue(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 offset-value         ::= (( S "+" | "-" S )? ( Clock-value )
                     
 Clock-value          ::= ( Full-clock-value | Partial-clock-value | Timecount-value )
 Full-clock-value     ::= Hours ":" Minutes ":" Seconds ("." Fraction)?
 Partial-clock-value  ::= Minutes ":" Seconds ("." Fraction)?
 Timecount-value      ::= Timecount ("." Fraction)? (Metric)?
 Metric               ::= "h" | "min" | "s" | "ms"
 Hours                ::= DIGIT+; any positive number
 Minutes              ::= 2DIGIT; range from 00 to 59
 Seconds              ::= 2DIGIT; range from 00 to 59
 Fraction             ::= DIGIT+
 Timecount            ::= DIGIT+
 2DIGIT               ::= DIGIT DIGIT
 DIGIT                ::= [0-9]
 

parseEventValue

private boolean parseEventValue(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 Event-value          ::= ( Eventbase-element "." )? Event-symbol ( S ("+"|"-") S Clock-value )? 
 Eventbase-element    ::= ID 
 

parseMultiValues

private boolean parseMultiValues(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 begin-value-list     ::= begin-value (S ";" S begin-value-list )?
 begin-value          ::= (offset-value | syncbase-value | syncToPrev-value | event-value | repeat-value
                           | accessKey-value | media-marker-value | wallclock-sync-value | "indefinite" )
 
 S                    ::= (#x20 | #x9 | #xD | #xA)*
 

parseRepeatValue

private boolean parseRepeatValue(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 Repeat-value         ::= ( Eventbase-element "." )? "repeat(" iteration ")" ( S ("+"|"-") S Clock-value )? 
 Eventbase-element    ::= ID 
 iteration            ::= DIGIT+  
 

parseSyncbaseValue

private boolean parseSyncbaseValue(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 Syncbase-value       ::= ( Syncbase-element "." Time-symbol ) ( S ("+"|"-") S Clock-value )? 
 Syncbase-element     ::= Id-value
 Time-symbol          ::= "begin" | "end" 
 Id-value             ::= IDREF
 

parseSyncToPrevValue

private boolean parseSyncToPrevValue(java.lang.String param)
Class to interpret the various timing that can occur in the timing attribute.
 SyncToPrev-value     ::= ( "prev." Time-symbol ) ( S ("+"|"-") S Clock-value )?  
 Time-symbol          ::= "begin" | "end" 
 

setDebug

public static void setDebug(boolean debug)
Enable debugging information to be printed to the console.
Parameters:
debug - sets debug information is printed

subtract

public TimingAttribute subtract(TimingAttribute time)
Determine whether this is a normal time value attribute.
Returns:
whether this is a normal time value attribute.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

XMT-O Reference Software