GWT 2.7.0

com.google.web.bindery.requestfactory.apt
Class State

java.lang.Object
  extended by com.google.web.bindery.requestfactory.apt.State
Direct Known Subclasses:
State.ForTesting

 class State
extends java.lang.Object


Nested Class Summary
(package private) static class State.ForTesting
          Slightly tweaked implementation used when running tests.
 
Field Summary
(package private)  javax.lang.model.type.TypeMirror baseProxyType
           
(package private)  javax.lang.model.util.Elements elements
           
(package private)  javax.lang.model.type.DeclaredType entityProxyIdType
           
(package private)  javax.lang.model.type.DeclaredType entityProxyType
           
(package private)  javax.lang.model.type.DeclaredType extraTypesAnnotation
           
(package private)  javax.annotation.processing.Filer filer
           
(package private)  javax.lang.model.type.DeclaredType instanceRequestType
           
(package private)  javax.lang.model.type.DeclaredType locatorType
           
(package private)  javax.lang.model.type.DeclaredType objectType
           
(package private)  javax.lang.model.type.DeclaredType requestContextType
           
(package private)  javax.lang.model.type.DeclaredType requestFactoryType
           
(package private)  javax.lang.model.type.DeclaredType requestType
           
(package private)  java.util.Set<javax.lang.model.element.TypeElement> seen
           
(package private)  javax.lang.model.type.DeclaredType serviceLocatorType
           
(package private)  javax.lang.model.util.Types types
           
(package private)  javax.lang.model.type.DeclaredType valueProxyType
           
 
Constructor Summary
State(javax.annotation.processing.ProcessingEnvironment processingEnv)
           
 
Method Summary
 void addMapping(javax.lang.model.element.ExecutableElement clientMethod, javax.lang.model.element.ExecutableElement domainMethod)
          Add a mapping from a client method to a domain method.
 void addMapping(javax.lang.model.element.TypeElement clientType, javax.lang.model.element.TypeElement domainType)
          Add a mapping from a client type to a domain type.
 void checkExtraTypes(javax.lang.model.element.Element x)
          Check an element for an ExtraTypes annotation.
 void debug(javax.lang.model.element.Element elt, java.lang.String message, java.lang.Object... args)
          Print a warning message if verbose mode is enabled.
 void executeJobs()
           
 javax.lang.model.type.DeclaredType findType(java.lang.Class<?> clazz)
          Utility method to look up raw types from class literals.
 java.util.Map<javax.lang.model.element.Element,javax.lang.model.element.Element> getClientToDomainMap()
          Returns a map of client elements to their domain counterparts.
 boolean isClientOnly()
           
 boolean isMappingRequired(javax.lang.model.element.TypeElement element)
           
 boolean isPoisoned()
           
 boolean isTransportableType(javax.lang.model.type.TypeMirror asType)
          Verifies that the given type may be used with RequestFactory.
 void maybeScanContext(javax.lang.model.element.TypeElement requestContext)
           
 void maybeScanFactory(javax.lang.model.element.TypeElement factoryType)
           
 void maybeScanProxy(javax.lang.model.element.TypeElement proxyType)
           
 boolean mustResolveAllAnnotations()
           
 void poison(javax.lang.model.element.Element elt, java.lang.String message)
          Emits a fatal error message attached to an element.
 void requireMapping(javax.lang.model.element.TypeElement interfaceElement)
           
(package private)  boolean respectAnnotations()
          This switch allows the RfValidatorTest code to be worked on in the IDE without causing compilation failures.
 void setClientOnly(boolean clientOnly)
          Set to true to indicate that only JVM-client support code needs to be generated.
 void setMustResolveAllMappings(boolean requireAllMappings)
          Set to true if it is an error for unresolved ProxyForName and ServiceName annotations to be left over.
(package private) static javax.lang.model.type.TypeMirror viewAs(javax.lang.model.type.DeclaredType desiredType, javax.lang.model.type.TypeMirror searchFrom, State state)
          Used to take a FooRequest extends Request<Foo> and find the Request<Foo> type.
 void warn(javax.lang.model.element.Element elt, java.lang.String message)
          Emits a warning message, unless the element or an enclosing element are annotated with a @SuppressWarnings("requestfactory").
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

baseProxyType

final javax.lang.model.type.TypeMirror baseProxyType

elements

final javax.lang.model.util.Elements elements

entityProxyIdType

