edu.isi.pegasus.planner.namespace

## Class Pegasus

- java.lang.Object
- - edu.isi.pegasus.planner.namespace.Namespace
  - - edu.isi.pegasus.planner.namespace.Pegasus

    public class Pegasus
    extends Namespace

A Planner specific namespace. It defines profiles that are used to fine tune Pegasus behaviour on a per job basis if required.

Version:
  $Revision$
Author:
  Karan Vahi, Gaurang Mehta

### Nested Class Summary

### Nested classes/interfaces inherited from class edu.isi.pegasus.planner.namespace.Namespace

`Namespace.EmptyIterator`

### Field Summary

Fields
`static java.lang.String` `BUNDLE_KEY` The name of the key that if set, determines the number of super jobs that are made corresponding to a logical transformation and an execution pool.
`static java.lang.String` `BUNDLE_LOCAL_STAGE_IN_KEY` The name of the key that determines the bundling parameter for the local stagein transfer node.
`static java.lang.String` `BUNDLE_LOCAL_STAGE_OUT_KEY` The name of the key that determines the bundling parameter for the local stagein transfer node.
`static java.lang.String` `BUNDLE_REMOTE_STAGE_IN_KEY` The name of the key that determines the bundling parameter for the remote stagein transfer node.
`static java.lang.String` `BUNDLE_REMOTE_STAGE_OUT_KEY` The name of the key that determines the bundling parameter for the remote stagein transfer node.
`static java.lang.String` `BUNDLE_STAGE_IN_KEY` The name of the key that determines the bundling parameter for the stagein transfer node.
`static java.lang.String` `BUNDLE_STAGE_OUT_KEY` The name of the key that determines the bundling parameter for the stageout transfer node.
`static java.lang.String` `CHAIN_STAGE_IN_KEY` The name of the key that determines the number of chains of stagein nodes that are to be created per site.
`static java.lang.String` `CHANGE_DIR_KEY` The name of the profile key that triggers the kickstart to change directory before launching an executable instead of launching the executable from the directory where kickstart is being run.
`static java.lang.String` `CLUSTER_ARGUMENTS` Arguments that need to be passed to the clustering executable.
`static java.lang.String` `CLUSTER_LOCAL_STAGE_IN_KEY` The name of the key that determines the cluster parameter for the local stagein transfer node.
`static java.lang.String` `CLUSTER_LOCAL_STAGE_OUT_KEY` The name of the key that determines the cluster parameter for the local stagein transfer node.
`static java.lang.String` `CLUSTER_REMOTE_STAGE_IN_KEY` The name of the key that determines the clustering parameter for the stagein transfer node.
`static java.lang.String` `CLUSTER_REMOTE_STAGE_OUT_KEY` The name of the key that determines the bundling parameter for the remote stagein transfer node.
`static java.lang.String` `CLUSTER_STAGE_IN_KEY` The name of the key that determines the clustering parameter for the stagein transfer node.
`static java.lang.String` `CLUSTER_STAGE_OUT_KEY` The name of the key that determines the clustering parameter for the stageout transfer node.
`static java.lang.String` `COLLAPSE_KEY` The name of the key that if set in the Pegasus namespace determines the number of jobs that are collapsed into the super job.
`static java.lang.String` `COLLAPSER_KEY` Deprecated.
`static java.lang.String` `CONDOR_STYLE` The style indicating that the submit files are to be generated for a vanilla condor execution.
`static java.lang.String` `CONDORC_STYLE` The style indicating that the submit files are to be generated for a CondorC submission to remote schedds.
`static java.lang.String` `CORES_KEY` The number of cores that are associated with the job.
`static java.lang.String` `CREAMCE_STYLE` The style indicating that the submit files are to be generated for a creamce submission
`static java.lang.String` `CREATE_AND_CHANGE_DIR_KEY` The name of the profile key that triggers the kickstart to create and then the working directory to it before launching an executable.
`static java.lang.String` `DEPRECATED_BUNDLE_STAGE_IN_KEY` The deprecated bundle stagein key.
`static java.lang.String` `DEPRECATED_CHANGE_DIR_KEY` The deprecated change dir key.
`private static Aggregator` `ERROR_MESSAGE_AGGREGATOR` Static Handle to the delimiter aggregator.
`static java.lang.String` `EXITCODE_FAILURE_MESSAGE` The message to look for while detecting failures condor job's stdout/stderr
`static java.lang.String` `EXITCODE_SUCCESS_MESSAGE` the message to look for while detecting success in condor job's stdout/stderr
`static java.lang.String` `GLIDEIN_STYLE` The style indicating that the submit files are to be generated for a glidein execution.
`static java.lang.String` `GLIDEINWMS_STYLE` The style indicating that the submit files are to be generated for a glideinwms execution.
`static java.lang.String` `GLITE_STYLE` The style indicating that the submit files are to be generated for a glite execution.
`static java.lang.String` `GLOBUS_STYLE` The style indicating that the submit files are to be generated for a CondorG execution.
`static java.lang.String` `GRIDSTART_ARGUMENTS_KEY` The name of the profile key, that determines the arguments with which the GridStart that is used to launch a job on the remote site is invoked with.
`static java.lang.String` `GRIDSTART_KEY` The name of the profile key that determines the launching executable to be used to launch a job on the grid.
`static java.lang.String` `GRIDSTART_PATH_KEY` The name of the profile key that designates the path to a gridstart.
`static java.lang.String` `GROUP_KEY` The name of the profile key in vds namespace that does the grouping.
`private static java.lang.String` `IRODSENVFILE`
`static java.lang.String` `JOB_AGGREGATOR_KEY` The name of the key that determines the clusterig executable to be used to run the merged/collapsed job.
`static java.lang.String` `JOB_RUN_TIME` The name of the key that if set in the Pegasus namespace specifies the approximate runtime of the job.
`static java.lang.String` `LABEL_KEY` The name of the profile key in vds namespace that does the labelling by default.
`static java.lang.String` `MAX_RUN_TIME` The name of the key that if set in the Pegasus namespace specifies the maximum amount of time for which a cluster should run.
`protected static java.util.Map` `mDeprecatedTable` The table containing the mapping of the deprecated keys to the newer keys.
`protected java.lang.String` `mNamespace` The name of the implementing namespace.
`static java.lang.String` `NAMESPACE_NAME` The name of the namespace that this class implements.
`static java.lang.String` `PMC_PRIORITY_KEY` A key to designate a priority to the jobs run by pegasus-mpi-cluster.
`static java.lang.String` `PMC_REQUEST_CPUS_KEY` A key to designate the number of CPU's requested by pegasus-mpi-cluster.
`static java.lang.String` `PMC_REQUEST_MEMORY_KEY` A key to designate the memory required by a job in MB by pegasus-mpi-cluster.
`static java.lang.String` `PMC_TASK_ARGUMENTS` Arguments that need to be passed to the PMC clustering executable.
`static java.lang.String` `REMOTE_INITIALDIR_KEY` The name of the key that sets a remote initial dir for a condor globus job.
`static java.lang.String` `RUNTIME_KEY` The name of the profile key when associated with a transformation in the transformation catalog gives expected runtime in seconds.
`private static java.lang.String` `S3CFG_FILE_VARIABLE`
`private static java.lang.String` `SSH_PRIVATE_KEY_VARIABLE`
`static java.lang.String` `SSH_STYLE` The style indicating that the submit files are to be generated for a direct ssh submission
`static java.lang.String` `STYLE_KEY` The name of the key, that denotes the style of the dag that is constructed.
`private static Aggregator` `SUCCESS_MESSAGE_AGGREGATOR` Static Handle to the delimiter aggregator.
`private static Aggregator` `SUM_AGGREGATOR` Static Handle to the sum aggregator.
`static java.lang.String` `TRANSFER_ARGUMENTS_KEY` The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
`static java.lang.String` `TRANSFER_PROXY_KEY` The name of the profile key if associated with a job, results in an explicit transfer of the proxy from the submit host to the remote site, instead of banking upon CondorG to transfer the proxy.
`static java.lang.String` `TRANSFER_SLS_ARGUMENTS_KEY` The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
`static java.lang.String` `TRANSFER_SLS_THREADS_KEY` The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
`static java.lang.String` `TRANSFER_THREADS_KEY` The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
`static java.lang.String` `TYPE_KEY` The name of the key that denotes the type of the job.
`static java.lang.String` `WORKER_NODE_DIRECTORY_KEY` The directory in which job needs to execute on worker node tmp.
`private static java.lang.String` `X509_USER_PROXY_KEY`

