edu.isi.pegasus.planner.transfer

## Class SingleFTPerXFERJobRefiner

- java.lang.Object
- - edu.isi.pegasus.planner.transfer.AbstractRefiner
  - - edu.isi.pegasus.planner.transfer.SingleFTPerXFERJobRefiner

All Implemented Interfaces:
  Refiner

    public abstract class SingleFTPerXFERJobRefiner
    extends AbstractRefiner

The refiner interface, that determines the functions that need to be implemented to add various types of transfer nodes to the workflow. The single in the name indicates that the refiner works with the implementation that handles one file transfer per transfer job.

Version:
  $Revision$
Author:
  Karan Vahi, Gaurang Mehta

### Field Summary

### Fields inherited from class edu.isi.pegasus.planner.transfer.AbstractRefiner

`mDAG, mLogger, mPOptions, mProps, mRemoteTransfers, mTPT, mTXInterImplementation, mTXStageInImplementation, mTXStageOutImplementation, mTXSymbolicLinkImplementation, mXMLStore`

### Fields inherited from interface edu.isi.pegasus.planner.transfer.Refiner

`INTER_POOL_PREFIX, LOCAL_PREFIX, REGISTER_PREFIX, REMOTE_PREFIX, STAGE_IN_PREFIX, STAGE_OUT_PREFIX`

### Fields inherited from interface edu.isi.pegasus.planner.refiner.Refiner

`VERSION`

### Constructor Summary

Constructors
Constructor and Description
`SingleFTPerXFERJobRefiner(ADag dag, PegasusBag bag)` The overloaded constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `loadImplementations(PegasusBag bag)` Loads the appropriate implementations that is required by this refinement strategy for different types of transfer jobs.

### Methods inherited from class edu.isi.pegasus.planner.transfer.AbstractRefiner

`addStageInXFERNodes, addStageInXFERNodes, getWorkflow, getXMLProducer, isSiteThirdParty, logConfigMessages, refinerPreferenceForLocalTransferJobs, refinerPreferenceForTransferJobLocation, runTPTOnRemoteSite, runTransferRemotely`

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

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

### Methods inherited from interface edu.isi.pegasus.planner.transfer.Refiner

`addInterSiteTXNodes, addJob, addRelation, addRelation, addStageOutXFERNodes, addStageOutXFERNodes, done, getDescription`

### Constructor Detail

#### SingleFTPerXFERJobRefiner

    public SingleFTPerXFERJobRefiner(ADag dag,
                                     PegasusBag bag)

The overloaded constructor.

Parameters:
  `dag` - the workflow to which transfer nodes need to be added.
  `bag` - the bag of initialization objects

### Method Detail

#### loadImplementations

    public void loadImplementations(PegasusBag bag)
                             throws TransferImplementationFactoryException

Loads the appropriate implementations that is required by this refinement strategy for different types of transfer jobs. It calls to the factory method to load the appropriate Implementor. Loads the implementing class corresponding to the mode specified by the user at runtime in the properties file. The properties object passed should not be null.

Parameters:
  `bag` - the bag of initialization objects
Throws:
  `TransferImplementationFactoryException` - that nests any error that might occur during the instantiation.