javax.sdp.Time Maven / Gradle / Ivy
/*
* Time.java
*
* Created on January 9, 2002, 10:53 AM
*/
package android.javax.sdp;
import java.util.*;
/** A RepeatTime represents a t= field contained within a TimeDescription.
*
* A RepeatTime specifies the start and stop times for a SessionDescription.
*
* Note: this class uses java.util.Date objects. SDP messages encode time in NTP
* format.
*
* To convert between them use SdpFactory.getDateFromNtp(long) and
* SdpFactory.getNtpTime(Date).
*
* Quoting from RFC 2327:
*
* Multiple "t=" fields may be used if a session is active at multiple
* irregularly spaced times; each additional
* "t=" field specifies an additional period of time for which the session
* will be active. If the session is active at
* regular times, an "r=" field (see below) should be used in addition to and
* following a "t=" field - in which
* case the "t=" field specifies the start and stop times of the repeat sequence.
*
* Please refer to IETF RFC 2327 for a description of SDP.
*
* @author deruelle
* @version 1.0
*/
public interface Time extends Field {
/** Returns the start time of the conference/session.
* @throws SdpParseException
* @return the date
*/
public Date getStart()
throws SdpParseException;
/** Sets the start time of the conference/session.
* @param start start - the start time for the session.
* @throws SdpException if the date is null
*/
public void setStart(Date start)
throws SdpException;
/** Returns the stop time of the session
* @throws SdpParseException
* @return the stop time of the session.
*/
public Date getStop()
throws SdpParseException;
/** Sets the stop time of the session.
* @param stop start - the start time
* @throws SdpException if the date is null
*/
public void setStop(Date stop)
throws SdpException;
/** Returns whether the start and stop times were set to zero (in NTP).
* @return boolean
*/
public boolean isZero();
/** Sets the start and stop times to zero (in NTP).
*/
public void setZero();
/** 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)
* @return true, if the field will be output as a typed time; false, if as an
* integer value.
*/
public boolean getTypedTime();
/** 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);
}