package org.mobicents.rtsp;
import java.util.HashMap;
import java.util.Map;
import org.jboss.netty.handler.codec.http.HttpMethod;
/**
*
* @author amit bhayani
*
*/
public class RtspMethod extends HttpMethod {
public static final RtspMethod DESCRIBE = new RtspMethod("DESCRIBE");
public static final RtspMethod ANNOUNCE = new RtspMethod("ANNOUNCE");
public static final RtspMethod GET_PARAMETER = new RtspMethod(
"GET_PARAMETER");
public static final RtspMethod OPTIONS = new RtspMethod("OPTIONS");
public static final RtspMethod PAUSE = new RtspMethod("PAUSE");
public static final RtspMethod PLAY = new RtspMethod("PLAY");
public static final RtspMethod RECORD = new RtspMethod("RECORD");
public static final RtspMethod REDIRECT = new RtspMethod("REDIRECT");
public static final RtspMethod SETUP = new RtspMethod("SETUP");
public static final RtspMethod SET_PARAMETER = new RtspMethod(
"SET_PARAMETER");
public static final RtspMethod TEARDOWN = new RtspMethod("TEARDOWN");
private static final Map<String, RtspMethod> methodMap = new HashMap<String, RtspMethod>();
static {
methodMap.put(DESCRIBE.toString(), DESCRIBE);
methodMap.put(ANNOUNCE.toString(), ANNOUNCE);
methodMap.put(GET_PARAMETER.toString(), GET_PARAMETER);
methodMap.put(OPTIONS.toString(), OPTIONS);
methodMap.put(PAUSE.toString(), PAUSE);
methodMap.put(PLAY.toString(), PLAY);
methodMap.put(RECORD.toString(), RECORD);
methodMap.put(REDIRECT.toString(), REDIRECT);
methodMap.put(SETUP.toString(), SETUP);
methodMap.put(SET_PARAMETER.toString(), SET_PARAMETER);
methodMap.put(TEARDOWN.toString(), TEARDOWN);
}
public RtspMethod(String name) {
super(name);
}
public static RtspMethod valueOf(String name) {
if (name == null) {
throw new NullPointerException("name");
}
name = name.trim().toUpperCase();
if (name.length() == 0) {
throw new IllegalArgumentException("empty name");
}
RtspMethod result = methodMap.get(name);
if (result != null) {
return result;
} else {
return new RtspMethod(name);
}
}
}