DeltaSession (Apache Geode 1.12.3)
Date: 2021-06-11

org.apache.geode.modules.session.catalina

## Class DeltaSession

- java.lang.Object
- - org.apache.catalina.session.StandardSession
  - - org.apache.geode.modules.session.catalina.DeltaSession

- All Implemented Interfaces:
    Serializable, javax.servlet.http.HttpSession, org.apache.catalina.Session, DataSerializable, Delta, org.apache.geode.internal.size.Sizeable, GatewayDelta, DeltaSessionInterface
  Direct Known Subclasses:
    DeltaSession7, DeltaSession8, DeltaSession9

      public class DeltaSession
      extends org.apache.catalina.session.StandardSession
      implements DataSerializable, Delta, GatewayDelta, org.apache.geode.internal.size.Sizeable, DeltaSessionInterface

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.geode.DataSerializable

      `DataSerializable.Replaceable`

  - ### Field Summary

    - ### Fields inherited from class org.apache.catalina.session.StandardSession

      `accessCount, ACTIVITY_CHECK, attributes, authType, creationTime, EMPTY_ARRAY, excludedAttributes, expiring, facade, id, info, isNew, isValid, lastAccessedTime, listeners, manager, maxInactiveInterval, NOT_SERIALIZED, notes, principal, sessionContext, sm, support, thisAccessedTime`

    - ### Fields inherited from interface org.apache.geode.modules.gatewaydelta.GatewayDelta

      `GATEWAY_DELTA_REGION_NAME`

    - ### Fields inherited from interface org.apache.geode.internal.size.Sizeable

      `PER_OBJECT_OVERHEAD`

    - ### Fields inherited from interface org.apache.catalina.Session

      `SESSION_ACTIVATED_EVENT, SESSION_CREATED_EVENT, SESSION_DESTROYED_EVENT, SESSION_PASSIVATED_EVENT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DeltaSession()` Construct a new `Session` associated with no `Manager`.
    `DeltaSession(org.apache.catalina.Manager manager)` Construct a new Session associated with the specified Manager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `abort()`
    `void` | `applyAttributeEvents(Region<String,DeltaSessionInterface> region, List<org.apache.geode.modules.session.catalina.internal.DeltaSessionAttributeEvent> events)`
    `void` | `commit()`
    `protected void` | `deserializeAttributeInternal(String name)`
    `void` | `expire(boolean notify)`
    `void` | `fromData(DataInput in)` Reads the state of this object as primitive data from the given `DataInput`.
    `void` | `fromDelta(DataInput in)` This method is invoked on an existing application object when an update is received as a delta.
    `Object` | `getAttribute(String name)`
    `protected Object` | `getAttributeInternal(String name)`
    `protected Map` | `getAttributes()`
    `String` | `getContextName()`
    `GatewayDeltaEvent` | `getCurrentGatewayDeltaEvent()`
    `boolean` | `getExpired()`
    `Principal` | `getPrincipal()`
    `javax.servlet.http.HttpSession` | `getSession()` Return the `HttpSession` for which this object is the facade.
    `int` | `getSizeInBytes()`
    `boolean` | `hasDelta()` Returns true if this object has pending changes it can write out as a delta.
    `void` | `invalidate()`
    `void` | `localDestroyAttribute(String name)`
    `void` | `localUpdateAttribute(String name, Object value)`
    `void` | `processExpired()`
    `void` | `removeAttribute(String name, boolean notify)`
    `protected void` | `removeAttributeInternal(String name, boolean notify)`
    `void` | `setAttribute(String name, Object value, boolean notify)`
    `protected void` | `setAttributeInternal(String name, Object value)`
    `void` | `setCurrentGatewayDeltaEvent(GatewayDeltaEvent currentGatewayDeltaEvent)`
    `void` | `setMaxInactiveInterval(int interval)`
    `void` | `setOwner(Object manager)`
    `void` | `setPrincipal(Principal principal)`
    `void` | `toData(DataOutput out)` Writes the state of this object as primitive data to the given `DataOutput`.
    `void` | `toDelta(DataOutput out)` This method is invoked on an application object at the delta sender, if GemFire determines the presence of a delta by calling `Delta.hasDelta()` on the object.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.catalina.session.StandardSession

      `access, activate, addSessionListener, endAccess, exclude, expire, fireContainerEvent, fireSessionEvent, getAttributeNames, getAuthType, getCreationTime, getId, getIdInternal, getInfo, getLastAccessedTime, getLastAccessedTimeInternal, getManager, getMaxInactiveInterval, getNote, getNoteNames, getServletContext, getSessionContext, getValue, getValueNames, isAttributeDistributable, isNew, isValid, isValidInternal, keys, passivate, putValue, readObject, readObjectData, recycle, removeAttribute, removeNote, removeSessionListener, removeValue, setAttribute, setAuthType, setCreationTime, setId, setId, setManager, setNew, setNote, setValid, tellNew, writeObject, writeObjectData`

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

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

    - ### Methods inherited from interface org.apache.geode.modules.session.catalina.DeltaSessionInterface

      `activate, isValid`

    - ### Methods inherited from interface org.apache.catalina.Session

      `access, addSessionListener, endAccess, expire, getAuthType, getCreationTime, getId, getIdInternal, getInfo, getLastAccessedTime, getLastAccessedTimeInternal, getManager, getMaxInactiveInterval, getNote, getNoteNames, recycle, removeNote, removeSessionListener, setAuthType, setCreationTime, setId, setId, setManager, setNew, setNote, setValid`

