## 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
`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
`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 © 2012 GlassFish Community. All Rights Reserved.