### Fields inherited from class edu.isi.pegasus.planner.namespace.Namespace

`DEPRECATED_KEY, EMPTY_KEY, MALFORMED_KEY, mLogger, mProfileMap, NOT_PERMITTED_KEY, UNKNOWN_KEY, VALID_KEY, VERSION`

### Constructor Summary

Constructors
Constructor and Description
`Pegasus()` The default constructor.
`Pegasus(java.util.Map mp)` The overloaded constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `checkKey(java.lang.String key, java.lang.String value)` This checks whether the key passed by the user is valid in the current namespace or not.
`void` `checkKeyInNS(PegasusProperties properties, java.lang.String pool)` It puts in the namespace specific information specified in the properties file into the namespace.
`java.lang.Object` `clone()` Returns a copy of the current namespace object
`void` `construct(java.lang.String key, java.lang.String value)` Constructs a new element of the format (key=value).
`boolean` `containsKey(java.lang.Object key)` Returns true if the namespace contains a mapping for the specified key.
`java.util.Map` `deprecatedTable()` Singleton access to the deprecated table that holds the deprecated keys, and the keys that replace them.
`java.lang.Object` `get(java.lang.Object key)` Returns the value to which this namespace maps the specified key.
`boolean` `getBooleanValue(java.lang.Object key)` Returns a boolean value, that a particular key is mapped to in this namespace.
`java.lang.String` `getStringValue(java.lang.Object key)` Returns a String value, that a particular key is mapped to in this namespace.
`void` `merge(Namespace profiles)` UniqueMerge the profiles in the namespace in a controlled manner.
`java.lang.String` `namespaceName()` Returns the name of the namespace associated with the profile implementations.
`java.lang.String` `toCondor()` Converts the contents of the map into the string that can be put in the Condor file for printing.
`void` `unknownKey(java.lang.String key, java.lang.String value)` Warns about an unknown profile key and constructs it anyway.

