Class 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 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
      • 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