Package org.drasyl.util
Class InternPool<T>
java.lang.Object
org.drasyl.util.InternPool<T>
- Type Parameters:
 T- Type of objects in the pool
Represents a pool of unique objects of type 
T. Should only be used if objects of type
 T are immutable and have a Object.equals(Object) implementation, which returns 
 true only if both objects have the same content.
 Inspired by: https://github.com/verhas/intern
- 
Constructor Summary
Constructors - 
Method Summary
 
- 
Constructor Details
- 
InternPool
public InternPool() 
 - 
 - 
Method Details
- 
intern
Returns a canonical representation for the object.A pool of objects of type
T, initially empty, is maintained privately by this class.When the intern method is invoked, if the pool already contains a object equal to
objectas determined by theObject.equals(Object)method, then the object from the pool is returned. Otherwise,objectis added to the pool and a reference toobjectis returned.It follows that for any two objects
aandb,intern(a) == intern(b)istrueif and only ifa.equals(b)istrue.- Returns:
 - a object that has the same contents as 
object, but is guaranteed to be from a pool of unique objects of typeT. 
 
 -