### Methods inherited from class edu.isi.pegasus.planner.namespace.Namespace

`assimilate, checkKeyInNS, checkKeyInNS, checkKeyInNS, checkKeyInNS, checkKeyInNS, deprecatedKey, emptyKey, getProfileKeyIterator, isEmpty, isNamespaceValid, keySet, malformedKey, notPermitted, removeKey, toString`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### NAMESPACE_NAME

    public static final java.lang.String NAMESPACE_NAME

The name of the namespace that this class implements.

See Also:
  Constant Field Values

#### REMOTE_INITIALDIR_KEY

    public static final java.lang.String REMOTE_INITIALDIR_KEY

The name of the key that sets a remote initial dir for a condor globus job.

See Also:
  Constant Field Values

#### BUNDLE_KEY

    public static final java.lang.String BUNDLE_KEY

The name of the key that if set, determines the number of super jobs that are made corresponding to a logical transformation and an execution pool. It overrides the collapse key if set.

See Also:
  `COLLAPSE_KEY`, Constant Field Values

#### COLLAPSE_KEY

    public static final java.lang.String COLLAPSE_KEY

The name of the key that if set in the Pegasus namespace determines the number of jobs that are collapsed into the super job.

See Also:
  Constant Field Values

#### JOB_RUN_TIME

    public static final java.lang.String JOB_RUN_TIME

The name of the key that if set in the Pegasus namespace specifies the approximate runtime of the job. This key is used in while clustering jobs according to run times.

See Also:
  Constant Field Values

#### MAX_RUN_TIME

    public static final java.lang.String MAX_RUN_TIME

The name of the key that if set in the Pegasus namespace specifies the maximum amount of time for which a cluster should run. This key is used while clustering jobs horizontally. Only those jobs are grouped together whose combined runtime is less than or equal to the max runtime.

See Also:
  Constant Field Values

#### JOB_AGGREGATOR_KEY

    public static final java.lang.String JOB_AGGREGATOR_KEY

The name of the key that determines the clusterig executable to be used to run the merged/collapsed job.

