package com.xceptance.xlt.common.util;
import java.util.HashSet;
import java.util.Set;
public class Constants {
public static final String ACTION = "Action";
public static final String REQUEST = "Request";
public static final String RESPONSE = "Response";
public static final String BODY = "Body";
public static final String STORE = "Store";
public static final String SUBREQUESTS = "Subrequests";
public static final String NAME = "Name";
public static final String URL = "Url";
public static final String METHOD = "Method";
public static final String ENCODEPARAMETERS = "Encode-Parameters";
public static final String ENCODEBODY = "Encode-Body";
public static final String XHR = "Xhr";
public static final String PARAMETERS = "Parameters";
public static final String HTTPCODE = "Httpcode";
public static final String VALIDATION = "Validate";
public static final String STATIC = "Static";
public static final String COOKIES = "Cookies";
public static final String HEADERS = "Headers";
public static final String DELETE = "Delete";
public static final String VARIABLES = "Variables";
public static final String ENCODED = "Encoded";
public static final String METHOD_POST = "POST";
public static final String METHOD_GET = "GET";
public static final String METHOD_PUT = "PUT";
public static final String METHOD_DELETE = "DELETE";
public static final String METHOD_HEAD = "HEAD";
public static final String METHOD_TRACE = "TRACE";
public static final String METHOD_OPTIONS = "OPTIONS";
public static final String XPATH = "XPath";
public static final String REGEXP = "Regex";
public static final String TEXT = "Text";
public static final String HEADER = "Header";
public static final String COOKIE = "Cookie";
public static final String MATCHES = "Matches";
public static final String COUNT = "Count";
public static final String EXISTS = "Exists";
/**
* Type for a general Http Request.
*/
public static final String TYPE_ACTION = "A";
/**
* Type for a Http requests, that loads static content. <br>
*/
public static final String TYPE_STATIC = "S";
/**
* Type for a XMLHttpRequest
*/
public static final String TYPE_XHR = "Xhr";
/**
* Supported list items:
* <ul> {@link #ACTION}
* <li> {@link #STORE}
* <li> {@link #NAME}
* <li> {@link #HTTPCODE}
* <li> {@link #URL}
* <li> {@link #METHOD}
* <li> {@link #ENCODEPARAMETERS}
* <li> {@link #ENCODEBODY}
* <li> {@link #HEADERS}
* <li> {@link #PARAMETERS}
* <li> {@link #COOKIES}
* <li> {@link #VARIABLES}
* <li> {@link #HEADER}
* <li> {@link #COOKIE}
* <li> {@link #BODY}
* <li> {@link #STATIC}
* </ul>
*/
public final static Set<String> PERMITTEDLISTITEMS = new HashSet<String>();
/**
* Supported action items:
* <li> {@link #NAME}
* <li> {@link #REQUEST}
* <li> {@link #RESPONSE}
* <li> {@link #SUBREQUESTS}
* </ul>
*/
public final static Set<String> PERMITTEDACTIONITEMS = new HashSet<String>();
/**
* Supported request items:
* <li> {@link #URL}
* <li> {@link #METHOD}
* <li> {@link #XHR}
* <li> {@link #ENCODEPARAMETERS}
* <li> {@link #PARAMETERS}
* <li> {@link #HEADERS}
* <li> {@link #BODY}
* <li> {@link #ENCODEBODYDY}
* </ul>
*/
public final static Set<String> PERMITTEDREQUESTITEMS = new HashSet<String>();
/**
* Supported subrequest items:
* <li> {@link #XHR}
* <li> {@link #STATIC}
* </ul>
*/
public final static Set<String> PERMITTEDSUBREQUESTITEMS = new HashSet<String>();
/**
* Supported response items:
* <ul>
* <li> {@link #HTTPCODE}
* <li> {@link #VALIDATION}
* <li> {@link #STORE}
* </ul>
*/
public final static Set<String> PERMITTEDRESPONSEITEMS = new HashSet<String>();
/**
* Supported selection modes:
* <ul>
* <li> {@link #XPATH}
* <li> {@link #REGEXP}
* <li> {@link #HEADER}
* <li> {@link #COOKIE}
* </ul>
*/
public final static Set<String> PERMITTEDSELECTIONMODE = new HashSet<String>();
/**
* Supported validation modes:
* <ul>
* <li> {@link #TEXT}
* <li> {@link #COUNT}
* <li> {@link #MATCHES}
* <li> {@link #EXISTS}
* </ul>
*/
public final static Set<String> PERMITTEDVALIDATIONMODE = new HashSet<String>();
static
{
PERMITTEDLISTITEMS.add(ACTION);
PERMITTEDLISTITEMS.add(STORE);
PERMITTEDLISTITEMS.add(NAME);
PERMITTEDLISTITEMS.add(HTTPCODE);
PERMITTEDLISTITEMS.add(URL);
PERMITTEDLISTITEMS.add(METHOD);
PERMITTEDLISTITEMS.add(XHR);
PERMITTEDLISTITEMS.add(ENCODEPARAMETERS);
PERMITTEDLISTITEMS.add(ENCODEBODY);
PERMITTEDLISTITEMS.add(HEADERS);
PERMITTEDLISTITEMS.add(PARAMETERS);
PERMITTEDLISTITEMS.add(COOKIES);
PERMITTEDLISTITEMS.add(VARIABLES);
PERMITTEDLISTITEMS.add(HEADER);
PERMITTEDLISTITEMS.add(BODY);
PERMITTEDLISTITEMS.add(STATIC);
PERMITTEDACTIONITEMS.add(NAME);
PERMITTEDACTIONITEMS.add(REQUEST);
PERMITTEDACTIONITEMS.add(RESPONSE);
PERMITTEDACTIONITEMS.add(SUBREQUESTS);
PERMITTEDREQUESTITEMS.add(URL);
PERMITTEDREQUESTITEMS.add(METHOD);
PERMITTEDREQUESTITEMS.add(XHR);
PERMITTEDREQUESTITEMS.add(ENCODEPARAMETERS);
PERMITTEDREQUESTITEMS.add(PARAMETERS);
PERMITTEDREQUESTITEMS.add(HEADERS);
PERMITTEDREQUESTITEMS.add(BODY);
PERMITTEDREQUESTITEMS.add(ENCODEBODY);
PERMITTEDRESPONSEITEMS.add(HTTPCODE);
PERMITTEDRESPONSEITEMS.add(VALIDATION);
PERMITTEDRESPONSEITEMS.add(STORE);
PERMITTEDSUBREQUESTITEMS.add(XHR);
PERMITTEDSUBREQUESTITEMS.add(STATIC);
PERMITTEDSELECTIONMODE.add(XPATH);
PERMITTEDSELECTIONMODE.add(REGEXP);
PERMITTEDSELECTIONMODE.add(HEADER);
PERMITTEDSELECTIONMODE.add(COOKIE);
PERMITTEDVALIDATIONMODE.add(TEXT);
PERMITTEDVALIDATIONMODE.add(MATCHES);
PERMITTEDVALIDATIONMODE.add(COUNT);
PERMITTEDVALIDATIONMODE.add(EXISTS);
}
public static boolean isPermittedListItem(final String s)
{
return PERMITTEDLISTITEMS.contains(s);
}
public static boolean isPermittedActionItem(final String s)
{
return PERMITTEDACTIONITEMS.contains(s);
}
public static boolean isPermittedRequestItem(final String s)
{
return PERMITTEDREQUESTITEMS.contains(s);
}
public static boolean isPermittedResponseItem(final String s)
{
return PERMITTEDRESPONSEITEMS.contains(s);
}
public static boolean isPermittedSubRequestItem(final String s)
{
return PERMITTEDSUBREQUESTITEMS.contains(s);
}
public static boolean isPermittedSelectionMode(final String s)
{
return PERMITTEDSELECTIONMODE.contains(s);
}
public static boolean isPermittedValidationMode(final String s)
{
return PERMITTEDVALIDATIONMODE.contains(s);
}
}