## Uses of Class
com.google.web.bindery.requestfactory.apt.State

- Packages that use State
  Package | Description
  --- | ---
  com.google.web.bindery.requestfactory.apt |

- - ### Uses of State in com.google.web.bindery.requestfactory.apt

    Subclasses of State in com.google.web.bindery.requestfactory.apt
    Modifier and Type | Class | Description
    --- | --- | ---
    `(package private) static class` | `State.ForTesting` | Slightly tweaked implementation used when running tests.

    Methods in com.google.web.bindery.requestfactory.apt with parameters of type State
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | ExtraTypesScanner.`checkForAnnotation​(javax.lang.model.element.Element x, State state)` | Check an element for a declaration.
    `protected void` | ExtraTypesScanner.`checkForAnnotation​(javax.lang.model.element.TypeElement x, State state)` | Check a type and all of its supertypes for the annotation.
    `static java.util.Set<javax.lang.model.element.TypeElement>` | ReferredTypesCollector.`collect​(javax.lang.model.element.TypeElement requestFactory, State state)` | Collect all RequestContext and proxy types reachable from the given RequestFactory.
    `protected javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`convertSingleParamType​(javax.lang.model.type.DeclaredType x, javax.lang.model.type.DeclaredType convertTo, int param, State state)` | Utility method to convert a `Foo<BarProxy> -> BarDomain`.
    `protected javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`defaultAction​(javax.lang.model.type.TypeMirror x, State state)` |
    `protected java.lang.String` | DescriptorBuilder.`defaultAction​(javax.lang.model.type.TypeMirror x, State state)` |
    `protected java.lang.Boolean` | TransportableTypeVisitor.`defaultAction​(javax.lang.model.type.TypeMirror arg0, State arg1)` |
    `protected javax.lang.model.type.TypeMirror` | TypeSimplifier.`defaultAction​(javax.lang.model.type.TypeMirror x, State state)` |
    `protected java.util.List<javax.lang.model.type.DeclaredType>` | TypeVisitorBase.`getValueTypes​(State state)` | This method should be kept in sync with `ValueCodex.getAllValueTypes()`.
    `protected boolean` | ScannerBase.`isGetter​(javax.lang.model.element.ExecutableElement x, State state)` | No parameters, name stars with "get" or is a boolean / Boolean isFoo hasFoo method.
    `protected boolean` | ScannerBase.`isSetter​(javax.lang.model.element.ExecutableElement x, State state)` | Name starts with set, has one parameter, returns either null or something assignable from the element's enclosing type.
    `protected static void` | ScannerBase.`poisonIfAnnotationPresent​(State state, javax.lang.model.element.TypeElement x, java.lang.annotation.Annotation... annotations)` | Poisons the given type if one or more of the annotation values are non-null.
    `R` | ScannerBase.`scan​(javax.lang.model.element.Element x, State state)` |
    `protected R` | ScannerBase.`scanAllInheritedMethods​(javax.lang.model.element.TypeElement x, State state)` |
    `protected boolean` | ProxyScanner.`shouldIgnore​(javax.lang.model.element.ExecutableElement x, State state)` |
    `protected boolean` | ScannerBase.`shouldIgnore​(javax.lang.model.element.ExecutableElement x, State state)` | Ignore all static initializers and methods defined in the base RequestFactory interfaces
    `static javax.lang.model.type.TypeMirror` | TypeSimplifier.`simplify​(javax.lang.model.type.TypeMirror toBox, boolean boxPrimitives, State state)` |
    `(package private) static javax.lang.model.type.TypeMirror` | State.`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.
    `protected static javax.lang.model.type.ExecutableType` | ScannerBase.`viewIn​(javax.lang.model.element.TypeElement lookIn, javax.lang.model.element.ExecutableElement methodElement, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitArray​(javax.lang.model.type.ArrayType x, State state)` | Arrays aren't actually used anywhere in RequestFactory, but it's trivial to implement and might be useful later on.
    `javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`visitDeclared​(javax.lang.model.type.DeclaredType x, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitDeclared​(javax.lang.model.type.DeclaredType x, State state)` |
    `java.lang.Boolean` | TransportableTypeVisitor.`visitDeclared​(javax.lang.model.type.DeclaredType t, State state)` |
    `javax.lang.model.type.TypeMirror` | TypeSimplifier.`visitDeclared​(javax.lang.model.type.DeclaredType x, State state)` |
    `java.lang.Void` | DeobfuscatorBuilder.`visitExecutable​(javax.lang.model.element.ExecutableElement x, State state)` | Examine a method defined within a RequestFactory.
    `java.lang.String` | DescriptorBuilder.`visitExecutable​(javax.lang.model.type.ExecutableType x, State state)` | Only generates the method descriptor, which does not include the method's name.
    `javax.lang.model.element.ExecutableElement` | DomainChecker.MethodFinder.`visitExecutable​(javax.lang.model.element.ExecutableElement domainMethodElement, State state)` |
    `java.lang.Void` | DomainChecker.`visitExecutable​(javax.lang.model.element.ExecutableElement clientMethodElement, State state)` |
    `java.lang.Void` | ProxyScanner.`visitExecutable​(javax.lang.model.element.ExecutableElement x, State state)` |
    `java.lang.Void` | ReferredTypesCollector.`visitExecutable​(javax.lang.model.element.ExecutableElement x, State state)` |
    `java.lang.Void` | RequestContextScanner.`visitExecutable​(javax.lang.model.element.ExecutableElement x, State state)` |
    `java.lang.Void` | RequestFactoryScanner.`visitExecutable​(javax.lang.model.element.ExecutableElement x, State state)` |
    `javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`visitNoType​(javax.lang.model.type.NoType x, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitNoType​(javax.lang.model.type.NoType x, State state)` |
    `javax.lang.model.type.TypeMirror` | TypeSimplifier.`visitNoType​(javax.lang.model.type.NoType x, State state)` |
    `javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`visitPrimitive​(javax.lang.model.type.PrimitiveType x, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitPrimitive​(javax.lang.model.type.PrimitiveType x, State state)` |
    `java.lang.Boolean` | TransportableTypeVisitor.`visitPrimitive​(javax.lang.model.type.PrimitiveType x, State state)` |
    `javax.lang.model.type.TypeMirror` | TypeSimplifier.`visitPrimitive​(javax.lang.model.type.PrimitiveType x, State state)` |
    `java.lang.Void` | DeobfuscatorBuilder.`visitType​(javax.lang.model.element.TypeElement x, State state)` | Scan a RequestFactory type.
    `javax.lang.model.element.ExecutableElement` | DomainChecker.MethodFinder.`visitType​(javax.lang.model.element.TypeElement domainType, State state)` |
    `java.lang.Void` | DomainChecker.`visitType​(javax.lang.model.element.TypeElement clientTypeElement, State state)` |
    `java.lang.Void` | Finder.`visitType​(javax.lang.model.element.TypeElement x, State state)` |
    `java.lang.Void` | ProxyScanner.`visitType​(javax.lang.model.element.TypeElement x, State state)` |
    `java.lang.Void` | ReferredTypesCollector.`visitType​(javax.lang.model.element.TypeElement x, State state)` |
    `java.lang.Void` | RequestContextScanner.`visitType​(javax.lang.model.element.TypeElement x, State state)` |
    `java.lang.Void` | RequestFactoryScanner.`visitType​(javax.lang.model.element.TypeElement x, State state)` |
    `java.lang.Void` | RequestContextScanner.`visitTypeParameter​(javax.lang.model.element.TypeParameterElement x, State state)` |
    `javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`visitTypeVariable​(javax.lang.model.type.TypeVariable x, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitTypeVariable​(javax.lang.model.type.TypeVariable x, State state)` |
    `java.lang.Boolean` | TransportableTypeVisitor.`visitTypeVariable​(javax.lang.model.type.TypeVariable t, State state)` |
    `javax.lang.model.type.TypeMirror` | TypeSimplifier.`visitTypeVariable​(javax.lang.model.type.TypeVariable x, State state)` |
    `java.lang.Void` | ProxyScanner.`visitVariable​(javax.lang.model.element.VariableElement x, State state)` |
    `javax.lang.model.type.TypeMirror` | ClientToDomainMapper.`visitWildcard​(javax.lang.model.type.WildcardType x, State state)` |
    `java.lang.String` | DescriptorBuilder.`visitWildcard​(javax.lang.model.type.WildcardType x, State state)` |
    `java.lang.Boolean` | TransportableTypeVisitor.`visitWildcard​(javax.lang.model.type.WildcardType t, State state)` |
    `javax.lang.model.type.TypeMirror` | TypeSimplifier.`visitWildcard​(javax.lang.model.type.WildcardType x, State state)` |

    Constructors in com.google.web.bindery.requestfactory.apt with parameters of type State
    Constructor | Description
    --- | ---
    `MethodFinder​(java.lang.CharSequence name, javax.lang.model.type.TypeMirror returnType, java.util.List<javax.lang.model.type.TypeMirror> params, boolean boxReturnType, State state)` |
    `TypeComparator​(State state)` |