com.google.web.bindery.requestfactory.apt

## Class ClientToDomainMapper

- java.lang.Object
- - javax.lang.model.util.AbstractTypeVisitor6<R,P>
  - - javax.lang.model.util.SimpleTypeVisitor6<T,State>
    - - com.google.web.bindery.requestfactory.apt.TypeVisitorBase<javax.lang.model.type.TypeMirror>
      - - com.google.web.bindery.requestfactory.apt.ClientToDomainMapper

- All Implemented Interfaces:
    javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>

      class ClientToDomainMapper
      extends TypeVisitorBase<javax.lang.model.type.TypeMirror>

  Uses information in a State object to convert client types to their domain equivalents. This types assumes that any incoming type has already been determined to be a transportable type.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ClientToDomainMapper.UnmappedTypeException`

  - ### Field Summary

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

      `DEFAULT_VALUE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ClientToDomainMapper()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected javax.lang.model.type.TypeMirror` | `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` | `defaultAction(javax.lang.model.type.TypeMirror x, State state)`
    `javax.lang.model.type.TypeMirror` | `visitDeclared(javax.lang.model.type.DeclaredType x, State state)`
    `javax.lang.model.type.TypeMirror` | `visitNoType(javax.lang.model.type.NoType x, State state)`
    `javax.lang.model.type.TypeMirror` | `visitPrimitive(javax.lang.model.type.PrimitiveType x, State state)`
    `javax.lang.model.type.TypeMirror` | `visitTypeVariable(javax.lang.model.type.TypeVariable x, State state)`
    `javax.lang.model.type.TypeMirror` | `visitWildcard(javax.lang.model.type.WildcardType x, State state)`

    - ### Methods inherited from class com.google.web.bindery.requestfactory.apt.TypeVisitorBase

      `getValueTypes`

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

      `visitArray, visitError, visitExecutable, visitNull`

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

      `visit, visit, visitIntersection, visitUnion, visitUnknown`

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

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

- - ### Constructor Detail

    - #### ClientToDomainMapper

          ClientToDomainMapper()

  - ### Method Detail

    - #### visitDeclared

          public javax.lang.model.type.TypeMirror visitDeclared(javax.lang.model.type.DeclaredType x,
                                                                State state)

      Specified by:
        `visitDeclared` in interface `javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>`
      Overrides:
        `visitDeclared` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`

    - #### visitNoType

          public javax.lang.model.type.TypeMirror visitNoType(javax.lang.model.type.NoType x,
                                                              State state)

      Specified by:
        `visitNoType` in interface `javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>`
      Overrides:
        `visitNoType` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`

    - #### visitPrimitive

          public javax.lang.model.type.TypeMirror visitPrimitive(javax.lang.model.type.PrimitiveType x,
                                                                 State state)

      Specified by:
        `visitPrimitive` in interface `javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>`
      Overrides:
        `visitPrimitive` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`

    - #### visitTypeVariable

          public javax.lang.model.type.TypeMirror visitTypeVariable(javax.lang.model.type.TypeVariable x,
                                                                    State state)

      Specified by:
        `visitTypeVariable` in interface `javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>`
      Overrides:
        `visitTypeVariable` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`

    - #### visitWildcard

          public javax.lang.model.type.TypeMirror visitWildcard(javax.lang.model.type.WildcardType x,
                                                                State state)

      Specified by:
        `visitWildcard` in interface `javax.lang.model.type.TypeVisitor<javax.lang.model.type.TypeMirror,State>`
      Overrides:
        `visitWildcard` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`

    - #### convertSingleParamType

          protected javax.lang.model.type.TypeMirror 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`. The `param` parameter specifies the index of the type parameter to extract.

    - #### defaultAction

          protected javax.lang.model.type.TypeMirror defaultAction(javax.lang.model.type.TypeMirror x,
                                                                   State state)

      Overrides:
        `defaultAction` in class `javax.lang.model.util.SimpleTypeVisitor6<javax.lang.model.type.TypeMirror,State>`