org.apache.tapestry5.ioc.util
Class IdAllocator

java.lang.Object
  extended by 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
IdAllocator()
          Creates a new allocator with no namespace.
IdAllocator(String namespace)
          Creates a new allocator with the provided namespace.
 
Method Summary
 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 Detail

IdAllocator

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


IdAllocator

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

Method Detail

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.



Copyright © 2003-2012 The Apache Software Foundation.