edu.isi.pegasus.planner.catalog.site.impl.old

## Class XML

- java.lang.Object
- - edu.isi.pegasus.planner.catalog.site.impl.old.PoolInfoProvider
  - - edu.isi.pegasus.planner.catalog.site.impl.old.Abstract
    - - edu.isi.pegasus.planner.catalog.site.impl.old.XML

    public class XML
    extends Abstract

It gets the information about a pool by reading the pool config xml that is generated from querying mds or using the static information provided by the user at the submit host.

Version:
  $Revision$
Author:
  Gaurang Mehta gmehta@isi.edu, Karan Vahi vahi@isi.edu

### Field Summary

Fields
`private static XML` `mPoolHandle`

### Fields inherited from class edu.isi.pegasus.planner.catalog.site.impl.old.Abstract

`mPoolConfig`

### Fields inherited from class edu.isi.pegasus.planner.catalog.site.impl.old.PoolInfoProvider

`mDeepStorageStructure, mLogger, mLogMsg, mPoolProvider, mProps, mStorageDir, mUserOpts, mWorkDir, PEGASUS_HOME, VDS_HOME`

### Constructor Summary

Constructors
`private` `XML(java.lang.String poolProvider)` The private constructor that is called only once, when the Singleton is invoked for the first time.
`private` `XML(java.lang.String poolProvider, java.lang.String propFileName)` The private constructor that is called to return a non singleton instance of the class.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`java.lang.String` `getPoolMode()` Returns a textual description about the pool mode that is implemented by this class.
`static PoolInfoProvider` `nonSingletonInstance(java.lang.String poolProvider, java.lang.String propFileName)` The method that returns a Non Singleton instance of the dervived InfoProvider class.
`static PoolInfoProvider` `singletonInstance(java.lang.String poolProvider, java.lang.String propFileName)` The method returns a singleton instance of the derived InfoProvider class.

### Methods inherited from class edu.isi.pegasus.planner.catalog.site.impl.old.Abstract

`getGridFTPServers, getJobmanagers, getJobmanagers, getPoolEntry, getPoolProfile, getPools, getSysinfo, getSysinfos, removeGridFtp, removeJobManager`

### Methods inherited from class edu.isi.pegasus.planner.catalog.site.impl.old.PoolInfoProvider

`getEnvironmentVariable, getExecPoolWorkDir, getExecPoolWorkDir, getExecPoolWorkDir, getExecPoolWorkDir, getPegasusHome, getPoolProfile, getSeMountPoint, getTXPoolEntry, getURLPrefix, getVDS_HOME, loadNonSingletonObjects, loadSingletonObjects, logMessage, selectGridFtp, selectLRC, selectWorkdir, singletonInstance`

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

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

### Field Detail

#### mPoolHandle

    private static XML mPoolHandle

### Constructor Detail

#### XML

    private XML(java.lang.String poolProvider)

The private constructor that is called only once, when the Singleton is invoked for the first time.

Parameters:
  `poolProvider` - the path to the file that contains the pool information in the xml format.

#### XML

    private XML(java.lang.String poolProvider,
                java.lang.String propFileName)

The private constructor that is called to return a non singleton instance of the class.

Parameters:
  `poolProvider` - the path to the file that contains the pool information in the xml format.
  `propFileName` - the name of the properties file that needs to be picked up from PEGASUS_HOME/etc directory.If it is null, then the default properties file should be picked up.

### Method Detail

#### getPoolMode

    public java.lang.String getPoolMode()

Returns a textual description about the pool mode that is implemented by this class. It is purely informative.

Specified by:
  `getPoolMode` in class `PoolInfoProvider`
Returns:
  String corresponding to the description.

#### singletonInstance

    public static PoolInfoProvider singletonInstance(java.lang.String poolProvider,
                                                     java.lang.String propFileName)

The method returns a singleton instance of the derived InfoProvider class.

Parameters:
  `poolProvider` - the path to the file containing the pool information.
  `propFileName` - the name of the properties file that needs to be picked up from PEGASUS_HOME/etc directory. In the singleton case only the default properties file is picked up.
Returns:
  a singleton instance of this class.

#### nonSingletonInstance

    public static PoolInfoProvider nonSingletonInstance(java.lang.String poolProvider,
                                                        java.lang.String propFileName)

The method that returns a Non Singleton instance of the dervived InfoProvider class. This method if invoked should also ensure that all other internal Pegasus objects like PegasusProperties are invoked in a non singleton manner.

Parameters:
  `poolProvider` - the path to the file containing the pool information.
  `propFileName` - the name of the properties file that needs to be picked up from PEGASUS_HOME/etc directory. If it is null, then the default file should be picked up.
Returns:
  the non singleton instance of the pool provider.