edu.isi.pegasus.planner.partitioner
Class PartitionerFactory

java.lang.Object
  extended by edu.isi.pegasus.planner.partitioner.PartitionerFactory

public class PartitionerFactory
extends Object

A Factory class to load the right type of partitioner at runtime, as specified by the Properties. Each invocation, results in a new partitioner being loaded.

Version:
$Revision: 2576 $
Author:
Karan Vahi

Field Summary
static String DEFAULT_PACKAGE_NAME
          Package to prefix "just" class names with.
static String DEFAULT_PARTITIONING_CLASS
          The name of the class that does level based partitioning.
static String HORIZONTAL_PARTITIONING_CLASS
          The name of the class that does horizontal based partitioning.
static String LABEL_BASED_PARTITIONING_CLASS
          The name of the class that does label based partitioning.
static String LEVEL_BASED_PARTITIONING_CLASS
          The name of the class that does level based partitioning.
private static String[] PARTITIONING_CLASSES
          An array of known partitioning classes.
 
Constructor Summary
PartitionerFactory()
           
 
Method Summary
static Partitioner loadInstance(PegasusProperties properties, GraphNode root, Map graph, String className)
          Loads the implementing class corresponding to the type specified by the user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PACKAGE_NAME

public static final String DEFAULT_PACKAGE_NAME
Package to prefix "just" class names with.

See Also:
Constant Field Values

LEVEL_BASED_PARTITIONING_CLASS

public static final String LEVEL_BASED_PARTITIONING_CLASS
The name of the class that does level based partitioning.

See Also:
Constant Field Values

LABEL_BASED_PARTITIONING_CLASS

public static final String LABEL_BASED_PARTITIONING_CLASS
The name of the class that does label based partitioning.

See Also:
Constant Field Values

HORIZONTAL_PARTITIONING_CLASS

public static final String HORIZONTAL_PARTITIONING_CLASS
The name of the class that does horizontal based partitioning.

See Also:
Constant Field Values

DEFAULT_PARTITIONING_CLASS

public static final String DEFAULT_PARTITIONING_CLASS
The name of the class that does level based partitioning.

See Also:
Constant Field Values

PARTITIONING_CLASSES

private static final String[] PARTITIONING_CLASSES
An array of known partitioning classes.

Constructor Detail

PartitionerFactory

public PartitionerFactory()
Method Detail

loadInstance

public static Partitioner loadInstance(PegasusProperties properties,
                                       GraphNode root,
                                       Map graph,
                                       String className)
                                throws PartitionerFactoryException
Loads the implementing class corresponding to the type specified by the user. The properties object passed should not be null.

Parameters:
properties - the PegasusProperties object containing all the properties required by Pegasus.
root - the dummy root node of the graph.
graph - the map containing all the nodes of the graph keyed by the logical id of the nodes.
className - the name of the implementing class.
Returns:
the instance of the class implementing this interface.
Throws:
PartitionerFactoryException - that nests any error that might occur during the instantiation
See Also:
DEFAULT_PACKAGE_NAME


Copyright © 2011 The University of Southern California. All Rights Reserved.