Class JavaGenerator

java.lang.Object
org.fusesource.hawtbuf.proto.compiler.JavaGenerator

public class JavaGenerator extends Object
  • Field Details

    • out

      private File out
    • path

      private File[] path
    • proto

      private ProtoDescriptor proto
    • javaPackage

      private String javaPackage
    • outerClassName

      private String outerClassName
    • w

      private PrintWriter w
    • indent

      private int indent
    • errors

      private ArrayList<String> errors
    • multipleFiles

      private boolean multipleFiles
    • deferredDecode

      private boolean deferredDecode
    • auto_clear_optional_fields

      private boolean auto_clear_optional_fields
    • HEX_TABLE

      static final char[] HEX_TABLE
  • Constructor Details

    • JavaGenerator

      public JavaGenerator()
  • Method Details

    • main

      public static void main(String[] args)
    • compile

      public void compile(File file) throws CompilerException
      Throws:
      CompilerException
    • writeFile

      private void writeFile(String className, JavaGenerator.Closure closure) throws CompilerException
      Throws:
      CompilerException
    • loadImports

      private void loadImports(ProtoDescriptor proto, File protoDir)
    • generateProtoFile

      private void generateProtoFile() throws CompilerException
      Throws:
      CompilerException
    • generateFileHeader

      private void generateFileHeader()
    • generateMessageBean

      private void generateMessageBean(MessageDescriptor m)
    • isInBaseClass

      private boolean isInBaseClass(MessageDescriptor m, FieldDescriptor field)
    • generateMethodVisitor

      private void generateMethodVisitor(MessageDescriptor m)
      If the java_visitor message option is set, then this method generates a visitor method. The option speifiies the class name of the visitor and optionally the return value and exceptions thrown by the visitor. Examples: option java_visitor = "org.apache.kahadb.store.Visitor"; generates: public void visit(org.apache.kahadb.store.Visitor visitor) { visitor.visit(this); } option java_visitor = "org.apache.kahadb.store.Visitor:int:java.io.IOException"; generates: public int visit(org.apache.kahadb.store.Visitor visitor) throws java.io.IOException { return visitor.visit(this); }
      Parameters:
      m -
    • generateMethodType

      private void generateMethodType(MessageDescriptor m, String className)
    • generateMethodParseFrom

      private void generateMethodParseFrom(MessageDescriptor m, String className)
    • generateMethodEquals

      private void generateMethodEquals(MessageDescriptor m, String className)
    • generateMethodSerializedSize

      private void generateMethodSerializedSize(MessageDescriptor m)
      Parameters:
      m -
    • generateMethodWriteTo

      private void generateMethodWriteTo(MessageDescriptor m)
      Parameters:
      m -
    • generateMethodMergeFromStream

      private void generateMethodMergeFromStream(MessageDescriptor m, String className)
      Parameters:
      m -
      className -
    • generateMethodMergeFromBean

      private void generateMethodMergeFromBean(MessageDescriptor m, String className)
      Parameters:
      m -
      className -
    • generateMethodClear

      private void generateMethodClear(MessageDescriptor m)
      Parameters:
      m -
    • generateMethodAssertInitialized

      private void generateMethodAssertInitialized(MessageDescriptor m, String className)
    • generateMethodToString

      private void generateMethodToString(MessageDescriptor m)
    • generateFieldAccessor

      private void generateFieldAccessor(FieldDescriptor field)
      Parameters:
      field -
      className -
    • javaTypeDefault

      private String javaTypeDefault(FieldDescriptor field)
    • asJavaString

      private String asJavaString(String value)
    • generateEnum

      private void generateEnum(EnumDescriptor ed)
    • javaCollectionType

      private String javaCollectionType(FieldDescriptor field)
    • javaType

      private String javaType(FieldDescriptor field)
    • javaType

      private String javaType(TypeDescriptor descriptor)
    • equals

      private boolean equals(String o1, String o2)
    • javaClassName

      private String javaClassName(ProtoDescriptor proto)
    • isMultipleFilesEnabled

      private boolean isMultipleFilesEnabled(ProtoDescriptor proto)
    • javaPackage

      private String javaPackage(ProtoDescriptor proto)
    • indent

      private void indent()
    • unindent

      private void unindent()
    • p

      private void p(String line)
    • p

      private void p()
    • getOption

      private String getOption(Map<String,OptionDescriptor> options, String optionName, String defaultValue)
    • removeFileExtension

      private static String removeFileExtension(String name)
    • uCamel

      private static String uCamel(String name)
    • lCamel

      private static String lCamel(String name)
    • constantToUCamelCase

      private String constantToUCamelCase(String name)
    • constantCase

      private String constantCase(String name)
    • getOut

      public File getOut()
    • setOut

      public void setOut(File outputDirectory)
    • getPath

      public File[] getPath()
    • setPath

      public void setPath(File[] path)