- - ### Constructor Detail

    - #### DeltaSession

          public DeltaSession()

      Construct a new `Session` associated with no `Manager`. The `Manager` will be assigned later using `setOwner(Object)`.

    - #### DeltaSession

          public DeltaSession(org.apache.catalina.Manager manager)

      Construct a new Session associated with the specified Manager.
      Parameters:
        `manager` - The manager with which this Session is associated

  - ### Method Detail

    - #### getSession

          public javax.servlet.http.HttpSession getSession()

      Return the `HttpSession` for which this object is the facade.
      Specified by:
        `getSession` in interface `org.apache.catalina.Session`
      Overrides:
        `getSession` in class `org.apache.catalina.session.StandardSession`

    - #### getPrincipal

          public Principal getPrincipal()

      Specified by:
        `getPrincipal` in interface `org.apache.catalina.Session`
      Overrides:
        `getPrincipal` in class `org.apache.catalina.session.StandardSession`

    - #### setPrincipal

          public void setPrincipal(Principal principal)

      Specified by:
        `setPrincipal` in interface `org.apache.catalina.Session`
      Overrides:
        `setPrincipal` in class `org.apache.catalina.session.StandardSession`

    - #### getCurrentGatewayDeltaEvent

          public GatewayDeltaEvent getCurrentGatewayDeltaEvent()

      Specified by:
        `getCurrentGatewayDeltaEvent` in interface `GatewayDelta`

    - #### setCurrentGatewayDeltaEvent

          public void setCurrentGatewayDeltaEvent(GatewayDeltaEvent currentGatewayDeltaEvent)

      Specified by:
        `setCurrentGatewayDeltaEvent` in interface `GatewayDelta`

    - #### setOwner

          public void setOwner(Object manager)

      Specified by:
        `setOwner` in interface `DeltaSessionInterface`

    - #### setAttribute

          public void setAttribute(String name,
                                   Object value,
                                   boolean notify)

      Overrides:
        `setAttribute` in class `org.apache.catalina.session.StandardSession`

    - #### removeAttribute

          public void removeAttribute(String name,
                                      boolean notify)

      Overrides:
        `removeAttribute` in class `org.apache.catalina.session.StandardSession`

    - #### removeAttributeInternal

          protected void removeAttributeInternal(String name,
                                                 boolean notify)

      Overrides:
        `removeAttributeInternal` in class `org.apache.catalina.session.StandardSession`

    - #### getAttributeInternal

          protected Object getAttributeInternal(String name)

    - #### setAttributeInternal

          protected void setAttributeInternal(String name,
                                              Object value)

    - #### getAttribute

          public Object getAttribute(String name)

      Specified by:
        `getAttribute` in interface `javax.servlet.http.HttpSession`
      Overrides:
        `getAttribute` in class `org.apache.catalina.session.StandardSession`

    - #### deserializeAttributeInternal

          protected void deserializeAttributeInternal(String name)

    - #### invalidate

          public void invalidate()

      Specified by:
        `invalidate` in interface `javax.servlet.http.HttpSession`
      Overrides:
        `invalidate` in class `org.apache.catalina.session.StandardSession`

    - #### processExpired

          public void processExpired()

      Specified by:
        `processExpired` in interface `DeltaSessionInterface`

    - #### expire

          public void expire(boolean notify)

      Overrides:
        `expire` in class `org.apache.catalina.session.StandardSession`

    - #### setMaxInactiveInterval

          public void setMaxInactiveInterval(int interval)

      Specified by:
        `setMaxInactiveInterval` in interface `javax.servlet.http.HttpSession`
      Specified by:
        `setMaxInactiveInterval` in interface `org.apache.catalina.Session`
      Overrides:
        `setMaxInactiveInterval` in class `org.apache.catalina.session.StandardSession`

    - #### localUpdateAttribute

          public void localUpdateAttribute(String name,
                                           Object value)

      Specified by:
        `localUpdateAttribute` in interface `DeltaSessionInterface`

    - #### localDestroyAttribute

          public void localDestroyAttribute(String name)

      Specified by:
        `localDestroyAttribute` in interface `DeltaSessionInterface`

    - #### applyAttributeEvents

          public void applyAttributeEvents(Region<String,DeltaSessionInterface> region,
                                           List<org.apache.geode.modules.session.catalina.internal.DeltaSessionAttributeEvent> events)

      Specified by:
        `applyAttributeEvents` in interface `DeltaSessionInterface`

    - #### commit

          public void commit()

      Specified by:
        `commit` in interface `DeltaSessionInterface`

    - #### abort

          public void abort()

      Specified by:
        `abort` in interface `DeltaSessionInterface`

    - #### getExpired

          public boolean getExpired()

      Specified by:
        `getExpired` in interface `DeltaSessionInterface`

    - #### getContextName

          public String getContextName()

      Specified by:
        `getContextName` in interface `DeltaSessionInterface`

    - #### hasDelta

          public boolean hasDelta()

      Description copied from interface: `Delta`
      Returns true if this object has pending changes it can write out as a delta. Returns false if this object must be transmitted in its entirety.
      Specified by:
        `hasDelta` in interface `Delta`

    - #### toDelta

          public void toDelta(DataOutput out)
                       throws IOException

      Description copied from interface: `Delta`
      This method is invoked on an application object at the delta sender, if GemFire determines the presence of a delta by calling `Delta.hasDelta()` on the object. The delta is written to the `DataOutput` object provided by GemFire. Any delta state should be reset in this method.
      Specified by:
        `toDelta` in interface `Delta`
      Throws:
        `IOException`

    - #### fromDelta

          public void fromDelta(DataInput in)
                         throws IOException,
                                InvalidDeltaException

      Description copied from interface: `Delta`
      This method is invoked on an existing application object when an update is received as a delta. This method throws an `InvalidDeltaException` when the delta in the `DataInput` cannot be applied to the object. GemFire automatically handles an `InvalidDeltaException` by reattempting the update by sending the full application object.
      Specified by:
        `fromDelta` in interface `Delta`
      Throws:
        `IOException`
        `InvalidDeltaException`

    - #### toData

          public void toData(DataOutput out)
                      throws IOException

      Description copied from interface: `DataSerializable`
      Writes the state of this object as primitive data to the given `DataOutput`.

      Since 5.7 it is possible for any method call to the specified `DataOutput` to throw `GemFireRethrowable`. It should not be caught by user code. If it is it must be rethrown.

      Specified by:
        `toData` in interface `DataSerializable`
      Specified by:
        `toData` in interface `DeltaSessionInterface`
      Throws:
        `IOException` - A problem occurs while writing to `out`

    - #### fromData

          public void fromData(DataInput in)
                        throws IOException,
                               ClassNotFoundException

      Description copied from interface: `DataSerializable`
      Reads the state of this object as primitive data from the given `DataInput`.
      Specified by:
        `fromData` in interface `DataSerializable`
      Specified by:
        `fromData` in interface `DeltaSessionInterface`
      Throws:
        `IOException` - A problem occurs while reading from `in`
        `ClassNotFoundException` - A class could not be loaded while reading from `in`

    - #### getSizeInBytes

          public int getSizeInBytes()

      Specified by:
        `getSizeInBytes` in interface `org.apache.geode.internal.size.Sizeable`

    - #### getAttributes

          protected Map getAttributes()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `org.apache.catalina.session.StandardSession`