public static void main(String[] args) { JavaGenerator generator = new JavaGenerator(); args = CommandLineSupport.setOptions(generator, args); if (args.length == 0) { System.out.println("No proto files specified."); } for (int i = 0; i < args.length; i++) { try { System.out.println("Compiling: "+args[i]); generator.compile(new File(args[i])); } catch (CompilerException e) { System.out.println("Protocol Buffer Compiler failed with the following error(s):"); for (String error : e.getErrors() ) { System.out.println(""); System.out.println(error); } System.out.println(""); System.out.println("Compile failed. For more details see error messages listed above."); return; } } }
private void generateMethodType(MessageDescriptor m, String className) { String typeEnum = getOption(m.getOptions(), "java_type_method", null); if( typeEnum!=null ) { String constant = constantCase(className); EnumDescriptor enumDescriptor = (EnumDescriptor)typeDescriptor; if( enumDescriptor.getFields().get(constant) == null ) { String type = javaType(typeDescriptor); p("public "+type+" type() {"); indent(); p("return "+type+"."+constant+";"); unindent(); p("}"); p();
private void generateEnum(EnumDescriptor ed) { String uname = uCamel(ed.getName()); p(); p("public "+staticOption+"enum " +uname + " {"); indent(); p(); int counter=0; for (EnumFieldDescriptor field : ed.getFields().values()) { boolean last = counter+1 == ed.getFields().size(); p(field.getName()+"(\""+field.getName()+"\", "+field.getValue()+")"+(last?";":",")); counter++; p(); p("private final String name;"); p("private final int value;"); p(); p("private "+uname+"(String name, int value) {"); p(" this.name = name;"); p(" this.value = value;"); p("}"); p(); p("public final int getNumber() {"); p(" return value;"); p("}"); p(); p("public final String toString() {"); p(" return name;"); p("}");
private String javaType(TypeDescriptor descriptor) { ProtoDescriptor p = descriptor.getProtoDescriptor(); if( p != proto ) { // Try to keep it short.. String othePackage = javaPackage(p); if( equals(othePackage,javaPackage(proto) ) ) { return javaClassName(p)+"."+descriptor.getQName(); } // Use the fully qualified class name. return othePackage+"."+javaClassName(p)+"."+descriptor.getQName(); } return descriptor.getQName(); }
String className = uCamel(m.getName()); p(); String javaImplements = getOption(m.getOptions(), "java_implments", null); baseClass = javaType(m.getBaseType())+"Base"; p(staticOption+"public final class " + className + " extends "+className+"Base<"+className+"> "+implementsExpression+"{"); p(); indent(); generateEnum(enumType); generateMessageBean(subMessage); if( isInBaseClass(m, field) ) { continue; generateMessageBean(field.getGroup()); generateMethodAssertInitialized(m, className); generateMethodClear(m); p("public "+className+" clone() {"); p(" return new "+className+"().mergeFrom(this);"); p("}"); p();
for (EnumDescriptor value : proto.getEnums().values()) { final EnumDescriptor o = value; String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); generateFileHeader(); p("public class " + outerClassName + " {"); indent(); generateEnum(enumType); generateMessageBean(m); unindent(); p("}");
getLog().info("Compiling: "+file.getPath()); if( "default".equals(type) ) { JavaGenerator generator = new JavaGenerator(); generator.setOut(outputDirectory); generator.compile(file); } else if( "alt".equals(type) ) { AltJavaGenerator generator = new AltJavaGenerator();
if( defaultOption!=null ) { if( field.isStringType() ) { return asJavaString(defaultOption.getValue()); } else if( field.getType() == FieldDescriptor.BYTES_TYPE ) { return "new org.apache.activemq.protobuf.Buffer("+asJavaString(defaultOption.getValue())+")"; } else if( field.isInteger32Type() ) { int v; return ""+v; } else if( field.getTypeDescriptor()!=null && field.getTypeDescriptor().isEnum() ) { return javaType(field)+"."+defaultOption.getValue();
String className = uCamel(m.getName()); p(); String javaImplements = getOption(m.getOptions(), "java_implments", null); baseClass = javaType(m.getBaseType())+"Base"; p(staticOption+"public final class " + className + " extends "+className+"Base<"+className+"> "+implementsExpression+"{"); p(); indent(); generateEnum(enumType); generateMessageBean(subMessage); if( isInBaseClass(m, field) ) { continue; generateMessageBean(field.getGroup()); generateMethodAssertInitialized(m, className); generateMethodClear(m); p("public "+className+" clone() {"); p(" return new "+className+"().mergeFrom(this);"); p("}"); p();
for (EnumDescriptor value : proto.getEnums().values()) { final EnumDescriptor o = value; String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); generateFileHeader(); p("public class " + outerClassName + " {"); indent(); generateEnum(enumType); generateMessageBean(m); unindent(); p("}");
private String javaType(TypeDescriptor descriptor) { ProtoDescriptor p = descriptor.getProtoDescriptor(); if( p != proto ) { // Try to keep it short.. String othePackage = javaPackage(p); if( equals(othePackage,javaPackage(proto) ) ) { return javaClassName(p)+"."+descriptor.getQName(); } // Use the fully qualified class name. return othePackage+"."+javaClassName(p)+"."+descriptor.getQName(); } return descriptor.getQName(); }
getLog().info("Compiling: "+file.getPath()); if( "default".equals(type) ) { JavaGenerator generator = new JavaGenerator(); generator.setOut(outputDirectory); generator.compile(file); } else if( "alt".equals(type) ) { AltJavaGenerator generator = new AltJavaGenerator();
if( defaultOption!=null ) { if( field.isStringType() ) { return asJavaString(defaultOption.getValue()); } else if( field.getType() == FieldDescriptor.BYTES_TYPE ) { return "new org.apache.activemq.protobuf.Buffer("+asJavaString(defaultOption.getValue())+")"; } else if( field.isInteger32Type() ) { int v; return ""+v; } else if( field.getTypeDescriptor()!=null && field.getTypeDescriptor().isEnum() ) { return javaType(field)+"."+defaultOption.getValue();
String className = uCamel(m.getName()); p(); String javaImplements = getOption(m.getOptions(), "java_implments", null); baseClass = javaType(m.getBaseType())+"Base"; p(staticOption+"public final class " + className + " extends "+className+"Base<"+className+"> "+implementsExpression+"{"); p(); indent(); generateEnum(enumType); generateMessageBean(subMessage); if( isInBaseClass(m, field) ) { continue; generateMessageBean(field.getGroup()); generateMethodAssertInitialized(m, className); generateMethodClear(m); p("public "+className+" clone() {"); p(" return new "+className+"().mergeFrom(this);"); p("}"); p();
for (EnumDescriptor value : proto.getEnums().values()) { final EnumDescriptor o = value; String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); String className = uCamel(o.getName()); writeFile(className, new Closure(){ public void execute() throws CompilerException { generateFileHeader(); generateFileHeader(); p("public class " + outerClassName + " {"); indent(); generateEnum(enumType); generateMessageBean(m); unindent(); p("}");
private void generateMethodType(MessageDescriptor m, String className) { String typeEnum = getOption(m.getOptions(), "java_type_method", null); if( typeEnum!=null ) { String constant = constantCase(className); EnumDescriptor enumDescriptor = (EnumDescriptor)typeDescriptor; if( enumDescriptor.getFields().get(constant) == null ) { String type = javaType(typeDescriptor); p("public "+type+" type() {"); indent(); p("return "+type+"."+constant+";"); unindent(); p("}"); p();
private void generateEnum(EnumDescriptor ed) { String uname = uCamel(ed.getName()); p(); p("public "+staticOption+"enum " +uname + " {"); indent(); p(); int counter=0; for (EnumFieldDescriptor field : ed.getFields().values()) { boolean last = counter+1 == ed.getFields().size(); p(field.getName()+"(\""+field.getName()+"\", "+field.getValue()+")"+(last?";":",")); counter++; p(); p("private final String name;"); p("private final int value;"); p(); p("private "+uname+"(String name, int value) {"); p(" this.name = name;"); p(" this.value = value;"); p("}"); p(); p("public final int getNumber() {"); p(" return value;"); p("}"); p(); p("public final String toString() {"); p(" return name;"); p("}");
private String javaType(TypeDescriptor descriptor) { ProtoDescriptor p = descriptor.getProtoDescriptor(); if( p != proto ) { // Try to keep it short.. String othePackage = javaPackage(p); if( equals(othePackage,javaPackage(proto) ) ) { return javaClassName(p)+"."+descriptor.getQName(); } // Use the fully qualified class name. return othePackage+"."+javaClassName(p)+"."+descriptor.getQName(); } return descriptor.getQName(); }
getLog().info("Compiling: "+file.getPath()); if( "default".equals(type) ) { JavaGenerator generator = new JavaGenerator(); generator.setOut(outputDirectory); generator.compile(file); } else if( "alt".equals(type) ) { AltJavaGenerator generator = new AltJavaGenerator();
public static void main(String[] args) { JavaGenerator generator = new JavaGenerator(); args = CommandLineSupport.setOptions(generator, args); if (args.length == 0) { System.out.println("No proto files specified."); } for (int i = 0; i < args.length; i++) { try { System.out.println("Compiling: "+args[i]); generator.compile(new File(args[i])); } catch (CompilerException e) { System.out.println("Protocol Buffer Compiler failed with the following error(s):"); for (String error : e.getErrors() ) { System.out.println(""); System.out.println(error); } System.out.println(""); System.out.println("Compile failed. For more details see error messages listed above."); return; } } }