Interface GeneratorContext

public interface GeneratorContext

Methods

commit(TreeLogger, PrintWriter)Commits source generation begun with tryCreate(TreeLogger, String, String).
getPropertyOracle()Gets the property oracle for the current generator context.
getTypeOracle()Gets the type oracle for the current generator context.
tryCreate(TreeLogger, String, String)Attempts to get a PrintWriter so that the caller can generate the source code for the named type.

Method Detail

commit

public void commit(TreeLogger logger, PrintWriter pw)
Commits source generation begun with tryCreate(TreeLogger, String, String).

Parameters

logger
pw

getPropertyOracle

public PropertyOracle getPropertyOracle()
Gets the property oracle for the current generator context. Generators can use the property oracle to query deferred binding properties.

getTypeOracle

public TypeOracle getTypeOracle()
Gets the type oracle for the current generator context. Generators can use the type oracle to ask questions about the entire translatable code base.

Return Value

a TypeOracle over all the relevant translatable compilation units in the source path

tryCreate

public PrintWriter tryCreate(TreeLogger logger, String packageName, String simpleName)
Attempts to get a PrintWriter so that the caller can generate the source code for the named type. If the named types already exists, null is returned to indicate that no work needs to be done.

Parameters

logger
a logger; normally the logger passed into Generator.generate(TreeLogger, GeneratorContext, String) or a branch thereof
packageName
the name of the package to which the create type belongs
simpleName
the unqualified source name of the type being generated

Return Value

null if the package and class already exists, otherwise a PrintWriter is returned.