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$
    Author:
    Karan Vahi, Jens-S. Vöckler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String VERSION
      The version of the Callback api
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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​(java.util.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​(java.lang.String child, java.util.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.
      java.lang.Object getConstructedObject()
      Return a object that is constructed during the parsing of the object.
      void initialize​(PegasusBag bag, java.lang.String dax)
      The overloaded constructor.
    • Field Detail

      • VERSION

        static final java.lang.String VERSION
        The version of the Callback api
        See Also:
        Constant Field Values
    • Method Detail

      • initialize

        void initialize​(PegasusBag bag,
                        java.lang.String dax)
        The overloaded constructor.
        Parameters:
        bag - the bag of initialization objects containing the properties and the logger
        dax - the path to the DAX file.
      • getConstructedObject

        java.lang.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​(java.util.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​(java.lang.String child,
                       java.util.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.