See Also:
  Constant Field Values

#### COLLAPSER_KEY

    public static final java.lang.String COLLAPSER_KEY

Deprecated.
The name of the key that determines the collapser executable to be used to run the merged/collapsed job.

See Also:
  Constant Field Values

#### GROUP_KEY

    public static final java.lang.String GROUP_KEY

The name of the profile key in vds namespace that does the grouping.

See Also:
  Constant Field Values

#### LABEL_KEY

    public static final java.lang.String LABEL_KEY

The name of the profile key in vds namespace that does the labelling by default.

See Also:
  Constant Field Values

#### GRIDSTART_KEY

    public static final java.lang.String GRIDSTART_KEY

The name of the profile key that determines the launching executable to be used to launch a job on the grid.

See Also:
  Constant Field Values

#### GRIDSTART_ARGUMENTS_KEY

    public static final java.lang.String GRIDSTART_ARGUMENTS_KEY

The name of the profile key, that determines the arguments with which the GridStart that is used to launch a job on the remote site is invoked with. The arguments are appended to the ones constructed by default by the GridStart implementation.

See Also:
  Constant Field Values

#### GRIDSTART_PATH_KEY

    public static final java.lang.String GRIDSTART_PATH_KEY

The name of the profile key that designates the path to a gridstart.

See Also:
  Constant Field Values

#### EXITCODE_FAILURE_MESSAGE

    public static final java.lang.String EXITCODE_FAILURE_MESSAGE

The message to look for while detecting failures condor job's stdout/stderr

See Also:
  Constant Field Values

#### EXITCODE_SUCCESS_MESSAGE

    public static final java.lang.String EXITCODE_SUCCESS_MESSAGE

the message to look for while detecting success in condor job's stdout/stderr

See Also:
  Constant Field Values

#### DEPRECATED_CHANGE_DIR_KEY

    public static final java.lang.String DEPRECATED_CHANGE_DIR_KEY

The deprecated change dir key.

See Also:
  `CHANGE_DIR_KEY`, Constant Field Values

#### CHANGE_DIR_KEY

    public static final java.lang.String CHANGE_DIR_KEY

The name of the profile key that triggers the kickstart to change directory before launching an executable instead of launching the executable from the directory where kickstart is being run.

See Also:
  Constant Field Values

#### CREATE_AND_CHANGE_DIR_KEY

    public static final java.lang.String CREATE_AND_CHANGE_DIR_KEY

The name of the profile key that triggers the kickstart to create and then the working directory to it before launching an executable.

See Also:
  Constant Field Values

#### CORES_KEY

    public static final java.lang.String CORES_KEY

The number of cores that are associated with the job. To be used for multiplying the job runtimes accordingly. This does not set the corresponding globus profiles automatically. Is only used for stampede purposes.

See Also:
  Constant Field Values

#### DEPRECATED_BUNDLE_STAGE_IN_KEY

    public static final java.lang.String DEPRECATED_BUNDLE_STAGE_IN_KEY

The deprecated bundle stagein key.

See Also:
  `CHANGE_DIR_KEY`, Constant Field Values

#### BUNDLE_STAGE_IN_KEY

    public static final java.lang.String BUNDLE_STAGE_IN_KEY

The name of the key that determines the bundling parameter for the stagein transfer node.

See Also:
  Constant Field Values

#### BUNDLE_REMOTE_STAGE_IN_KEY

    public static final java.lang.String BUNDLE_REMOTE_STAGE_IN_KEY

The name of the key that determines the bundling parameter for the remote stagein transfer node.

See Also:
  Constant Field Values

#### BUNDLE_LOCAL_STAGE_IN_KEY

    public static final java.lang.String BUNDLE_LOCAL_STAGE_IN_KEY

The name of the key that determines the bundling parameter for the local stagein transfer node.

See Also:
  Constant Field Values

#### BUNDLE_REMOTE_STAGE_OUT_KEY

    public static final java.lang.String BUNDLE_REMOTE_STAGE_OUT_KEY

The name of the key that determines the bundling parameter for the remote stagein transfer node.

See Also:
  Constant Field Values

#### BUNDLE_LOCAL_STAGE_OUT_KEY

    public static final java.lang.String BUNDLE_LOCAL_STAGE_OUT_KEY

