Package org.apache.catalina.ha.session

## Class DeltaRequest

- java.lang.Object
- - org.apache.catalina.ha.session.DeltaRequest

- All Implemented Interfaces:
    `java.io.Externalizable`, `java.io.Serializable`

      public class DeltaRequest
      extends java.lang.Object
      implements java.io.Externalizable

  This class is used to track the series of actions that happens when a request is executed. These actions will then translate into invocations of methods on the actual session.

  This class is NOT thread safe. One DeltaRequest per session.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `ACTION_REMOVE` |
    `static int` | `ACTION_SET` |
    `static Log` | `log` |
    `static java.lang.String` | `NAME_AUTHTYPE` |
    `static java.lang.String` | `NAME_ISNEW` |
    `static java.lang.String` | `NAME_LISTENER` |
    `static java.lang.String` | `NAME_MAXINTERVAL` |
    `static java.lang.String` | `NAME_PRINCIPAL` |
    `protected static StringManager` | `sm` | The string manager for this package.
    `static int` | `TYPE_ATTRIBUTE` |
    `static int` | `TYPE_AUTHTYPE` |
    `static int` | `TYPE_ISNEW` |
    `static int` | `TYPE_LISTENER` |
    `static int` | `TYPE_MAXINTERVAL` |
    `static int` | `TYPE_NOTE` |
    `static int` | `TYPE_PRINCIPAL` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DeltaRequest()` |
    `DeltaRequest​(java.lang.String sessionId, boolean recordAllActions)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `addAction​(int type, int action, java.lang.String name, java.lang.Object value)` |
    `void` | `addSessionListener​(SessionListener listener)` |
    `void` | `clear()` |
    `void` | `execute​(DeltaSession session, boolean notifyListeners)` |
    `java.lang.String` | `getSessionId()` |
    `int` | `getSize()` |
    `void` | `readExternal​(java.io.ObjectInput in)` |
    `void` | `removeAttribute​(java.lang.String name)` |
    `void` | `removeNote​(java.lang.String name)` |
    `void` | `removeSessionListener​(SessionListener listener)` |
    `void` | `reset()` |
    `protected byte[]` | `serialize()` | serialize DeltaRequest
    `void` | `setAttribute​(java.lang.String name, java.lang.Object value)` |
    `void` | `setAuthType​(java.lang.String authType)` |
    `void` | `setMaxInactiveInterval​(int interval)` |
    `void` | `setNew​(boolean n)` |
    `void` | `setNote​(java.lang.String name, java.lang.Object value)` |
    `void` | `setPrincipal​(java.security.Principal p)` | Only support principals from type `GenericPrincipal`
    `void` | `setSessionId​(java.lang.String sessionId)` |
    `void` | `writeExternal​(java.io.ObjectOutput out)` |

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

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

- - ### Field Detail

    - #### log

          public static final Log log

    - #### sm

          protected static final StringManager sm

      The string manager for this package.

    - #### TYPE_ATTRIBUTE

          public static final int TYPE_ATTRIBUTE

      See Also:
        Constant Field Values

    - #### TYPE_PRINCIPAL

          public static final int TYPE_PRINCIPAL

      See Also:
        Constant Field Values

    - #### TYPE_ISNEW

          public static final int TYPE_ISNEW

      See Also:
        Constant Field Values

    - #### TYPE_MAXINTERVAL

          public static final int TYPE_MAXINTERVAL

      See Also:
        Constant Field Values

    - #### TYPE_AUTHTYPE

          public static final int TYPE_AUTHTYPE

      See Also:
        Constant Field Values

    - #### TYPE_LISTENER

          public static final int TYPE_LISTENER

      See Also:
        Constant Field Values

    - #### TYPE_NOTE

          public static final int TYPE_NOTE

      See Also:
        Constant Field Values

    - #### ACTION_SET

          public static final int ACTION_SET

      See Also:
        Constant Field Values

    - #### ACTION_REMOVE

          public static final int ACTION_REMOVE

      See Also:
        Constant Field Values

    - #### NAME_PRINCIPAL

          public static final java.lang.String NAME_PRINCIPAL

      See Also:
        Constant Field Values

    - #### NAME_MAXINTERVAL

          public static final java.lang.String NAME_MAXINTERVAL

      See Also:
        Constant Field Values

    - #### NAME_ISNEW

          public static final java.lang.String NAME_ISNEW

      See Also:
        Constant Field Values

    - #### NAME_AUTHTYPE

          public static final java.lang.String NAME_AUTHTYPE

      See Also:
        Constant Field Values

    - #### NAME_LISTENER

          public static final java.lang.String NAME_LISTENER

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DeltaRequest

          public DeltaRequest()

    - #### DeltaRequest

          public DeltaRequest​(java.lang.String sessionId,
                              boolean recordAllActions)

  - ### Method Detail

    - #### setAttribute

          public void setAttribute​(java.lang.String name,
                                   java.lang.Object value)

    - #### removeAttribute

          public void removeAttribute​(java.lang.String name)

    - #### setNote

          public void setNote​(java.lang.String name,
                              java.lang.Object value)

    - #### removeNote

          public void removeNote​(java.lang.String name)

    - #### setMaxInactiveInterval

          public void setMaxInactiveInterval​(int interval)

    - #### setPrincipal

          public void setPrincipal​(java.security.Principal p)

      Only support principals from type `GenericPrincipal`
      Parameters:
        `p` - Session principal
      See Also:
        `GenericPrincipal`

    - #### setNew

          public void setNew​(boolean n)

    - #### setAuthType

          public void setAuthType​(java.lang.String authType)

    - #### addSessionListener

          public void addSessionListener​(SessionListener listener)

    - #### removeSessionListener

          public void removeSessionListener​(SessionListener listener)

    - #### addAction

          protected void addAction​(int type,
                                   int action,
                                   java.lang.String name,
                                   java.lang.Object value)

    - #### execute

          public void execute​(DeltaSession session,
                              boolean notifyListeners)

    - #### reset

          public void reset()

    - #### getSessionId

          public java.lang.String getSessionId()

    - #### setSessionId

          public void setSessionId​(java.lang.String sessionId)

    - #### getSize

          public int getSize()

    - #### clear

          public void clear()

    - #### readExternal

          public void readExternal​(java.io.ObjectInput in)
                            throws java.io.IOException,
                                   java.lang.ClassNotFoundException

      Specified by:
        `readExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`
        `java.lang.ClassNotFoundException`

    - #### writeExternal

          public void writeExternal​(java.io.ObjectOutput out)
                             throws java.io.IOException

      Specified by:
        `writeExternal` in interface `java.io.Externalizable`
      Throws:
        `java.io.IOException`

    - #### serialize

          protected byte[] serialize()
                              throws java.io.IOException

      serialize DeltaRequest
      Returns:
        serialized delta request
      Throws:
        `java.io.IOException` - IO error serializing
      See Also:
        `writeExternal(java.io.ObjectOutput)`