org.apache.avro.compiler.specific
Class SpecificCompiler

java.lang.Object
  extended by org.apache.avro.compiler.specific.SpecificCompiler

public class SpecificCompiler
extends Object

Generate specific Java interfaces and classes for protocols and schemas. Java reserved keywords are mangled to preserve compilation.


Nested Class Summary
static class SpecificCompiler.Slf4jLogChute
           
 
Constructor Summary
SpecificCompiler(Protocol protocol)
           
SpecificCompiler(Schema schema)
           
 
Method Summary
static void compileProtocol(File src, File dest)
          Generates Java interface and classes for a protocol.
static void compileSchema(File src, File dest)
          Generates Java classes for a schema.
 void compileToDestination(File src, File dst)
          Generate output under dst, unless existing file is newer than src.
static String escapeForJavadoc(String s)
          Utility for template use.
static String javaEscape(Object o)
          Utility for template use.
static String javaType(Schema schema)
          Utility for template use.
static String javaUnbox(Schema schema)
          Utility for template use.
static void main(String[] args)
           
static String mangle(String word)
          Utility for template use.
static String nullToEmpty(String x)
          Utility for template use.
 void setTemplateDir(String templateDir)
          Set the CLASSPATH resource directory where templates reside.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpecificCompiler

public SpecificCompiler(Protocol protocol)

SpecificCompiler

public SpecificCompiler(Schema schema)
Method Detail

setTemplateDir

public void setTemplateDir(String templateDir)
Set the CLASSPATH resource directory where templates reside.


compileProtocol

public static void compileProtocol(File src,
                                   File dest)
                            throws IOException
Generates Java interface and classes for a protocol.

Parameters:
src - the source Avro protocol file
dest - the directory to place generated files in
Throws:
IOException

compileSchema

public static void compileSchema(File src,
                                 File dest)
                          throws IOException
Generates Java classes for a schema.

Throws:
IOException

compileToDestination

public void compileToDestination(File src,
                                 File dst)
                          throws IOException
Generate output under dst, unless existing file is newer than src.

Throws:
IOException

javaType

public static String javaType(Schema schema)
Utility for template use. Returns the java type for a Schema.


javaUnbox

public static String javaUnbox(Schema schema)
Utility for template use. Returns the unboxed java type for a Schema.


javaEscape

public static String javaEscape(Object o)
Utility for template use. Escapes quotes in java strings.


escapeForJavadoc

public static String escapeForJavadoc(String s)
Utility for template use. Escapes comment end with HTML entities.


nullToEmpty

public static String nullToEmpty(String x)
Utility for template use. Returns empty string for null.


mangle

public static String mangle(String word)
Utility for template use. Adds a dollar sign to reserved words.


main

public static void main(String[] args)
                 throws Exception
Throws:
Exception


Copyright © 2011 The Apache Software Foundation. All Rights Reserved.