The name of the key that determines the bundling parameter for the local stagein transfer node.

See Also:
  Constant Field Values

#### BUNDLE_STAGE_OUT_KEY

    public static final java.lang.String BUNDLE_STAGE_OUT_KEY

The name of the key that determines the bundling parameter for the stageout transfer node.

See Also:
  Constant Field Values

#### CLUSTER_STAGE_IN_KEY

    public static final java.lang.String CLUSTER_STAGE_IN_KEY

The name of the key that determines the clustering parameter for the stagein transfer node.

See Also:
  Constant Field Values

#### CLUSTER_REMOTE_STAGE_IN_KEY

    public static final java.lang.String CLUSTER_REMOTE_STAGE_IN_KEY

The name of the key that determines the clustering parameter for the stagein transfer node.

See Also:
  Constant Field Values

#### CLUSTER_LOCAL_STAGE_IN_KEY

    public static final java.lang.String CLUSTER_LOCAL_STAGE_IN_KEY

The name of the key that determines the cluster parameter for the local stagein transfer node.

See Also:
  Constant Field Values

#### CLUSTER_STAGE_OUT_KEY

    public static final java.lang.String CLUSTER_STAGE_OUT_KEY

The name of the key that determines the clustering parameter for the stageout transfer node.

See Also:
  Constant Field Values

#### CLUSTER_REMOTE_STAGE_OUT_KEY

    public static final java.lang.String CLUSTER_REMOTE_STAGE_OUT_KEY

The name of the key that determines the bundling parameter for the remote stagein transfer node.

See Also:
  Constant Field Values

#### CLUSTER_LOCAL_STAGE_OUT_KEY

    public static final java.lang.String CLUSTER_LOCAL_STAGE_OUT_KEY

The name of the key that determines the cluster parameter for the local stagein transfer node.

See Also:
  Constant Field Values

#### CHAIN_STAGE_IN_KEY

    public static final java.lang.String CHAIN_STAGE_IN_KEY

The name of the key that determines the number of chains of stagein nodes that are to be created per site.

See Also:
  Constant Field Values

#### TRANSFER_PROXY_KEY

    public static final java.lang.String TRANSFER_PROXY_KEY

The name of the profile key if associated with a job, results in an explicit transfer of the proxy from the submit host to the remote site, instead of banking upon CondorG to transfer the proxy.

See Also:
  Constant Field Values

#### TRANSFER_ARGUMENTS_KEY

    public static final java.lang.String TRANSFER_ARGUMENTS_KEY

The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.

See Also:
  Constant Field Values

#### TRANSFER_THREADS_KEY

    public static final java.lang.String TRANSFER_THREADS_KEY

The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer

See Also:
  Constant Field Values

#### TRANSFER_SLS_ARGUMENTS_KEY

    public static final java.lang.String TRANSFER_SLS_ARGUMENTS_KEY

The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.

See Also:
  Constant Field Values

#### TRANSFER_SLS_THREADS_KEY

    public static final java.lang.String TRANSFER_SLS_THREADS_KEY

The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer

See Also:
  Constant Field Values

#### RUNTIME_KEY

    public static final java.lang.String RUNTIME_KEY

The name of the profile key when associated with a transformation in the transformation catalog gives expected runtime in seconds.

See Also:
  Constant Field Values

#### WORKER_NODE_DIRECTORY_KEY

    public static final java.lang.String WORKER_NODE_DIRECTORY_KEY

The directory in which job needs to execute on worker node tmp.

See Also:
  Constant Field Values

#### CLUSTER_ARGUMENTS

    public static final java.lang.String CLUSTER_ARGUMENTS

Arguments that need to be passed to the clustering executable.

See Also:
  Constant Field Values

#### STYLE_KEY

    public static final java.lang.String STYLE_KEY

The name of the key, that denotes the style of the dag that is constructed. Possible styles can be -condor(glidein,flocking,submitting directly to condor pool) -globus(condorg)

See Also:
  Constant Field Values

#### TYPE_KEY

    public static final java.lang.String TYPE_KEY

The name of the key that denotes the type of the job. Whether it is recursive or not. Still protypical.

See Also:
  Constant Field Values

