public interface GeneratorContext
Modifier and Type | Method and Description |
---|---|
boolean |
checkRebindRuleAvailable(String sourceTypeName)
Checks whether a rebind rule is available for a given sourceTypeName, such
as can appear in a replace-with or generate-with rule.
|
void |
commit(TreeLogger logger,
PrintWriter pw)
Commits source generation begun with
tryCreate(TreeLogger, String, String) . |
void |
commitArtifact(TreeLogger logger,
Artifact<?> artifact)
Add an Artifact to the
ArtifactSet
that will be presented to the Linker chain at the end of the
compilation cycle. |
GeneratedResource |
commitResource(TreeLogger logger,
OutputStream os)
Commits resource generation begun with
tryCreateResource(TreeLogger, String) . |
CachedGeneratorResult |
getCachedGeneratorResult()
Get the cached rebind result that has been provided to the context, if
available.
|
PropertyOracle |
getPropertyOracle()
Gets the property oracle for the current generator context.
|
ResourceOracle |
getResourcesOracle()
Returns a resource oracle containing all resources that are mapped into the
module's source (or super-source) paths.
|
TypeOracle |
getTypeOracle()
Gets the type oracle for the current generator context.
|
boolean |
isGeneratorResultCachingEnabled()
Check whether generator result caching is currently enabled.
|
boolean |
isProdMode()
Returns true if generators are being run to produce code for a production
compile.
|
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. |
OutputStream |
tryCreateResource(TreeLogger logger,
String partialPath)
Attempts to get an
OutputStream so that the caller can write
file contents into the named file underneath the compilation output
directory. |
boolean |
tryReuseTypeFromCache(String typeName)
Mark a type to be reused from the generator result cache, if available.
|
boolean checkRebindRuleAvailable(String sourceTypeName)
sourceTypeName
- the name of a type to check for rebind rule
availability.void commit(TreeLogger logger, PrintWriter pw)
tryCreate(TreeLogger, String, String)
.void commitArtifact(TreeLogger logger, Artifact<?> artifact) throws UnableToCompleteException
ArtifactSet
that will be presented to the Linker
chain at the end of the
compilation cycle. Custom sub-classes of Artifact can be used to write
cooperating Generator and Linker combinations. This method is semantically
equivalent to calling
ArtifactSet.replace(Artifact)
if an
equivalent Artifact had previously been committed.logger
- a logger; normally the logger passed into the currently
invoked generator or a branch thereofartifact
- the Artifact to provide to the Linker chain.UnableToCompleteException
GeneratedResource commitResource(TreeLogger logger, OutputStream os) throws UnableToCompleteException
tryCreateResource(TreeLogger, String)
.UnableToCompleteException
- if the resource cannot be written to
disk, if the specified stream is unknown, or if the stream has
already been committedCachedGeneratorResult getCachedGeneratorResult()
CachedGeneratorResult
object, if one has been provided to
the context. Null is returned if there is no previous result
available.PropertyOracle getPropertyOracle()
ResourceOracle getResourcesOracle()
com.google.gwt.core.client
as
a source package, then a resource at
com/google/gwt/core/client/Foo.properties
would be exposed by
this resource oracle.TypeOracle getTypeOracle()
boolean isGeneratorResultCachingEnabled()
boolean isProdMode()
PrintWriter tryCreate(TreeLogger logger, String packageName, String simpleName)
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.
The file is not committed until commit(TreeLogger, PrintWriter)
is
called.logger
- a logger; normally the logger passed into the currently
invoked generator, or a branch thereofpackageName
- the name of the package to which the create type belongssimpleName
- the unqualified source name of the type being generatednull
if the package and class already exists,
otherwise a PrintWriter
is returned.OutputStream tryCreateResource(TreeLogger logger, String partialPath) throws UnableToCompleteException
OutputStream
so that the caller can write
file contents into the named file underneath the compilation output
directory. The file is not committed until
commitResource(TreeLogger, OutputStream)
is called.logger
- a logger; normally the logger passed into the currently
invoked generator, or a branch thereofpartialPath
- the name of the file whose contents are to be written;
the name can include subdirectories separated by forward slashes
('/')OutputStream
into which file contents can be
written, or null
if a resource by that name is already
pending or already existsUnableToCompleteException
- if the resource could not be initialized
for some reason, such as if the specified partial path is invalidboolean tryReuseTypeFromCache(String typeName)
IncrementalGenerator.generateIncrementally(com.google.gwt.core.ext.TreeLogger, com.google.gwt.core.ext.GeneratorContext, java.lang.String)
, with a result
containing RebindMode.USE_PARTIAL_CACHED
.typeName
- the fully qualified source name of a type.Copyright © 2018. All rights reserved.