Package jakarta.servlet

# Interface SessionCookieConfig

public interface SessionCookieConfig
Configures the session cookies used by the web application associated with the ServletContext from which this SessionCookieConfig was obtained.

Since:
  Servlet 3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getAttribute(String name)`
  Obtain the value for a sesison cookie given attribute.
  `Map<String,String>`
  `getAttributes()`
  Obtain the Map of attributes and values (excluding version) for this session cookie.
  `String`
  `getComment()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This is no longer required with RFC 6265
  `String`
  `getDomain()`
  Obtain the domain to use for session cookies.
  `int`
  `getMaxAge()`
  Obtain the maximum age to set for a session cookie.
  `String`
  `getName()`
  Obtain the name to use for the session cookies.
  `String`
  `getPath()`
  Obtain the path to use for session cookies.
  `boolean`
  `isHttpOnly()`
  Will session cookies be created with the httpOnly flag set?
  `boolean`
  `isSecure()`
  Will session cookies be created with the secure flag set?
  `void`
  `setAttribute(String name, String value)`
  Sets the value for the given session cookie attribute.
  `void`
  `setComment(String comment)`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This is no longer required with RFC 6265
  `void`
  `setDomain(String domain)`
  Sets the domain for the session cookie
  `void`
  `setHttpOnly(boolean httpOnly)`
  Sets the httpOnly flag for the session cookie.
  `void`
  `setMaxAge(int MaxAge)`
  Sets the maximum age.
  `void`
  `setName(String name)`
  Sets the session cookie name.
  `void`
  `setPath(String path)`
  Sets the path of the session cookie.
  `void`
  `setSecure(boolean secure)`
  Sets the secure flag for the session cookie.

- ## Method Details

  - ### setName

    void setName(String name)
    Sets the session cookie name.
    Parameters:
      `name` - The name of the session cookie
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getName

    String getName()
    Obtain the name to use for the session cookies.
    Returns:
      the name to use for session cookies.

  - ### setDomain

    void setDomain(String domain)
    Sets the domain for the session cookie
    Parameters:
      `domain` - The session cookie domain
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getDomain

    String getDomain()
    Obtain the domain to use for session cookies.
    Returns:
      the domain to use for session cookies.

  - ### setPath

    void setPath(String path)
    Sets the path of the session cookie.
    Parameters:
      `path` - The session cookie path
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getPath

    String getPath()
    Obtain the path to use for session cookies. This is normally the context path.
    Returns:
      The path to use for session cookies.

  - ### setComment

    @Deprecated(since="Servlet 6.0", forRemoval=true) void setComment(String comment)
    Deprecated, for removal: This API element is subject to removal in a future version.
    This is no longer required with RFC 6265
    If called, this method has no effect.
    Parameters:
      `comment` - Ignore
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getComment

    @Deprecated(since="Servlet 6.0", forRemoval=true) String getComment()
    Deprecated, for removal: This API element is subject to removal in a future version.
    This is no longer required with RFC 6265
    With the adoption of support for RFC 6265, this method should no longer be used.
    Returns:
      always `null`

  - ### setHttpOnly

    void setHttpOnly(boolean httpOnly)
    Sets the httpOnly flag for the session cookie.
    Parameters:
      `httpOnly` - The httpOnly setting to use for session cookies
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### isHttpOnly

    boolean isHttpOnly()
    Will session cookies be created with the httpOnly flag set?
    Returns:
      `true` if the flag should be set, otherwise `false`

  - ### setSecure

    void setSecure(boolean secure)
    Sets the secure flag for the session cookie.
    Parameters:
      `secure` - The secure setting to use for session cookies
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### isSecure

    boolean isSecure()
    Will session cookies be created with the secure flag set?
    Returns:
      `true` if the flag should be set, otherwise `false`

  - ### setMaxAge

    void setMaxAge(int MaxAge)
    Sets the maximum age.
    Parameters:
      `MaxAge` - the maximum age to set
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getMaxAge

    int getMaxAge()
    Obtain the maximum age to set for a session cookie.
    Returns:
      the maximum age in seconds

  - ### setAttribute

    void setAttribute(String name, String value)
    Sets the value for the given session cookie attribute. When a value is set via this method, the value returned by the attribute specific getter (if any) must be consistent with the value set via this method.
    Parameters:
      `name` - Name of attribute to set
      `value` - Value of attribute
    Throws:
      `IllegalStateException` - if the associated ServletContext has already been initialised
      `IllegalArgumentException` - If the attribute name is null or contains any characters not permitted for use in Cookie names.
      `NumberFormatException` - If the attribute is known to be numerical but the provided value cannot be parsed to a number.
    Since:
      Servlet 6.0

  - ### getAttribute

    String getAttribute(String name)
    Obtain the value for a sesison cookie given attribute. Values returned from this method must be consistent with the values set and returned by the attribute specific getters and setters in this class.
    Parameters:
      `name` - Name of attribute to return
    Returns:
      Value of specified attribute
    Since:
      Servlet 6.0

  - ### getAttributes

    Map<String,String> getAttributes()
    Obtain the Map of attributes and values (excluding version) for this session cookie.
    Returns:
      A read-only Map of attributes to values, excluding version.
    Since:
      Servlet 6.0