NAME

Pegasus::DAX::Filename - class for complete file names.

SYNOPSIS

    use Pegasus::DAX::Filename;

    my $i = Pegasus::DAX::Filename->new( name => 'filename.txt' );
    $i->link = LINK_IN;
    $i->register = 1;
    $i->optional = 0;

DESCRIPTION

This class remembers a simple filename. These filenames are aggregated by the AbstractJob class. A simple filename is either part of a concrete job's argument list.

CONSTANTS

The following constants define valid values for the link attribute.

Constant denoting that a file has no linkage. To be used with the link attribute.

Constant denoting that a file is an input file. To be used with the link attribute.

Constant denoting that a file is an output file. To be used with the link attribute.

Constant denoting that a file is an input- and output file. To be used with the link attribute.

Constant denoting that a file is a job checkpoint file. To be used with the link attribute.=item

The following constants define valid values for the transfer attribute.

TRANSFER_TRUE

Stage the files as necessary.

TRANSFER_FALSE

Do not stage files.

TRANSFER_OPTIONAL

Attempt to stage files, but failing to stage an input file is not an error.

METHODS

new()
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. Other means to set attributes is to used named lists.

name

This setter and getter is inherited.

namespace

Setter and getter for a namespace string.

version

Setter and getter for a version string.

Setter and getter for a linkage string. Please use the pre-defined constants starting with LINK_.

optional
register
executable

Setter and getter for boolean values. Please use Perl truth.

size

Setter and getter for file size attribute.

transfer

Setter and getter for tri-state value. Please use strings.

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::PlainFilename

Base class.

Pegasus::DAX::AbstractJob

Aggregating class.

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.