com.google.web.bindery.requestfactory.apt

## Class ScannerBase<R>

- java.lang.Object
- - javax.lang.model.util.AbstractElementVisitor6<R,P>
  - - javax.lang.model.util.ElementScanner6<R,State>
    - - com.google.web.bindery.requestfactory.apt.ScannerBase<R>

- All Implemented Interfaces:
    javax.lang.model.element.ElementVisitor<R,State>
  Direct Known Subclasses:
    DeobfuscatorBuilder, DomainChecker, DomainChecker.MethodFinder, ExtraTypesScanner, Finder, ProxyScanner, RequestContextScanner, RequestFactoryScanner

       class ScannerBase<R>
      extends javax.lang.model.util.ElementScanner6<R,State>

  Contains utility methods for traversing RequestFactory declarations.

- - ### Field Summary

    - ### Fields inherited from class javax.lang.model.util.ElementScanner6

      `DEFAULT_VALUE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ScannerBase()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `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` | `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` | `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` | `scan(javax.lang.model.element.Element x, State state)`
    `protected R` | `scanAllInheritedMethods(javax.lang.model.element.TypeElement x, State state)`
    `protected boolean` | `shouldIgnore(javax.lang.model.element.ExecutableElement x, State state)` Ignore all static initializers and methods defined in the base RequestFactory interfaces
    `protected static javax.lang.model.type.ExecutableType` | `viewIn(javax.lang.model.element.TypeElement lookIn, javax.lang.model.element.ExecutableElement methodElement, State state)`

    - ### Methods inherited from class javax.lang.model.util.ElementScanner6

      `scan, scan, visitExecutable, visitPackage, visitType, visitTypeParameter, visitVariable`

    - ### Methods inherited from class javax.lang.model.util.AbstractElementVisitor6

      `visit, visit, visitUnknown`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ScannerBase

          ScannerBase()

  - ### Method Detail

    - #### poisonIfAnnotationPresent

          protected static void 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.

    - #### viewIn

          protected static javax.lang.model.type.ExecutableType viewIn(javax.lang.model.element.TypeElement lookIn,
                                                    javax.lang.model.element.ExecutableElement methodElement,
                                                    State state)

    - #### scan

          public final R scan(javax.lang.model.element.Element x,
               State state)

      Overrides:
        `scan` in class `javax.lang.model.util.ElementScanner6<R,State>`

    - #### isGetter

          protected boolean isGetter(javax.lang.model.element.ExecutableElement x,
                         State state)

      No parameters, name stars with "get" or is a boolean / Boolean isFoo hasFoo method.

    - #### isSetter

          protected boolean 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.

    - #### scanAllInheritedMethods

          protected R scanAllInheritedMethods(javax.lang.model.element.TypeElement x,
                                  State state)

    - #### shouldIgnore

          protected boolean shouldIgnore(javax.lang.model.element.ExecutableElement x,
                             State state)

      Ignore all static initializers and methods defined in the base RequestFactory interfaces