Class JavaGenerator

java.lang.Object
edu.nps.moves.dis7.source.generator.pdus.AbstractGenerator
edu.nps.moves.dis7.source.generator.pdus.JavaGenerator

public class JavaGenerator extends AbstractGenerator
This class autogenerates Java source code from XML PDU definitions, specifically producing most source code needed for the opendis7-java distribution. Given the input object, something of an abstract syntax tree, this generates a source code file in the Java language. It has ivars, getters, setters, and serialization/deserialization methods. Fully implemented.
Author:
DMcG
See Also:
  • Constructor Details

    • JavaGenerator

      public JavaGenerator(Map<String,GeneratedClass> pClassDescriptions, Properties pJavaProperties)
      Constructor
      Parameters:
      pClassDescriptions - String map of generated classes
      pJavaProperties - language properties
  • Method Details

    • writeClasses

      public void writeClasses()
      Generate the classes and write them to a directory
      Specified by:
      writeClasses in class AbstractGenerator
    • writeGetMarshalledSizeMethod

      public void writeGetMarshalledSizeMethod(PrintWriter printWriter, GeneratedClass aClass)
      Produce custom getMarshalledSize() method
      Parameters:
      printWriter - output
      aClass - input class
    • writeEqualityMethod

      public void writeEqualityMethod(PrintWriter pw, GeneratedClass aClass)
      Write the code for an equality operator. This allows you to compare two objects for equality.The code should look like bool operator ==(const ClassName& rhs) return (_ivar1==rhs._ivar1 && _var2 == rhs._ivar2 ...)
      Parameters:
      pw - PrintWriter
      aClass - class of interest
    • writeEqualityImplMethod

      public void writeEqualityImplMethod(PrintWriter pw, GeneratedClass aClass)
      write equalsImpl(...) method to this class to parent or subclasses
      Parameters:
      pw - PrintWriter
      aClass - class of interest
    • writeToStringMethod

      public void writeToStringMethod(PrintWriter pw, GeneratedClass aClass)
      Build the toString() method for this class, using the toString() methods of the fields of the object
      Parameters:
      pw - PrintWriter
      aClass - class of interest
    • initialCapital

      public String initialCapital(String aString)
      returns a string with the first letter capitalized.
      Overrides:
      initialCapital in class AbstractGenerator
      Parameters:
      aString - of interest
      Returns:
      same string with first letter capitalized
    • initialLower

      public String initialLower(String aString)
      returns a string with the first letter lower case.
      Overrides:
      initialLower in class AbstractGenerator
      Parameters:
      aString - of interest
      Returns:
      same string with first letter lower case