public class RequestParameters extends Object implements Serializable
Some methods provided by this class take a step ID as an argument. Such methods are useful for JobSet requests, where parameters can be specified for (scoped to) individual steps of the JobSet request.
 For such methods, the step ID argument identifies the step within
 the JobSet to which the given parameter applies. The step ID should
 be specified in the format id1.id2.id3... where the fully
 qualified step ID identifies the unique step (node) in the JobSet
 hierarchy (tree).
 
Parameters without any step ID in a JobSet request are treated as global parameters and they apply to each step of the JobSet request. This provides the capability of shared parameters. For non-JobSet requests, the step ID does not apply.
 Since multiple steps in a JobSet request can have parameters with the
 same name, a parameter is therefore uniquely identified by both the
 name and the step ID. ESS prepends the step ID to the name in the
 form of stepId:name to generate the unique identifier
 with ":" being the separator. Clients should use the
 RequestParameters.NAME_SEPARATOR constant rather than hard-coding a name seperator.
 
Using RequestParameters with RuntimeService
 Request parameters may be passed to RuntimeService.submitRequest
 when a request is submitted. A given parameter may represent an ESS
 system property or an application-specific parameter. The parameter
 may be used to override a parameter specified in metadata, or specify
 the value for a parameter not previously defined in metatadata.
 
 The submitRequest method will validate each request parameter
 against its definition in the metadata, if one exists. Such validations
 include checking the data type of the parameter against the data type
 specified in the metadata, checking the read-only constraint for the
 parameter, and so on. If a given request parameter does not exist in the
 corresponding metadata, the data type for the parameter is determined by
 doing an instanceof on the parameter value.
 
 The data type of a request parameter value must be one of the supported
 types specified by ParameterInfo.DataType.
 
 In general, the value of a request parameter can be null.
 However, if submitRequest is called with a null parameter,
 then that parameter must have been defined in metatdata in order for
 ESS to be able to associate a data type with the parameter.
RuntimeService, 
Serialized Form| Modifier and Type | Field and Description | 
|---|---|
static String | 
NAME_SEPARATOR
Separator used to concatenate step ID and parameter name
 for JobSet requests. 
 | 
| Constructor and Description | 
|---|
RequestParameters()
Constructs a new instance. 
 | 
RequestParameters(RequestParameters source)
Constructs an instance with the same parameter mappings as the
 specified object. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
add(String name,
   Object value)
Adds a request parameter to this object. 
 | 
void | 
add(String name,
   String stepId,
   Object value)
Adds a request parameter for the specified step in a JobSet
 request to this object. 
 | 
void | 
clear()
Removes all parameter information from this object. 
 | 
boolean | 
contains(String name)
Checks if this object contains a parameter for the specified name. 
 | 
boolean | 
contains(String name,
        String stepId)
Checks if a parameter for a given name and step exist. 
 | 
Collection | 
getNames()
Gets a collection of all the parameter names. 
 | 
Collection | 
getNames(String stepId)
Gets a collection of all the parameter names for a step ID. 
 | 
Object | 
getValue(String name)
Gets the value of the specifed parameter. 
 | 
Object | 
getValue(String name,
        String stepId)
Gets the value of given parameter and step identifer. 
 | 
void | 
remove(String name)
Removes a parameter from this object. 
 | 
void | 
remove(String name,
      String stepId)
Removes a parameter uniquely identified by a step ID and parameter
 name. 
 | 
public static final String NAME_SEPARATOR
public RequestParameters()
public RequestParameters(RequestParameters source)
source - the source parameters to be placed in this objectNullPointerException - if the specified list is null.public void add(String name, Object value)
name - the name of the parameter.value - the value of the parameter. This can be null.public void add(String name, String stepId, Object value)
name - the name of the parameter.stepId - the identifier of the step to which this parameter
  applies.value - the value of the parameter. This can be null.public boolean contains(String name)
name - the name of the parameter to check.true if the parameter exists, false otherwise.public boolean contains(String name, String stepId)
name - the name of the parameter to check.stepId - the identifier of the step for which the parmeter
  is checked.true if the parameter exists, false otherwise.public Object getValue(String name)
name argument.
 
 This returns  null if this object does not contain
 such a parameter. Since null is a valid parameter value,
 the contains method should be used to verify whether this
 object contains such a parameter.
 
 If this method is called for the parameter of a JobSet request,
 it effectively looks for global parameter (not scoped to any stepId),
 unless the name argument is the format of
 stepId:name.
name - the name of the parameter whose value is to be returned.null
 if the parameter value is null, or if no such parameter exists.public Object getValue(String name, String stepId)
 This returns  null if this object does not contain
 such a parameter. Since null is a valid parameter value,
 the contains method should be used to verify whether this
 object contains such a parameter.
name - the name of the parameter whose value is to be returned.stepId - the identifier of the step for which the parameter
  applies.null
 if the parameter value is null, or if no such parameter exists.public Collection getNames()
 If the method is called for a JobSet request, parameters for all the
 steps are returned. The names will therefore be returned in the
 format stepId:name where applicable. A name without a stepId
 portion is considered to be global/shared parameter for the
 JobSet request.
public Collection getNames(String stepId)
 If the method is called for a JobSet request, parameters for all the
 steps are returned. The names will therefore be returned in the
 format stepId:name where applicable. A name without stepId is
 thus a global/shared parameter for the JobSet request.
stepId - the step ID to look forpublic void remove(String name)
 For a JobSet request, a stepId:name format is used to
 identify a unique parameter for a stepId, unless its a global
 parameter.
name - the parameter to be removedpublic void remove(String name, String stepId)
 For a JobSet request, a stepId:name format is used to
 identify a unique parameter for a stepId, unless its a global
 parameter.
name - the parameter to be removed.stepId - the step ID for which the parameter applies.public void clear()