in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/JavaGenerator.java [366:397]
private void generateMethodVisitor(MessageDescriptor m) {
String javaVisitor = getOption(m.getOptions(), "java_visitor", null);
if( javaVisitor!=null ) {
String returns = "void";
String throwsException = null;
StringTokenizer st = new StringTokenizer(javaVisitor, ":");
String vistorClass = st.nextToken();
if( st.hasMoreTokens() ) {
returns = st.nextToken();
}
if( st.hasMoreTokens() ) {
throwsException = st.nextToken();
}
String throwsClause = "";
if( throwsException!=null ) {
throwsClause = "throws "+throwsException+" ";
}
p("public "+returns+" visit("+vistorClass+" visitor) "+throwsClause+ "{");
indent();
if( "void".equals(returns) ) {
p("visitor.visit(this);");
} else {
p("return visitor.visit(this);");
}
unindent();
p("}");
p();
}
}