javax.servlet

## Class HttpConstraintElement

- java.lang.Object
- - javax.servlet.HttpConstraintElement

- Direct Known Subclasses:
    HttpMethodConstraintElement, ServletSecurityElement

      public class HttpConstraintElement
      extends Object

  Java Class representation of an `HttpConstraint` annotation value.
  Since:
    Servlet 3.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `HttpConstraintElement()` Constructs a default HTTP constraint element
    `HttpConstraintElement(ServletSecurity.EmptyRoleSemantic semantic)` Convenience constructor to establish `EmptyRoleSemantic.DENY`
    `HttpConstraintElement(ServletSecurity.EmptyRoleSemantic semantic, ServletSecurity.TransportGuarantee guarantee, String... roleNames)` Constructor to establish all of getEmptyRoleSemantic, getRolesAllowed, and getTransportGuarantee.
    `HttpConstraintElement(ServletSecurity.TransportGuarantee guarantee, String... roleNames)` Constructor to establish non-empty getRolesAllowed and/or `TransportGuarantee.CONFIDENTIAL`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ServletSecurity.EmptyRoleSemantic` | `getEmptyRoleSemantic()` Gets the default authorization semantic.
    `String[]` | `getRolesAllowed()` Gets the names of the authorized roles.
    `ServletSecurity.TransportGuarantee` | `getTransportGuarantee()` Gets the data protection requirement (i.e., whether or not SSL/TLS is required) that must be satisfied by the transport connection.

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

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

- - ### Constructor Detail

    - #### HttpConstraintElement

          public HttpConstraintElement()

      Constructs a default HTTP constraint element

    - #### HttpConstraintElement

          public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic semantic)

      Convenience constructor to establish `EmptyRoleSemantic.DENY`
      Parameters:
        `semantic` - should be EmptyRoleSemantic.DENY

    - #### HttpConstraintElement

          public HttpConstraintElement(ServletSecurity.TransportGuarantee guarantee,
                               String... roleNames)

      Constructor to establish non-empty getRolesAllowed and/or `TransportGuarantee.CONFIDENTIAL`.
      Parameters:
        `guarantee` - `TransportGuarantee.NONE` or `TransportGuarantee.CONFIDENTIAL`
        `roleNames` - the names of the roles that are to be allowed access

    - #### HttpConstraintElement

          public HttpConstraintElement(ServletSecurity.EmptyRoleSemantic semantic,
                               ServletSecurity.TransportGuarantee guarantee,
                               String... roleNames)

      Constructor to establish all of getEmptyRoleSemantic, getRolesAllowed, and getTransportGuarantee.
      Parameters:
        `semantic` - `EmptyRoleSemantic.DENY` or `EmptyRoleSemantic.PERMIT`
        `guarantee` - `TransportGuarantee.NONE` or `TransportGuarantee.CONFIDENTIAL```
        `roleNames` - the names of the roles that are to be allowed access, or missing if the semantic is `EmptyRoleSemantic.DENY`

  - ### Method Detail

    - #### getEmptyRoleSemantic

          public ServletSecurity.EmptyRoleSemantic getEmptyRoleSemantic()

      Gets the default authorization semantic.

      This value is insignificant when `getRolesAllowed` returns a non-empty array, and should not be specified when a non-empty array is specified for `getRolesAllowed`.``

      Returns:
        the `ServletSecurity.EmptyRoleSemantic` to be applied when `getRolesAllowed` returns an empty (that is, zero-length) array

    - #### getTransportGuarantee

          public ServletSecurity.TransportGuarantee getTransportGuarantee()

      Gets the data protection requirement (i.e., whether or not SSL/TLS is required) that must be satisfied by the transport connection.
      Returns:
        the `ServletSecurity.TransportGuarantee` indicating the data protection that must be provided by the connection

    - #### getRolesAllowed

          public String[] getRolesAllowed()

      Gets the names of the authorized roles.

      Duplicate role names appearing in getRolesAllowed are insignificant and may be discarded. The String `"*"` has no special meaning as a role name (should it occur in getRolesAllowed).

      Returns:
        a (possibly empty) array of role names. When the array is empty, its meaning depends on the value of `getEmptyRoleSemantic()`. If its value is `DENY`, and `getRolesAllowed` returns an empty array, access is to be denied independent of authentication state and identity. Conversely, if its value is `PERMIT`, it indicates that access is to be allowed independent of authentication state and identity. When the array contains the names of one or more roles, it indicates that access is contingent on membership in at least one of the named roles (independent of the value of `getEmptyRoleSemantic()`).

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.