com.ibm.workflow.util.fdl.make
Class StructureVisitor

java.lang.Object
  |
  +--com.ibm.workflow.util.fdl.NopVisitor
        |
        +--com.ibm.workflow.util.fdl.make.StructureVisitor
All Implemented Interfaces:
ParserVisitor

public class StructureVisitor
extends NopVisitor

An FDL parse tree visitor which collects the information about all FDL STRUCTURE's in the tree. This data is then used by the code-generation methods (generateXXX) to map FDL STRUCTURE's to their respective target representation.

This visitor operates on a parse tree which was generated from this FDL grammar using the JavaCC parser generator. It operates on the sub-tree starting at the Structure production.

Version:
1.2
Author:
Robert Junghuber (junghub@de.ibm.com)

Inner Class Summary
protected  class StructureVisitor.Member
           
protected  class StructureVisitor.Setting
           
protected  class StructureVisitor.Structure
           
 
Field Summary
protected  Make cxt
           
protected  boolean doNull
           
protected  java.io.PrintWriter pw
           
protected  java.util.List structures
           
 
Constructor Summary
StructureVisitor(Make cxt)
          Construct a Visitor, passing configuration information for later access and the writer to the output stream
 
Method Summary
 void generateCPY()
          Generates COBOL copybook declarations.
 void generateDTD()
          Generates Data Type Definition.
 void generateXSD()
          Generates XML Schema.
protected  java.lang.String removeBlanks(FdlName node)
          Strip all blanks from an FdlName
 java.lang.Object visit(FdlMemberCardinality node, java.lang.Object data)
          Visit an FDL MemberCardinality.
 java.lang.Object visit(FdlMemberDeclaration node, java.lang.Object data)
          Visit an FDL MemberDeclaration.
 java.lang.Object visit(FdlMemberType node, java.lang.Object data)
          Visit an FDL MemberType.
 java.lang.Object visit(FdlName node, java.lang.Object data)
          Visit an FDL Name.
 java.lang.Object visit(FdlProcessingOption node, java.lang.Object data)
          Visit an FDL ProcessingOption.
 java.lang.Object visit(FdlStructure node, java.lang.Object data)
          Visit an FDL Structure.
 
Methods inherited from class com.ibm.workflow.util.fdl.NopVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cxt

protected Make cxt

pw

protected java.io.PrintWriter pw

structures

protected java.util.List structures

doNull

protected boolean doNull
Constructor Detail

StructureVisitor

public StructureVisitor(Make cxt)
Construct a Visitor, passing configuration information for later access and the writer to the output stream
Method Detail

generateCPY

public void generateCPY()
                 throws ParseException
Generates COBOL copybook declarations. FDL data type mapping, indentation spacing and level numbering are defined by the corresponding configuration settings.

generateDTD

public void generateDTD()
                 throws ParseException
Generates Data Type Definition. Performs name uniqueness validation as a side-effect.

generateXSD

public void generateXSD()
                 throws ParseException
Generates XML Schema.

visit

public java.lang.Object visit(FdlStructure node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL Structure.
Overrides:
visit in class NopVisitor

visit

public java.lang.Object visit(FdlMemberDeclaration node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL MemberDeclaration.
Overrides:
visit in class NopVisitor

visit

public java.lang.Object visit(FdlMemberCardinality node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL MemberCardinality.
Overrides:
visit in class NopVisitor

visit

public java.lang.Object visit(FdlMemberType node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL MemberType.
Overrides:
visit in class NopVisitor

visit

public java.lang.Object visit(FdlName node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL Name.
Overrides:
visit in class NopVisitor

visit

public java.lang.Object visit(FdlProcessingOption node,
                              java.lang.Object data)
                       throws ParseException
Visit an FDL ProcessingOption. Simply ignored.
Overrides:
visit in class NopVisitor

removeBlanks

protected final java.lang.String removeBlanks(FdlName node)
Strip all blanks from an FdlName