com.google.web.bindery.requestfactory.server

## Class RequestState

- java.lang.Object
- - com.google.web.bindery.requestfactory.server.RequestState

- All Implemented Interfaces:
    com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource

       class RequestState
      extends java.lang.Object
      implements com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource

  Encapsulates all state relating to the processing of a single request so that the SimpleRequestProcessor can be stateless.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) SimpleRequestProcessor.IdToEntityMap` | `beans`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RequestState(RequestState parent)`
    `RequestState(ServiceLayer service)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Splittable` | `flatten(java.lang.Object domainValue)` Turn a domain value into a wire format message.
    `<Q extends BaseProxy> AutoBean<Q>` | `getBeanForPayload(com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<Q> id, java.lang.Object domainObject)` Get or create a BaseProxy AutoBean for the given id.
    `<Q extends BaseProxy> AutoBean<Q>` | `getBeanForPayload(Splittable serializedProxyId)` EntityCodex support.
    `java.util.List<AutoBean<? extends BaseProxy>>` | `getBeansForPayload(java.util.List<? extends IdMessage> idMessages)` Get or create BaseProxy AutoBeans for a list of id-bearing messages.
    `com.google.web.bindery.requestfactory.shared.impl.IdFactory` | `getIdFactory()`
    `Resolver` | `getResolver()`
    `Splittable` | `getSerializedProxyId(com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?> stableId)` EntityCodex support.
    `ServiceLayer` | `getServiceLayer()`
    `com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?>` | `getStableId(java.lang.Object domain)` If the given domain object has been previously associated with an id, return it.
    `boolean` | `isEntityType(java.lang.Class<?> clazz)` EntityCodex support.
    `boolean` | `isValueType(java.lang.Class<?> clazz)` EntityCodex support.

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

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

- - ### Field Detail

    - #### beans

          final SimpleRequestProcessor.IdToEntityMap beans

  - ### Constructor Detail

    - #### RequestState

          public RequestState(RequestState parent)

    - #### RequestState

          public RequestState(ServiceLayer service)

  - ### Method Detail

    - #### flatten

          public Splittable flatten(java.lang.Object domainValue)

      Turn a domain value into a wire format message.

    - #### getBeanForPayload

          public <Q extends BaseProxy> AutoBean<Q> getBeanForPayload(com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<Q> id,
                                                            java.lang.Object domainObject)

      Get or create a BaseProxy AutoBean for the given id.

    - #### getBeanForPayload

          public <Q extends BaseProxy> AutoBean<Q> getBeanForPayload(Splittable serializedProxyId)

      EntityCodex support.
      Specified by:
        `getBeanForPayload` in interface `com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource`

    - #### getBeansForPayload

          public java.util.List<AutoBean<? extends BaseProxy>> getBeansForPayload(java.util.List<? extends IdMessage> idMessages)

      Get or create BaseProxy AutoBeans for a list of id-bearing messages.

    - #### getIdFactory

          public com.google.web.bindery.requestfactory.shared.impl.IdFactory getIdFactory()

    - #### getResolver

          public Resolver getResolver()

    - #### getSerializedProxyId

          public Splittable getSerializedProxyId(com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?> stableId)

      EntityCodex support. This method is identical to `IdFactory.getHistoryToken(SimpleProxyId)` except that it base64-encodes the server ids and adds client ids for stable ids that were ephemeral.

      XXX: Merge this with AbstsractRequestContext's implementation

      Specified by:
        `getSerializedProxyId` in interface `com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource`

    - #### getServiceLayer

          public ServiceLayer getServiceLayer()

    - #### getStableId

          public com.google.web.bindery.requestfactory.shared.impl.SimpleProxyId<?> getStableId(java.lang.Object domain)

      If the given domain object has been previously associated with an id, return it.

    - #### isEntityType

          public boolean isEntityType(java.lang.Class<?> clazz)

      EntityCodex support.
      Specified by:
        `isEntityType` in interface `com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource`

    - #### isValueType

          public boolean isValueType(java.lang.Class<?> clazz)

      EntityCodex support.
      Specified by:
        `isValueType` in interface `com.google.web.bindery.requestfactory.shared.impl.EntityCodex.EntitySource`