net.corda.node.services.statemachine

## Class SendAndReceive<T extends SessionMessage>

- net.corda.node.services.statemachine.SendAndReceive<T>

- All Implemented Interfaces:
    FlowIORequest, ReceiveRequest<T>, SendRequest, SessionedFlowIORequest, WaitingRequest

      public class SendAndReceive<T extends SessionMessage>
      implements SendRequest, ReceiveRequest<T>

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SendAndReceive(FlowSession session, SessionMessage message, java.lang.Class<T> receiveType, java.lang.Class<?> userReceiveType)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FlowSession` | `component1()`
    `SessionMessage` | `component2()`
    `java.lang.Class<T>` | `component3()`
    `java.lang.Class<?>` | `component4()`
    `SendAndReceive<T>` | `copy(FlowSession session, SessionMessage message, java.lang.Class<T> receiveType, java.lang.Class<?> userReceiveType)`
    `boolean` | `equals(java.lang.Object p)`
    `SessionMessage` | `getMessage()`
    `java.lang.Class<T>` | `getReceiveType()`
    `FlowSession` | `getSession()`
    `StackSnapshot` | `getStackTraceInCaseOfProblems()`
    `java.lang.Class<?>` | `getUserReceiveType()`
    `int` | `hashCode()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from interface net.corda.node.services.statemachine.SendRequest

      `getMessage`

    - ### Methods inherited from interface net.corda.node.services.statemachine.ReceiveRequest

      `getReceiveType, getUserReceiveType`

    - ### Methods inherited from interface net.corda.node.services.statemachine.SessionedFlowIORequest

      `getSession`

    - ### Methods inherited from interface net.corda.node.services.statemachine.FlowIORequest

      `getStackTraceInCaseOfProblems`

- - ### Constructor Detail

    - #### SendAndReceive

          public SendAndReceive(FlowSession session,
                                SessionMessage message,
                                java.lang.Class<T> receiveType,
                                java.lang.Class<?> userReceiveType)

  - ### Method Detail

    - #### getStackTraceInCaseOfProblems

          public StackSnapshot getStackTraceInCaseOfProblems()

    - #### getSession

          public FlowSession getSession()

    - #### getMessage

          public SessionMessage getMessage()

    - #### getReceiveType

          public java.lang.Class<T> getReceiveType()

    - #### getUserReceiveType

          public java.lang.Class<?> getUserReceiveType()

    - #### component1

          public FlowSession component1()

    - #### component2

          public SessionMessage component2()

    - #### component3

          public java.lang.Class<T> component3()

    - #### component4

          public java.lang.Class<?> component4()

    - #### copy

          public SendAndReceive<T> copy(FlowSession session,
                                        SessionMessage message,
                                        java.lang.Class<T> receiveType,
                                        java.lang.Class<?> userReceiveType)

    - #### toString

          public java.lang.String toString()

    - #### hashCode

          public int hashCode()

    - #### equals

          public boolean equals(java.lang.Object p)