final javax.lang.model.type.DeclaredType entityProxyIdType

entityProxyType

final javax.lang.model.type.DeclaredType entityProxyType

extraTypesAnnotation

final javax.lang.model.type.DeclaredType extraTypesAnnotation

filer

final javax.annotation.processing.Filer filer

instanceRequestType

final javax.lang.model.type.DeclaredType instanceRequestType

locatorType

final javax.lang.model.type.DeclaredType locatorType

objectType

final javax.lang.model.type.DeclaredType objectType

requestContextType

final javax.lang.model.type.DeclaredType requestContextType

requestFactoryType

final javax.lang.model.type.DeclaredType requestFactoryType

requestType

final javax.lang.model.type.DeclaredType requestType

serviceLocatorType

final javax.lang.model.type.DeclaredType serviceLocatorType

seen

final java.util.Set<javax.lang.model.element.TypeElement> seen

types

final javax.lang.model.util.Types types

valueProxyType

final javax.lang.model.type.DeclaredType valueProxyType
Constructor Detail

State

public State(javax.annotation.processing.ProcessingEnvironment processingEnv)
Method Detail

viewAs

static javax.lang.model.type.TypeMirror viewAs(javax.lang.model.type.DeclaredType desiredType,
                                               javax.lang.model.type.TypeMirror searchFrom,
                                               State state)
Used to take a FooRequest extends Request<Foo> and find the Request<Foo> type.


addMapping

public void addMapping(javax.lang.model.element.ExecutableElement clientMethod,
                       javax.lang.model.element.ExecutableElement domainMethod)
Add a mapping from a client method to a domain method.


addMapping

public void addMapping(javax.lang.model.element.TypeElement clientType,
                       javax.lang.model.element.TypeElement domainType)
Add a mapping from a client type to a domain type.


checkExtraTypes

public void checkExtraTypes(javax.lang.model.element.Element x)
Check an element for an ExtraTypes annotation. Handles both methods and types.


debug

public void debug(javax.lang.model.element.Element elt,
                  java.lang.String message,
                  java.lang.Object... args)
Print a warning message if verbose mode is enabled. A warning is used to ensure that the message shows up in Eclipse's editor (a note only makes it into the error console).


executeJobs

public void executeJobs()

findType

public javax.lang.model.type.DeclaredType findType(java.lang.Class<?> clazz)
Utility method to look up raw types from class literals.


getClientToDomainMap

public java.util.Map<javax.lang.model.element.Element,javax.lang.model.element.Element> getClientToDomainMap()
Returns a map of client elements to their domain counterparts. The keys may be RequestContext or Proxy types or methods within those types.


isClientOnly

public boolean isClientOnly()

isMappingRequired

public boolean isMappingRequired(javax.lang.model.element.TypeElement element)

isPoisoned

public boolean isPoisoned()

isTransportableType

public boolean isTransportableType(javax.lang.model.type.TypeMirror asType)
Verifies that the given type may be used with RequestFactory.

See Also:
TransportableTypeVisitor

maybeScanContext

public void maybeScanContext(javax.lang.model.element.TypeElement requestContext)

maybeScanFactory

public void maybeScanFactory(javax.lang.model.element.TypeElement factoryType)

maybeScanProxy

public void maybeScanProxy(javax.lang.model.element.TypeElement proxyType)

mustResolveAllAnnotations

public boolean mustResolveAllAnnotations()

poison

public void poison(javax.lang.model.element.Element elt,
                   java.lang.String message)
Emits a fatal error message attached to an element. If the element or an eclosing type is annotated with SkipInterfaceValidation the message will be dropped.


requireMapping

public void requireMapping(javax.lang.model.element.TypeElement interfaceElement)

setClientOnly

public void setClientOnly(boolean clientOnly)
Set to true to indicate that only JVM-client support code needs to be generated.


setMustResolveAllMappings

public void setMustResolveAllMappings(boolean requireAllMappings)
Set to true if it is an error for unresolved ProxyForName and ServiceName annotations to be left over.


warn

public void warn(javax.lang.model.element.Element elt,
                 java.lang.String message)
Emits a warning message, unless the element or an enclosing element are annotated with a @SuppressWarnings("requestfactory").


respectAnnotations

boolean respectAnnotations()
This switch allows the RfValidatorTest code to be worked on in the IDE without causing compilation failures.


GWT 2.7.0