Class SessionData

  • All Implemented Interfaces:
    java.io.Serializable

    public class SessionData
    extends java.lang.Object
    implements java.io.Serializable
    The data associated with a session.

    Created: 2017. 6. 6.

    See Also:
    Serialized Form
    • Constructor Detail

      • SessionData

        public SessionData​(java.lang.String id,
                           long creationTime,
                           long accessedTime,
                           long lastAccessedTime,
                           long maxInactiveInterval)
    • Method Detail

      • getId

        public java.lang.String getId()
      • setId

        public void setId​(java.lang.String id)
      • getAttribute

        public <T> T getAttribute​(java.lang.String name)
      • setAttribute

        public <T> T setAttribute​(java.lang.String name,
                                  java.lang.Object value)
      • getKeys

        public java.util.Set<java.lang.String> getKeys()
        Returns:
        a Set of attribute names
      • getAllAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getAllAttributes()
        Returns an unmodifiable map of the attributes.
        Returns:
        an unmodifiable map of the attributes
      • putAllAttributes

        public void putAllAttributes​(java.util.Map<java.lang.String,​java.lang.Object> attributes)
        Copies all of the mappings from the specified attributes.
        Parameters:
        attributes - the specified attributes
      • clearAllAttributes

        public void clearAllAttributes()
        Removes all attributes.
      • getCreationTime

        public long getCreationTime()
      • getAccessedTime

        public long getAccessedTime()
      • setAccessedTime

        public void setAccessedTime​(long accessedTime)
      • getLastAccessedTime

        public long getLastAccessedTime()
      • setLastAccessedTime

        public void setLastAccessedTime​(long lastAccessedTime)
      • getMaxInactiveInterval

        public long getMaxInactiveInterval()
      • setMaxInactiveInterval

        public void setMaxInactiveInterval​(long maxInactiveInterval)
      • getExpiryTime

        public long getExpiryTime()
      • setExpiryTime

        public void setExpiryTime​(long expiryTime)
      • calcExpiry

        public long calcExpiry()
      • calcExpiry

        public long calcExpiry​(long time)
      • calcAndSetExpiry

        public void calcAndSetExpiry()
      • calcAndSetExpiry

        public void calcAndSetExpiry​(long time)
      • isExpiredAt

        public boolean isExpiredAt​(long time)
      • isDirty

        public boolean isDirty()
        Returns:
        true if a session needs to be written out
      • setDirty

        public void setDirty​(boolean dirty)
      • getLastSavedTime

        public long getLastSavedTime()
      • setLastSavedTime

        public void setLastSavedTime​(long lastSavedTime)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • serialize

        public static void serialize​(SessionData data,
                                     java.io.OutputStream os,
                                     java.util.Set<java.lang.String> nonPersistentAttributes)
                              throws java.io.IOException
        Save the session data.
        Parameters:
        os - the output stream to save to
        nonPersistentAttributes - the attribute names to be excluded from serialization
        Throws:
        java.io.IOException - if an I/O error has occurred
      • deserialize

        public static SessionData deserialize​(java.io.InputStream is)
                                       throws java.lang.Exception
        Load session data from an input stream that contains session data.
        Parameters:
        is - the input stream containing session data
        Returns:
        the session data
        Throws:
        java.lang.Exception - if the session data could not be read from the file