edu.isi.pegasus.planner.catalog.site.classes

## Class Directory

- java.lang.Object
- - edu.isi.pegasus.planner.catalog.site.classes.SiteData
  - - edu.isi.pegasus.planner.catalog.site.classes.AbstractSiteData
    - - edu.isi.pegasus.planner.catalog.site.classes.DirectoryLayout
      - - edu.isi.pegasus.planner.catalog.site.classes.Directory

All Implemented Interfaces:
  java.lang.Cloneable

    public class Directory
    extends DirectoryLayout

The Directory class used for Site Catalog Schema version 4 onwards. The type of directory is determined based on type attribute rather than having separate classes for it.

Version:
  $Revision$
Author:
  Karan Vahi

### Nested Class Summary

Nested Classes
`static class` `Directory.TYPE` Enumerates the new directory types supported in this schema

### Field Summary

Fields
`private Directory.TYPE` `mType` The type of directory

### Fields inherited from class edu.isi.pegasus.planner.catalog.site.classes.DirectoryLayout

`mFileServers, mInternalMount`

### Constructor Summary

Constructors
Constructor and Description
`Directory()` Default constructor
`Directory(DirectoryLayout directory, Directory.TYPE type)` Convenience constructor for adapter class

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `accept(SiteDataVisitor visitor)` Accept method for the SiteData classes that accepts a visitor
`java.lang.Object` `clone()` Returns the clone of the object.
`Directory.TYPE` `getType()` Set the type of directory
`void` `setType(Directory.TYPE type)` Set the type of directory
`void` `setType(java.lang.String type)` Set the type of directory
`void` `toXML(java.io.Writer writer, java.lang.String indent)` Writes out the xml description of the object.

### Methods inherited from class edu.isi.pegasus.planner.catalog.site.classes.DirectoryLayout

`addFileServer, getFileServers, getFileServersIterator, getInternalMountPoint, hasFileServerForGETOperations, hasFileServerForOperations, hasFileServerForPUTOperations, isEmpty, resetFileServers, selectFileServer, setFileServers, setInternalMountPoint`

### Methods inherited from class edu.isi.pegasus.planner.catalog.site.classes.AbstractSiteData

`toString, toXML, writeAttribute`

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

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

### Field Detail

#### mType

    private Directory.TYPE mType

The type of directory

### Constructor Detail

#### Directory

    public Directory()

Default constructor

#### Directory

    public Directory(DirectoryLayout directory,
                     Directory.TYPE type)

Convenience constructor for adapter class

Parameters:
  `directory` - the directory layout object
  `type` - the type associated

### Method Detail

#### accept

    public void accept(SiteDataVisitor visitor)
                throws java.io.IOException

Accept method for the SiteData classes that accepts a visitor

Specified by:
  `accept` in class `AbstractSiteData`
Parameters:
  `visitor` - the visitor to be used
Throws:
  `java.io.IOException` - if something fishy happens to the stream.

#### setType

    public void setType(java.lang.String type)

Set the type of directory

Parameters:
  `type` - the type of directory

#### setType

    public void setType(Directory.TYPE type)

Set the type of directory

Parameters:
  `type` - the type of directory

#### getType

    public Directory.TYPE getType()

Set the type of directory

Returns:
  the type of directory

#### toXML

    public void toXML(java.io.Writer writer,
                      java.lang.String indent)
               throws java.io.IOException

Description copied from class: `AbstractSiteData`
Writes out the xml description of the object.

Specified by:
  `toXML` in class `AbstractSiteData`
Parameters:
  `writer` -
  `indent` -
Throws:
  `java.io.IOException`

#### clone

    public java.lang.Object clone()

Returns the clone of the object.

Overrides:
  `clone` in class `DirectoryLayout`
Returns:
  the clone