#### CONDOR_STYLE

    public static final java.lang.String CONDOR_STYLE

The style indicating that the submit files are to be generated for a vanilla condor execution.

See Also:
  Constant Field Values

#### CONDORC_STYLE

    public static final java.lang.String CONDORC_STYLE

The style indicating that the submit files are to be generated for a CondorC submission to remote schedds.

See Also:
  Constant Field Values

#### CREAMCE_STYLE

    public static final java.lang.String CREAMCE_STYLE

The style indicating that the submit files are to be generated for a creamce submission

See Also:
  Constant Field Values

#### GLOBUS_STYLE

    public static final java.lang.String GLOBUS_STYLE

The style indicating that the submit files are to be generated for a CondorG execution.

See Also:
  Constant Field Values

#### GLIDEIN_STYLE

    public static final java.lang.String GLIDEIN_STYLE

The style indicating that the submit files are to be generated for a glidein execution.

See Also:
  Constant Field Values

#### GLIDEINWMS_STYLE

    public static final java.lang.String GLIDEINWMS_STYLE

The style indicating that the submit files are to be generated for a glideinwms execution.

See Also:
  Constant Field Values

#### GLITE_STYLE

    public static final java.lang.String GLITE_STYLE

The style indicating that the submit files are to be generated for a glite execution.

See Also:
  Constant Field Values

#### SSH_STYLE

    public static final java.lang.String SSH_STYLE

The style indicating that the submit files are to be generated for a direct ssh submission

See Also:
  Constant Field Values

#### PMC_REQUEST_MEMORY_KEY

    public static final java.lang.String PMC_REQUEST_MEMORY_KEY

A key to designate the memory required by a job in MB by pegasus-mpi-cluster.

See Also:
  Constant Field Values

#### PMC_REQUEST_CPUS_KEY

    public static final java.lang.String PMC_REQUEST_CPUS_KEY

A key to designate the number of CPU's requested by pegasus-mpi-cluster.

See Also:
  Constant Field Values

#### PMC_PRIORITY_KEY

    public static final java.lang.String PMC_PRIORITY_KEY

A key to designate a priority to the jobs run by pegasus-mpi-cluster.

See Also:
  Constant Field Values

#### PMC_TASK_ARGUMENTS

    public static final java.lang.String PMC_TASK_ARGUMENTS

Arguments that need to be passed to the PMC clustering executable.

See Also:
  Constant Field Values

#### S3CFG_FILE_VARIABLE

    private static final java.lang.String S3CFG_FILE_VARIABLE

#### SSH_PRIVATE_KEY_VARIABLE

    private static final java.lang.String SSH_PRIVATE_KEY_VARIABLE

#### IRODSENVFILE

    private static final java.lang.String IRODSENVFILE

#### X509_USER_PROXY_KEY

    private static final java.lang.String X509_USER_PROXY_KEY

#### SUM_AGGREGATOR

    private static Aggregator SUM_AGGREGATOR

Static Handle to the sum aggregator.

#### ERROR_MESSAGE_AGGREGATOR

    private static Aggregator ERROR_MESSAGE_AGGREGATOR

Static Handle to the delimiter aggregator.

#### SUCCESS_MESSAGE_AGGREGATOR

    private static Aggregator SUCCESS_MESSAGE_AGGREGATOR

Static Handle to the delimiter aggregator.

#### mNamespace

    protected java.lang.String mNamespace

The name of the implementing namespace. It should be one of the valid namespaces always.

See Also:
  `Namespace.isNamespaceValid(String)`

#### mDeprecatedTable

    protected static java.util.Map mDeprecatedTable

The table containing the mapping of the deprecated keys to the newer keys.

### Constructor Detail

#### Pegasus

    public Pegasus()

The default constructor. Note that the map is not allocated memory at this stage. It is done so in the overloaded construct function.

#### Pegasus

    public Pegasus(java.util.Map mp)

The overloaded constructor.

Parameters:
  `mp` - the initial map.

### Method Detail

#### namespaceName

    public java.lang.String namespaceName()

Returns the name of the namespace associated with the profile implementations.

Specified by:
  `namespaceName` in class `Namespace`
Returns:
  the namespace name.
See Also:
  `NAMESPACE_NAME`

