Package org.apache.tapestry5.ioc.util

# Class IdAllocator

java.lang.Object
org.apache.tapestry5.ioc.util.IdAllocator

public final class IdAllocator extends Object
Used to "uniquify" names within a given context. A base name is passed in, and the return value is the base name, or the base name extended with a suffix to make it unique. This class is not threadsafe.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IdAllocator()`
  Creates a new allocator with no namespace.
  `IdAllocator(String namespace)`
  Creates a new allocator with the provided namespace.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `allocateId(String name)`
  Allocates the id.
  `void`
  `clear()`
  Clears the allocator, resetting it to freshly allocated state.
  `IdAllocator`
  `clone()`
  Creates a clone of this IdAllocator instance, copying the allocator's namespace and key map.
  `List<String>`
  `getAllocatedIds()`
  Returns a list of all allocated ids, sorted alphabetically.
  `boolean`
  `isAllocated(String name)`
  Checks to see if a given name has been allocated.

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

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

- ## Constructor Details

  - ### IdAllocator

    public IdAllocator()
    Creates a new allocator with no namespace.

  - ### IdAllocator

    public IdAllocator(String namespace)
    Creates a new allocator with the provided namespace.

- ## Method Details

  - ### getAllocatedIds

    public List<String> getAllocatedIds()
    Returns a list of all allocated ids, sorted alphabetically.

  - ### clone

    public IdAllocator clone()
    Creates a clone of this IdAllocator instance, copying the allocator's namespace and key map.
    Overrides:
      `clone` in class `Object`

  - ### allocateId

    public String allocateId(String name)
    Allocates the id. Repeated calls for the same name will return "name", "name_0", "name_1", etc.

  - ### isAllocated

    public boolean isAllocated(String name)
    Checks to see if a given name has been allocated.

  - ### clear

    public void clear()
    Clears the allocator, resetting it to freshly allocated state.