edu.isi.pegasus.planner.parser.dax
Interface Callback

All Known Implementing Classes:
DAX2CDAG, DAX2Graph, DAX2LabelGraph, DAX2Metadata, DAX2NewGraph, ExampleDAXCallback

public interface Callback

This interfaces defines the callback calls from DAX parsing. A slim and memory-efficient parser of DAX is expected to implement these callbacks, and generate its own information on the fly.

Version:
$Revision: 3668 $
Author:
Karan Vahi, Jens-S. Vöckler

Field Summary
static String VERSION
          The version of the Callback api
 
Method Summary
 void cbCompoundTransformation(CompoundTransformation compoundTransformation)
          Callback when a compound transformation is encountered in the DAX from Section 3: that lists Transformations that Aggregate executables and Files
 void cbDocument(Map attributes)
          Callback when the opening tag was parsed.
 void cbDone()
          Callback when the parsing of the document is done.
 void cbExecutable(TransformationCatalogEntry tce)
          Callback when a transformation catalog entry is encountered in the DAX from Section 2: Executables that list entries in a Transformaton Catalog
 void cbFile(ReplicaLocation rl)
          Callback when a replica catalog entry is encountered in the DAX from Section 1: Files that lists entries in a Replica Catalog
 void cbJob(Job job)
          Callback for the job from section 4: Job's, DAX's or Dag's that list a JOB or DAX or DAG .
 void cbParents(String child, List<PCRelation> parents)
          Callback for child and parent relationships from Section 5: Dependencies that lists Parent Child relationships (can be empty)
 void cbWfInvoke(Invoke invoke)
          Callback when a invoke is encountered in the DAX from the top level inside adag tag.
 Object getConstructedObject()
          Return a object that is constructed during the parsing of the object.
 

Field Detail

VERSION

static final String VERSION
The version of the Callback api

See Also:
Constant Field Values
Method Detail

getConstructedObject

Object getConstructedObject()
Return a object that is constructed during the parsing of the object. The type of the object that is constructed is determined by the implementing callback handler. For example, it could be an Adag object used by Pegasus or a map containing the graph structure of the dax. The implementing classes should keep a boolean flag that signifies whether the corresponding object has been created by the implementing class or not. The variable should be set when the implementing callback handler deems that it has enough data to construct that object.

Returns:
constructed object

cbDocument

void cbDocument(Map attributes)
Callback when the opening tag was parsed. This contains all attributes and their raw values within a map. This callback can also be used to initialize callback-specific resources.

Parameters:
attributes - is a map of attribute key to attribute value

cbWfInvoke

void cbWfInvoke(Invoke invoke)
Callback when a invoke is encountered in the DAX from the top level inside adag tag.

Parameters:
invoke - the invoke object

cbFile

void cbFile(ReplicaLocation rl)
Callback when a replica catalog entry is encountered in the DAX from Section 1: Files that lists entries in a Replica Catalog

Parameters:
rl - the ReplicaLocation object

cbExecutable

void cbExecutable(TransformationCatalogEntry tce)
Callback when a transformation catalog entry is encountered in the DAX from Section 2: Executables that list entries in a Transformaton Catalog

Parameters:
tce - the transformationc catalog entry object.

cbCompoundTransformation

void cbCompoundTransformation(CompoundTransformation compoundTransformation)
Callback when a compound transformation is encountered in the DAX from Section 3: that lists Transformations that Aggregate executables and Files

Parameters:
compoundTransformation - the compound transforamtion

cbJob

void cbJob(Job job)
Callback for the job from section 4: Job's, DAX's or Dag's that list a JOB or DAX or DAG . These jobs are completely assembled, but each is passed separately.

Parameters:
job - is the DAX-style job.

cbParents

void cbParents(String child,
               List<PCRelation> parents)
Callback for child and parent relationships from Section 5: Dependencies that lists Parent Child relationships (can be empty)

Parameters:
child - is the IDREF of the child element.
parents - is a list of edjes denoted by PCRelation object.

cbDone

void cbDone()
Callback when the parsing of the document is done. While this state could also be determined from the return of the invocation of the parser, that return may be hidden in another place of the code. This callback can be used to free callback-specific resources.



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