#### construct

    public void construct(java.lang.String key,
                          java.lang.String value)

Constructs a new element of the format (key=value). It first checks if the map has been initialised or not. If not then allocates memory first. It converts the key to lower case before storing.

Overrides:
  `construct` in class `Namespace`
Parameters:
  `key` - is the left-hand-side
  `value` - is the right hand side

#### checkKey

    public int checkKey(java.lang.String key,
                        java.lang.String value)

This checks whether the key passed by the user is valid in the current namespace or not.

Specified by:
  `checkKey` in class `Namespace`
Parameters:
  `key` - (left hand side)
  `value` - (right hand side)
Returns:
  Namespace.VALID_KEY Namespace.UNKNOWN_KEY Namespace.EMPTY_KEY

#### checkKeyInNS

    public void checkKeyInNS(PegasusProperties properties,
                             java.lang.String pool)

It puts in the namespace specific information specified in the properties file into the namespace. The name of the pool is also passed, as many of the properties specified in the properties file are on a per pool basis. This is used to load the appropriate collapser for the job. Any preexisting profile is preferred over the one in the property file.

Specified by:
  `checkKeyInNS` in class `Namespace`
Parameters:
  `properties` - the `PegasusProperties` object containing all the properties that the user specified at various places (like .chimerarc, properties file, command line).
  `pool` - the pool name where the job is scheduled to run.
See Also:
  `COLLAPSER_KEY`, `TRANSFER_PROXY_KEY`

#### merge

    public void merge(Namespace profiles)

UniqueMerge the profiles in the namespace in a controlled manner. In case of intersection, the new profile value (except for key runtime where the values are summed ) overrides, the existing profile value.

Specified by:
  `merge` in class `Namespace`
Parameters:
  `profiles` - the `Namespace` object containing the profiles.

#### deprecatedTable

    public java.util.Map deprecatedTable()

Singleton access to the deprecated table that holds the deprecated keys, and the keys that replace them.

Overrides:
  `deprecatedTable` in class `Namespace`
Returns:
  Map

#### toCondor

    public java.lang.String toCondor()

Converts the contents of the map into the string that can be put in the Condor file for printing.

Specified by:
  `toCondor` in class `Namespace`
Returns:
  the textual description.

#### unknownKey

    public void unknownKey(java.lang.String key,
                           java.lang.String value)

Warns about an unknown profile key and constructs it anyway. Constructs a new RSL element of the format (key=value).

Overrides:
  `unknownKey` in class `Namespace`
Parameters:
  `key` - is the left-hand-side
  `value` - is the right hand side

#### containsKey

    public boolean containsKey(java.lang.Object key)

Returns true if the namespace contains a mapping for the specified key. More formally, returns true if and only if this map contains at a mapping for a key k such that (key==null ? k==null : key.equals(k)). (There can be at most one such mapping.) It also returns false if the map does not exist.

Overrides:
  `containsKey` in class `Namespace`
Parameters:
  `key` - The key that you want to search for in the namespace.
Returns:
  boolean

#### get

    public java.lang.Object get(java.lang.Object key)

Returns the value to which this namespace maps the specified key. Returns null if the map contains no mapping for this key. A return value of null does not necessarily indicate that the map contains no mapping for the key; it's also possible that the map explicitly maps the key to null. The containsKey operation may be used to distinguish these two cases.

Overrides:
  `get` in class `Namespace`
Parameters:
  `key` - The key whose value you want.
Returns:
  the object

#### getBooleanValue

    public boolean getBooleanValue(java.lang.Object key)

Returns a boolean value, that a particular key is mapped to in this namespace. If the key is mapped to a non boolean value or the key is not populated in the namespace false is returned.

Parameters:
  `key` - The key whose boolean value you desire.
Returns:
  boolean

#### getStringValue

    public java.lang.String getStringValue(java.lang.Object key)

Returns a String value, that a particular key is mapped to in this namespace. If is not populated in the namespace null is returned.

Parameters:
  `key` - The key whose boolean value you desire.
Returns:
  String if key is in the namespace null otherwise.

#### clone

    public java.lang.Object clone()

Returns a copy of the current namespace object

Overrides:
  `clone` in class `Namespace`
Returns:
  the Cloned object