# Class ServletSecurityElement

java.lang.Object
jakarta.servlet.HttpConstraintElement
jakarta.servlet.ServletSecurityElement

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

Since:
  Servlet 3.0

## Constructor Summary

Constructors
Constructor
Description
`ServletSecurityElement()`
Use default HttpConstraint.
`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.
`ServletSecurityElement(Collection<HttpMethodConstraintElement> httpMethodConstraints)`
Use specific constraints for specified methods and default HttpConstraintElement for all other 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 jakarta.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