Class AltJavaGenerator

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

public class AltJavaGenerator 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
    • auto_clear_optional_fields

      private boolean auto_clear_optional_fields
    • factoryFeild

      private String factoryFeild
    • getterCN

      private String getterCN
    • beanCN

      private String beanCN
    • bufferCN

      private String bufferCN
    • HEX_TABLE

      static final char[] HEX_TABLE
  • Constructor Details

    • AltJavaGenerator

      public AltJavaGenerator()
  • 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, AltJavaGenerator.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)
    • generateMethodFreeze

      private void generateMethodFreeze(MessageDescriptor m, String bufferClassName)
    • isPrimitive

      private boolean isPrimitive(String type)
    • isBuferOrString

      private boolean isBuferOrString(String type)
    • generateMethodCopyFromBean

      private void generateMethodCopyFromBean(MessageDescriptor m, String className)
      Parameters:
      m -
      className -
    • 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 bufferClassName, String beanClassName)
    • generateBeanEquals

      private void generateBeanEquals(MessageDescriptor m, String className)
    • generateBufferEquals

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

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

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

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

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

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

      private void generateReadWriteExternal(MessageDescriptor m)
    • generateMethodToString

      private void generateMethodToString(MessageDescriptor m)
    • generateBufferGetters

      private void generateBufferGetters(FieldDescriptor field)
      Parameters:
      field -
    • generateFieldGetterSignatures

      private void generateFieldGetterSignatures(FieldDescriptor field)
      Parameters:
      field -
    • generateFieldAccessor

      private void generateFieldAccessor(String beanClassName, FieldDescriptor field)
      Parameters:
      field -
    • javaTypeDefault

      private String javaTypeDefault(FieldDescriptor field)
    • asJavaString

      private String asJavaString(String value)
    • generateEnum

      private void generateEnum(EnumDescriptor ed)
    • generateParseDelegate

      private void generateParseDelegate(EnumDescriptor descriptor, String methodName, String inputType, String exceptions)
    • javaCollectionType

      private String javaCollectionType(FieldDescriptor field)
    • javaType

      private String javaType(FieldDescriptor field)
    • javaFactoryType

      private String javaFactoryType(TypeDescriptor descriptor)
    • qualified

      private String qualified(String type, String suffix)
    • 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)