- NAME
- SYNOPSIS
- DESCRIPTION
- CONSTANTS
- METHODS
- SEE ALSO
- COPYRIGHT AND LICENSE

# NAME

Pegasus::DAX::Profile - stores a Pegasus profile.

# SYNOPSIS

        use Pegasus::DAX::Profile qw(:ns);

        my $a = Pegasus::DAX::Profile->new( PROFILE_ENV, 'FOO', 'bar' );
        my $b = Pegasus::DAX::Profile->new( namespace => PROFILE_CONDOR,
                                            key => 'getenv',
                                            value => 'True' );

# DESCRIPTION

This class remembers a Pegasus profile. Pegasus profiles abstracts the various concrete planning details.

# CONSTANTS

The following constants are imported with the ns tag when using this module. The constants define the various permissible namespaces.

PROFILE_PEGASUS
PROFILE_CONDOR
PROFILE_DAGMAN
PROFILE_ENV
PROFILE_HINTS
PROFILE_GLOBUS
PROFILE_SELECTOR
PROFILE_STAT

# METHODS

new()
new( $namespace, $key, $value );
new( a => b, c => d, ... )
new( { a => b, c => d, ... } )

  The default constructor will create an empty instance whose scalar attributes can be adjusted using the getters and setters provided by the `AUTOLOAD` inherited method.

  When invoked with exactly 3 arguments, the first argument is the profile namespace, the second argument the key inside the namespace, and the third argument the value to set.

  Other means of construction is to use named lists.

namespace

  Setter and getter for a namespace string. Please use the `PROIFLE_*` constants defined previously. These constants are not imported by default, unless you use the ns import tag.

key

  Setter and getter for a key string. The key value may be of restricted range, dependinng on the namespace, but this is not checked at this point.

value

  Setter and getter for the value to be transported.

toXML( $handle, $indent, $xmlns )

  The purpose of the `toXML` function is to recursively generate XML from the internal data structures. The first argument is a file handle open for writing. This is where the XML will be generated. The second argument is a string with the amount of white-space that should be used to indent elements for pretty printing. The third argument may not be defined. If defined, all element tags will be prefixed with this name space.

# SEE ALSO

Pegasus::DAX::Base

  Base class.

Pegasus::DAX::AbstractJob
Pegasus::DAX::PFN
Pegasus::DAX::CatalogType

  Classes using profiles.

# COPYRIGHT AND LICENSE

Copyright 2007-2011 University Of Southern California

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.