javax.sdp.RepeatTime Maven / Gradle / Ivy
/*
* RepeatTime.java
*
* Created on December 20, 2001, 3:09 PM
*/
package javax.sdp;
/** A RepeatTime represents a r= field contained within a TimeDescription.
*
* A RepeatTime specifies the repeat times for a SessionDescription.
*
* This consists of a "repeat interval", an "active duration", and a list of offsets relative to the t=
* start-time (see Time.getStart()).
*
* Quoting from RFC 2327:
*
* For example, if a session is active at 10am on Monday and 11am on Tuesday for
* one hour each week for three months, then the in the corresponding
* "t=" field would be the NTP representation of 10am on the first Monday, the
* would be 1 week, the would be 1 hour, and
* the offsets would be zero and 25 hours. The corresponding "t=" field stop time
* would be the NTP representation of the end of the last session three months later.
* By default all fields are in seconds, so the "r=" and "t=" fields might be:
*
* t=3034423619 3042462419
* r=604800 3600 0 90000
*
*
* Please refer to IETF RFC 2327 for a description of SDP.
*
* @author deruelle
* @version 1.0
*/
public interface RepeatTime extends Field {
/** Returns the "repeat interval" in seconds.
* @throws SdpParseException
* @return the "repeat interval" in seconds.
*/
public int getRepeatInterval()
throws SdpParseException;
/** Set the "repeat interval" in seconds.
* @param repeatInterval the "repeat interval" in seconds.
* @throws SdpException if repeatInterval is <0
*/
public void setRepeatInterval(int repeatInterval)
throws SdpException;
/** Returns the "active duration" in seconds.
* @throws SdpParseException
* @return the "active duration" in seconds.
*/
public int getActiveDuration()
throws SdpParseException;
/** Sets the "active duration" in seconds.
* @param activeDuration the "active duration" in seconds.
* @throws SdpException if the active duration is <0
*/
public void setActiveDuration(int activeDuration)
throws SdpException;
/** Returns the list of offsets. These are relative to the start-time given
* in the Time object (t=
* field) with which this RepeatTime is associated.
* @throws SdpParseException
* @return the list of offsets
*/
public int[] getOffsetArray()
throws SdpParseException;
/** Set the list of offsets. These are relative to the start-time given in the
* Time object (t=
* field) with which this RepeatTime is associated.
* @param offsets array of repeat time offsets
* @throws SdpException
*/
public void setOffsetArray(int[] offsets)
throws SdpException;
/** Returns whether the field will be output as a typed time or a integer value.
*
* Typed time is formatted as an integer followed by a unit character. The unit indicates an
* appropriate multiplier for the integer.
*
* The following unit types are allowed.
* d - days (86400 seconds)
* h - hours (3600 seconds)
* m - minutes (60 seconds)
* s - seconds ( 1 seconds)
* @throws SdpParseException
* @return true, if the field will be output as a typed time; false, if as an integer value.
*/
public boolean getTypedTime()
throws SdpParseException;
/** Sets whether the field will be output as a typed time or a integer value.
*
* Typed time is formatted as an integer followed by a unit character. The unit indicates an
* appropriate multiplier for the integer.
*
* The following unit types are allowed.
* d - days (86400 seconds)
* h - hours (3600 seconds)
* m - minutes (60 seconds)
* s - seconds ( 1 seconds)
* @param typedTime typedTime - if set true, the start and stop times will be output in an optimal typed
* time format; if false, the times will be output as integers.
*/
public void setTypedTime(boolean typedTime);
}