edu.isi.pegasus.planner.parser.pdax

## Interface Callback

All Known Implementing Classes:
  PDAX2MDAG

    public interface Callback

This interfaces defines the callback calls from PDAX parsing. A slim and memory-efficient parser of PDAX is expected to call these callbacks.

Version:
  $Revision$
Author:
  Karan Vahi

### Method Summary

All Methods Instance Methods Abstract Methods
`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` `cbParents(java.lang.String child, java.util.List parents)` Callback for child and parent relationships from section 3.
`void` `cbPartition(Partition partition)` Callback for the partition .
`java.lang.Object` `getConstructedObject()` Return a object that is constructed during the parsing of the object.

### Method Detail

#### 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

#### cbPartition

    void cbPartition(Partition partition)

Callback for the partition . These partitions are completely assembled, but each is passed separately.

Parameters:
  `partition` - is the PDAX-style partition.

#### cbParents

    void cbParents(java.lang.String child,
                   java.util.List parents)

Callback for child and parent relationships from section 3.

Parameters:
  `child` - is the IDREF of the child element.
  `parents` - is a list of IDREFs of the included parents.

#### 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.

#### 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:
  the constructed object