# Class SecurityCollection

java.lang.Object
org.apache.tomcat.util.descriptor.web.XmlEncodingBase
org.apache.tomcat.util.descriptor.web.SecurityCollection

All Implemented Interfaces:
  `Serializable`

public class SecurityCollection extends XmlEncodingBase implements Serializable
Representation of a web resource collection for a web application's security constraint, as represented in a `<web-resource-collection>` element in the deployment descriptor.

WARNING: It is assumed that instances of this class will be created and modified only within the context of a single thread, before the instance is made visible to the remainder of the application. After that, only read access is expected. Therefore, none of the read and write access within this class is synchronized.

Author:
  Craig R. McClanahan
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SecurityCollection()`
  Construct a new security collection instance with default values.
  `SecurityCollection(String name, String description)`
  Construct a new security collection instance with specified values.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addMethod(String method)`
  Add an HTTP request method to be explicitly part of this web resource collection.
  `void`
  `addOmittedMethod(String method)`
  Add an HTTP request method to the methods explicitly excluded from this web resource collection.
  `void`
  `addPattern(String pattern)`
  Add a URL pattern to be part of this web resource collection.
  `void`
  `addPatternDecoded(String pattern)`
  `boolean`
  `findMethod(String method)`
  Check if the collection applies to the specified method.
  `String[]`
  `findMethods()`
  `String[]`
  `findOmittedMethods()`
  `boolean`
  `findPattern(String pattern)`
  Is the specified pattern part of this web resource collection?
  `String[]`
  `findPatterns()`
  `String`
  `getDescription()`
  `String`
  `getName()`
  `boolean`
  `isFromDescriptor()`
  `void`
  `removeMethod(String method)`
  Remove the specified HTTP request method from those that are part of this web resource collection.
  `void`
  `removeOmittedMethod(String method)`
  Remove the specified HTTP request method from those that are explicitly excluded from this web resource collection.
  `void`
  `removePattern(String pattern)`
  Remove the specified URL pattern from those that are part of this web resource collection.
  `void`
  `setDescription(String description)`
  Set the description of this web resource collection.
  `void`
  `setFromDescriptor(boolean isFromDescriptor)`
  Set if this constraint was defined in a deployment descriptor.
  `void`
  `setName(String name)`
  Set the name of this web resource collection
  `String`
  `toString()`
  Return a String representation of this security collection.

  ### Methods inherited from class org.apache.tomcat.util.descriptor.web.XmlEncodingBase

  `getCharset, setCharset`

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

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

- ## Constructor Details

  - ### SecurityCollection

    public SecurityCollection()
    Construct a new security collection instance with default values.

  - ### SecurityCollection

    public SecurityCollection(String name, String description)
    Construct a new security collection instance with specified values.
    Parameters:
      `name` - Name of this security collection
      `description` - Description of this security collection

- ## Method Details

  - ### getDescription

    public String getDescription()
    Returns:
      the description of this web resource collection.

  - ### setDescription

    public void setDescription(String description)
    Set the description of this web resource collection.
    Parameters:
      `description` - The new description

  - ### getName

    public String getName()
    Returns:
      the name of this web resource collection.

  - ### setName

    public void setName(String name)
    Set the name of this web resource collection
    Parameters:
      `name` - The new name

  - ### isFromDescriptor

    public boolean isFromDescriptor()
    Returns:
      if this constraint was defined in a deployment descriptor.

  - ### setFromDescriptor

    public void setFromDescriptor(boolean isFromDescriptor)
    Set if this constraint was defined in a deployment descriptor.
    Parameters:
      `isFromDescriptor` - `true` was declared in a descriptor

  - ### addMethod

    public void addMethod(String method)
    Add an HTTP request method to be explicitly part of this web resource collection.
    Parameters:
      `method` - The method

  - ### addOmittedMethod

    public void addOmittedMethod(String method)
    Add an HTTP request method to the methods explicitly excluded from this web resource collection.
    Parameters:
      `method` - The method

  - ### addPattern

    public void addPattern(String pattern)
    Add a URL pattern to be part of this web resource collection.
    Parameters:
      `pattern` - The pattern

  - ### addPatternDecoded

    public void addPatternDecoded(String pattern)

  - ### findMethod

    public boolean findMethod(String method)
    Check if the collection applies to the specified method.
    Parameters:
      `method` - Request method to check
    Returns:
      `true` if the specified HTTP request method is part of this web resource collection.

  - ### findMethods

    public String[] findMethods()
    Returns:
      the array of HTTP request methods that are part of this web resource collection, or a zero-length array if no methods have been explicitly included.

  - ### findOmittedMethods

    public String[] findOmittedMethods()
    Returns:
      the array of HTTP request methods that are explicitly excluded from this web resource collection, or a zero-length array if no request methods are excluded.

  - ### findPattern

    public boolean findPattern(String pattern)
    Is the specified pattern part of this web resource collection?
    Parameters:
      `pattern` - Pattern to be compared
    Returns:
      `true` if the pattern is part of the collection

  - ### findPatterns

    public String[] findPatterns()
    Returns:
      the array of URL patterns that are part of this web resource collection. If none have been specified, a zero-length array is returned.

  - ### removeMethod

    public void removeMethod(String method)
    Remove the specified HTTP request method from those that are part of this web resource collection.
    Parameters:
      `method` - Request method to be removed

  - ### removeOmittedMethod

    public void removeOmittedMethod(String method)
    Remove the specified HTTP request method from those that are explicitly excluded from this web resource collection.
    Parameters:
      `method` - Request method to be removed

  - ### removePattern

    public void removePattern(String pattern)
    Remove the specified URL pattern from those that are part of this web resource collection.
    Parameters:
      `pattern` - Pattern to be removed

  - ### toString

    public String toString()
    Return a String representation of this security collection.
    Overrides:
      `toString` in class `Object`