RtspMethod does not need to extend HttpMethod at all - it does not add anything to HttpMethod

This commit is contained in:
Trustin Lee 2010-01-26 07:25:44 +00:00
parent 1ad9579e6e
commit ea4692e967
2 changed files with 26 additions and 24 deletions

View File

@ -28,68 +28,76 @@ import org.jboss.netty.handler.codec.http.HttpMethod;
* @author Trustin Lee (trustin@gmail.com)
* @version $Rev$, $Date$
*/
public class RtspMethod extends HttpMethod {
public class RtspMethods {
/**
* The OPTIONS method represents a request for information about the communication options available on the request/response
* chain identified by the Request-URI. This method allows the client to determine the options and/or requirements
* associated with a resource, or the capabilities of a server, without implying a resource action or initiating a
* resource retrieval.
*/
public static final HttpMethod OPTIONS = HttpMethod.OPTIONS;
/**
* The DESCRIBE method retrieves the description of a presentation or
* media object identified by the request URL from a server.
*/
public static final RtspMethod DESCRIBE = new RtspMethod("DESCRIBE");
public static final HttpMethod DESCRIBE = new HttpMethod("DESCRIBE");
/**
* The ANNOUNCE posts the description of a presentation or media object
* identified by the request URL to a server, or updates the client-side
* session description in real-time.
*/
public static final RtspMethod ANNOUNCE = new RtspMethod("ANNOUNCE");
public static final HttpMethod ANNOUNCE = new HttpMethod("ANNOUNCE");
/**
* The SETUP request for a URI specifies the transport mechanism to be
* used for the streamed media.
*/
public static final RtspMethod SETUP = new RtspMethod("SETUP");
public static final HttpMethod SETUP = new HttpMethod("SETUP");
/**
* The PLAY method tells the server to start sending data via the
* mechanism specified in SETUP.
*/
public static final RtspMethod PLAY = new RtspMethod("PLAY");
public static final HttpMethod PLAY = new HttpMethod("PLAY");
/**
* The PAUSE request causes the stream delivery to be interrupted
* (halted) temporarily.
*/
public static final RtspMethod PAUSE = new RtspMethod("PAUSE");
public static final HttpMethod PAUSE = new HttpMethod("PAUSE");
/**
* The TEARDOWN request stops the stream delivery for the given URI,
* freeing the resources associated with it.
*/
public static final RtspMethod TEARDOWN = new RtspMethod("TEARDOWN");
public static final HttpMethod TEARDOWN = new HttpMethod("TEARDOWN");
/**
* The GET_PARAMETER request retrieves the value of a parameter of a
* presentation or stream specified in the URI.
*/
public static final RtspMethod GET_PARAMETER = new RtspMethod("GET_PARAMETER");
public static final HttpMethod GET_PARAMETER = new HttpMethod("GET_PARAMETER");
/**
* The SET_PARAMETER requests to set the value of a parameter for a
* presentation or stream specified by the URI.
*/
public static final RtspMethod SET_PARAMETER = new RtspMethod("SET_PARAMETER");
public static final HttpMethod SET_PARAMETER = new HttpMethod("SET_PARAMETER");
/**
* The REDIRECT request informs the client that it must connect to another
* server location.
*/
public static final RtspMethod REDIRECT = new RtspMethod("REDIRECT");
public static final HttpMethod REDIRECT = new HttpMethod("REDIRECT");
/**
* The RECORD method initiates recording a range of media data according to
* the presentation description.
*/
public static final RtspMethod RECORD = new RtspMethod("RECORD");
public static final HttpMethod RECORD = new HttpMethod("RECORD");
private static final Map<String, HttpMethod> methodMap = new HashMap<String, HttpMethod>();
@ -107,20 +115,10 @@ public class RtspMethod extends HttpMethod {
methodMap.put(TEARDOWN.toString(), TEARDOWN);
}
/**
* Creates a new RTSP method with the specified name.
*/
public RtspMethod(String name) {
super(name);
}
/**
* Returns the {@link HttpMethod} represented by the specified name.
* If the specified name is a standard RTSP method name, a cached instance
* will be returned. Otherwise, a new instance will be returned.
* Please note that this method does not return {@link RtspMethod} but
* returns {@link HttpMethod} because the RTSP re-uses some HTTP methods
* in its specification.
*/
public static HttpMethod valueOf(String name) {
if (name == null) {
@ -136,8 +134,12 @@ public class RtspMethod extends HttpMethod {
if (result != null) {
return result;
} else {
return new RtspMethod(name);
return new HttpMethod(name);
}
}
private RtspMethods() {
super();
}
}

View File

@ -23,7 +23,7 @@ import org.jboss.netty.handler.codec.http.HttpRequest;
/**
* Decodes {@link ChannelBuffer}s into {@link HttpRequest}s whose method is
* {@link RtspMethod} and protocol version is {@link RtspVersion}.
* {@link RtspMethods} and protocol version is {@link RtspVersion}.
* <p>
* Please refer to {@link HttpMessageDecoder} for the detailed information on
* how this decoder works and what parameters are available.
@ -55,7 +55,7 @@ public class RtspRequestDecoder extends HttpMessageDecoder {
@Override
protected HttpMessage createMessage(String[] initialLine) throws Exception {
return new DefaultHttpRequest(RtspVersion.valueOf(initialLine[2]),
RtspMethod.valueOf(initialLine[0]), initialLine[1]);
RtspMethods.valueOf(initialLine[0]), initialLine[1]);
}
@Override