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

# 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;

    =head1 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.

LINK_NONE

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

LINK_IN
LINK_INPUT

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

LINK_OUT
LINK_OUTPUT

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

LINK_IO
LINK_INOUT

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

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.

link

  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.

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.