org.apache.catalina.util

## Class ResourceSet<T>

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractSet<E>
    - - java.util.HashSet<T>
      - - org.apache.catalina.util.ResourceSet<T>

- Type Parameters:
    `T` - The type of elements in the Set
  All Implemented Interfaces:
    Serializable, Cloneable, Iterable<T>, Collection<T>, Set<T>

      public final class ResourceSet<T>
      extends HashSet<T>

  Extended implementation of HashSet that includes a `locked` property. This class can be used to safely expose resource path sets to user classes without having to clone them in order to avoid modifications. When first created, a `ResourceMap` is not locked.
  Author:
    Craig R. McClanahan
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResourceSet()` Construct a new, empty set with the default initial capacity and load factor.
    `ResourceSet(Collection<T> coll)` Construct a new set with the same contents as the existing collection.
    `ResourceSet(int initialCapacity)` Construct a new, empty set with the specified initial capacity and default load factor.
    `ResourceSet(int initialCapacity, float loadFactor)` Construct a new, empty set with the specified initial capacity and load factor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `add(T o)` Add the specified element to this set if it is not already present.
    `void` | `clear()` Remove all of the elements from this set.
    `boolean` | `isLocked()`
    `boolean` | `remove(Object o)` Remove the given element from this set if it is present.
    `void` | `setLocked(boolean locked)` Set the locked state of this parameter map.

    - ### Methods inherited from class java.util.HashSet

      `clone, contains, isEmpty, iterator, size, spliterator`

    - ### Methods inherited from class java.util.AbstractSet

      `equals, hashCode, removeAll`

    - ### Methods inherited from class java.util.AbstractCollection

      `addAll, containsAll, retainAll, toArray, toArray, toString`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Set

      `addAll, containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, removeIf, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

- - ### Constructor Detail

    - #### ResourceSet

          public ResourceSet()

      Construct a new, empty set with the default initial capacity and load factor.

    - #### ResourceSet

          public ResourceSet(int initialCapacity)

      Construct a new, empty set with the specified initial capacity and default load factor.
      Parameters:
        `initialCapacity` - The initial capacity of this set

    - #### ResourceSet

          public ResourceSet(int initialCapacity,
                             float loadFactor)

      Construct a new, empty set with the specified initial capacity and load factor.
      Parameters:
        `initialCapacity` - The initial capacity of this set
        `loadFactor` - The load factor of this set

    - #### ResourceSet

          public ResourceSet(Collection<T> coll)

      Construct a new set with the same contents as the existing collection.
      Parameters:
        `coll` - The collection whose contents we should copy

  - ### Method Detail

    - #### isLocked

          public boolean isLocked()

      Returns:
        the locked state of this parameter map.

    - #### setLocked

          public void setLocked(boolean locked)

      Set the locked state of this parameter map.
      Parameters:
        `locked` - The new locked state

    - #### add

          public boolean add(T o)

      Add the specified element to this set if it is not already present. Return `true` if the element was added.
      Specified by:
        `add` in interface `Collection<T>`
      Specified by:
        `add` in interface `Set<T>`
      Overrides:
        `add` in class `HashSet<T>`
      Parameters:
        `o` - The object to be added
      Throws:
        `IllegalStateException` - if this ResourceSet is locked

    - #### clear

          public void clear()

      Remove all of the elements from this set.
      Specified by:
        `clear` in interface `Collection<T>`
      Specified by:
        `clear` in interface `Set<T>`
      Overrides:
        `clear` in class `HashSet<T>`
      Throws:
        `IllegalStateException` - if this ResourceSet is locked

    - #### remove

          public boolean remove(Object o)

      Remove the given element from this set if it is present. Return `true` if the element was removed.
      Specified by:
        `remove` in interface `Collection<T>`
      Specified by:
        `remove` in interface `Set<T>`
      Overrides:
        `remove` in class `HashSet<T>`
      Parameters:
        `o` - The object to be removed
      Throws:
        `IllegalStateException` - if this ResourceSet is locked

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.