# Class ServletSecurityElement

java.lang.Object
javax.servlet.HttpConstraintElement
javax.servlet.ServletSecurityElement

public class ServletSecurityElement extends HttpConstraintElement
The programmatic equivalent of `ServletSecurity` used to configre security constraints for a Servlet.

Since:
  Servlet 3.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ServletSecurityElement()`
  Use default HttpConstraint.
  `ServletSecurityElement(Collection<HttpMethodConstraintElement> httpMethodConstraints)`
  Use specific constraints for specified methods and default HttpConstraintElement for all other methods.
  `ServletSecurityElement(ServletSecurity annotation)`
  Create from an annotation.
  `ServletSecurityElement(HttpConstraintElement httpConstraintElement)`
  Use specified HttpConstraintElement.
  `ServletSecurityElement(HttpConstraintElement httpConstraintElement, Collection<HttpMethodConstraintElement> httpMethodConstraints)`
  Use specified HttpConstraintElement as default and specific constraints for specified methods.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<HttpMethodConstraintElement>`
  `getHttpMethodConstraints()`
  Obtain the collection of security constraints configured for specific methods.
  `Collection<String>`
  `getMethodNames()`
  Obtain the collection HTTP methods for which security constraints have been defined.

  ### Methods inherited from class javax.servlet.HttpConstraintElement

  `getEmptyRoleSemantic, getRolesAllowed, getTransportGuarantee`

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

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

- ## Constructor Details

  - ### ServletSecurityElement

    public ServletSecurityElement()
    Use default HttpConstraint.

  - ### ServletSecurityElement

    public ServletSecurityElement(HttpConstraintElement httpConstraintElement)
    Use specified HttpConstraintElement.
    Parameters:
      `httpConstraintElement` - The constraint

  - ### ServletSecurityElement

    public ServletSecurityElement(Collection<HttpMethodConstraintElement> httpMethodConstraints)
    Use specific constraints for specified methods and default HttpConstraintElement for all other methods.
    Parameters:
      `httpMethodConstraints` - Method constraints
    Throws:
      `IllegalArgumentException` - if a method name is specified more than once

  - ### ServletSecurityElement

    public ServletSecurityElement(HttpConstraintElement httpConstraintElement, Collection<HttpMethodConstraintElement> httpMethodConstraints)
    Use specified HttpConstraintElement as default and specific constraints for specified methods.
    Parameters:
      `httpConstraintElement` - Default constraint
      `httpMethodConstraints` - Method constraints
    Throws:
      `IllegalArgumentException` - if a method name is specified more than once

  - ### ServletSecurityElement

    public ServletSecurityElement(ServletSecurity annotation)
    Create from an annotation.
    Parameters:
      `annotation` - Annotation to use as the basis for the new instance
    Throws:
      `IllegalArgumentException` - if a method name is specified more than once

- ## Method Details

  - ### getHttpMethodConstraints

    public Collection<HttpMethodConstraintElement> getHttpMethodConstraints()
    Obtain the collection of security constraints configured for specific methods.
    Returns:
      The security constraints for specific methods

  - ### getMethodNames

    public Collection<String> getMethodNames()
    Obtain the collection HTTP methods for which security constraints have been defined.
    Returns:
      The names of the HTTP methods