## org.w3c.jigsaw.servlet
Class JigsawHttpSession

    java.lang.Object
      |
      +--org.w3c.jigsaw.servlet.JigsawHttpSession

public class JigsawHttpSession
extends java.lang.Object
implements javax.servlet.http.HttpSession

Constructor Summary
`JigsawHttpSession(JigsawHttpSessionContext context, javax.servlet.http.Cookie cookie)`

Method Summary
`protected javax.servlet.http.Cookie` | `getCookie()`
`long` | `getCreationTime()` Returns the time at which this session representation was created, in milliseconds since midnight, January 1, 1970 UTC.
`java.lang.String` | `getId()` Returns the identifier assigned to this session.
`long` | `getLastAccessedTime()` Returns the last time the client sent a request carrying the identifier assigned to the session.
`int` | `getMaxInactiveInterval()`
`javax.servlet.http.HttpSessionContext` | `getSessionContext()` Deprecated. since jsdk2.1
`java.lang.Object` | `getValue(java.lang.String name)` Returns the object bound to the given name in the session's application layer data.
`java.lang.String[]` | `getValueNames()` Returns an array of the names of all the application layer data objects bound into the session.
`void` | `invalidate()` Causes this representation of the session to be invalidated and removed from its context.
`boolean` | `isNew()` A session is considered to be "new" if it has been created by the server, but the client has not yet acknowledged joining the session.
`protected boolean` | `isValid()`
`void` | `putValue(java.lang.String name, java.lang.Object value)` Binds the specified object into the session's application layer data with the given name.
`void` | `removeValue(java.lang.String name)` Removes the object bound to the given name in the session's application layer data.
`protected void` | `setLastAccessedTime()`
`void` | `setMaxInactiveInterval(int interval)`
`protected void` | `setNoMoreNew()`
`protected void` | `valueBound(javax.servlet.http.HttpSessionBindingListener value, java.lang.String name)`
`protected void` | `valueUnbound(javax.servlet.http.HttpSessionBindingListener value, java.lang.String name)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JigsawHttpSession

    public JigsawHttpSession(JigsawHttpSessionContext context,
                             javax.servlet.http.Cookie cookie)

Method Detail

### getId

    public java.lang.String getId()

  Returns the identifier assigned to this session. An HttpSession's identifier is a unique string that is created and maintained by HttpSessionContext.
  Specified by:
    getId in interface javax.servlet.http.HttpSession
  Returns:
    the identifier assigned to this session
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### getSessionContext

    public javax.servlet.http.HttpSessionContext getSessionContext()

  Deprecated. since jsdk2.1
  Returns the context in which this session is bound.
  Specified by:
    getSessionContext in interface javax.servlet.http.HttpSession
  Returns:
    the context in which this session is bound.
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### getCreationTime

    public long getCreationTime()

  Returns the time at which this session representation was created, in milliseconds since midnight, January 1, 1970 UTC.
  Specified by:
    getCreationTime in interface javax.servlet.http.HttpSession
  Returns:
    the time when the session was created
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### getLastAccessedTime

    public long getLastAccessedTime()

  Returns the last time the client sent a request carrying the identifier assigned to the session. Time is expressed as milliseconds since midnight, January 1, 1970 UTC. Application level operations, such as getting or setting a value associated with the session, does not affect the access time.
  Specified by:
    getLastAccessedTime in interface javax.servlet.http.HttpSession
  Returns:
    the last time the client sent a request carrying the identifier assigned to the session
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### setLastAccessedTime

    protected void setLastAccessedTime()

### invalidate

    public void invalidate()

  Causes this representation of the session to be invalidated and removed from its context.
  Specified by:
    invalidate in interface javax.servlet.http.HttpSession
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### getValue

    public java.lang.Object getValue(java.lang.String name)

  Returns the object bound to the given name in the session's application layer data. Returns null if there is no such binding.
  Specified by:
    getValue in interface javax.servlet.http.HttpSession
  Parameters:
    `name` - - the name of the binding to find
  Returns:
    the value bound to that name, or null if the binding does not exist.
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### putValue

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

  Binds the specified object into the session's application layer data with the given name. Any existing binding with the same name is replaced. New (or existing) values that implement the HttpSessionBindingListener interface will call its valueBound() method.
  Specified by:
    putValue in interface javax.servlet.http.HttpSession
  Parameters:
    `name` - - the name to which the data object will be bound. This parameter cannot be null.
    `value` - - the data object to be bound. This parameter cannot be null.
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### removeValue

    public void removeValue(java.lang.String name)

  Removes the object bound to the given name in the session's application layer data. Does nothing if there is no object bound to the given name. The value that implements the HttpSessionBindingListener interface will call its valueUnbound() method.
  Specified by:
    removeValue in interface javax.servlet.http.HttpSession
  Parameters:
    `name` - - the name of the object to remove
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### valueBound

    protected void valueBound(javax.servlet.http.HttpSessionBindingListener value,
                              java.lang.String name)

### valueUnbound

    protected void valueUnbound(javax.servlet.http.HttpSessionBindingListener value,
                                java.lang.String name)

### getValueNames

    public java.lang.String[] getValueNames()

  Returns an array of the names of all the application layer data objects bound into the session. For example, if you want to delete all of the data objects bound into the session, use this method to obtain their names.
  Specified by:
    getValueNames in interface javax.servlet.http.HttpSession
  Returns:
    an array containing the names of all of the application layer data objects bound into the session
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### isNew

    public boolean isNew()

  A session is considered to be "new" if it has been created by the server, but the client has not yet acknowledged joining the session. For example, if the server supported only cookie-based sessions and the client had completely disabled the use of cookies, then calls to HttpServletRequest.getSession() would always return "new" sessions.
  Specified by:
    isNew in interface javax.servlet.http.HttpSession
  Returns:
    true if the session has been created by the server but the client has not yet acknowledged joining the session; false otherwise
  Throws:
    java.lang.IllegalStateException - if an attempt is made to access session data after the session has been invalidated

### setNoMoreNew

    protected void setNoMoreNew()

### isValid

    protected boolean isValid()

### getCookie

    protected javax.servlet.http.Cookie getCookie()

### setMaxInactiveInterval

    public void setMaxInactiveInterval(int interval)

  Specified by:
    setMaxInactiveInterval in interface javax.servlet.http.HttpSession

### getMaxInactiveInterval

    public int getMaxInactiveInterval()

  Specified by:
    getMaxInactiveInterval in interface javax.servlet.http.HttpSession