Package org.jjoost.util

Interface Summary
Counter A simple interface encapsulating some dynamic integer greater than or equal to zero
Equality<E> This interface declares a method which defines equality been objects of type E
Factory<E> This interface defines an arbitrary object factory that requires no arguments.
Filter<E> Defines a simple filter over objects
FilterPartialOrder<P> This interface is used to define an abstract filter over a data set whose type is known but whose ordering may not be.
Function<X,Y> The interface declares a method defining a function from domain X to range Y
Rehasher A simple interface defining custom re-hashing functions
 

Class Summary
Counters Some default Counter implementations
Counters.DontCounter a Counter which ignores all updates to its value and always returns a value less than zero.
Counters.SerialCounter Returns a regular Counter which performs ordinary addition with no concurrency guarantees
Counters.ThreadSafeCounter a thread safe Counter which uses compare and set operations to modify its value
Equalities Default implementations of Equality.
Equalities.ByteArrayEquality an Equality over objects of type byte[], delegating to java.util.Arrays.equals(a, b) and java.util.Arrays.hashCode(k)
Equalities.CaseInsensitiveEquality an Equality over String for case insensitive equality (a.equalsIgnoreCase(b)); hash() is expensive to compute as it performs toLowerCase().hashCode()
Equalities.EntryEquality<K,V> an Equality over objects of type Entry, for provided K and V; wraps a separate Equality for comparing the key and value portions of the Entry.
Equalities.IdentityEquality an Equality for identity equality, i.e.
Equalities.IntArrayEquality an Equality over objects of type int[], delegating to java.util.Arrays.equals(a, b) and java.util.Arrays.hashCode(k)
Equalities.LongArrayEquality an Equality over objects of type long[], delegating to java.util.Arrays.equals(a, b) and java.util.Arrays.hashCode(k)
Equalities.ObjectArrayEquality an Equality over objects of type Object[], delegating to java.util.Arrays.equals(a, b) and java.util.Arrays.hashCode(k)
Equalities.ObjectEquality Standard object equality, delegating to Object.equals() and Object.hashCode(), but handling nulls gracefully
Equalities.RehashingEquality<V> an Equality which delegates to the provided Equality, but passes the resulting hash() through the provided Rehasher before returning it
Factories A class providing methods acting on factories, and default factory implementations
Factories.CastFactory<E> A simple factory which wraps another factory (ordinarily a SimpleObjectFactory) and (unsafely) casts the result to the type parameter provided.
Factories.SimpleObjectFactory<E> A simple factory that creates objects of the type of the class provided, providing it has an empty constructor
Filters A class providing methods acting on filters, and default filter implementations
Functions A class defining simple functions, and methods for working with functions
Functions.AbstractValueProjection<E extends Value<V>,V> A function that retrieves the value from a Value
Functions.FieldProjection<E,F> A Function which accepts a Field (reflection API), which will be retrieved and returned from every object the function is applied to.
Functions.MapEntryKeyProjection<E extends Map.Entry<K,?>,K> A function that retrieves the key portion of a Map.Entry
Functions.MapEntryValueProjection<E extends Map.Entry<?,V>,V> A function that retrieves the value portion of a Map.Entry
Functions.MethodProjection<E,F> A Function which accepts a Method and arguments to provide to the method, which will execute the method on each object it receives as an argument, returning the result.
Iters A class declaring useful methods for working with Iterator and Iterable objects
Objects Defines a some simple utility methods for Objects
Ordering<E> This class provides functionality on top of comparators, such as sorting, searching and range matching.
Rehashers A collection of default implementations of Rehasher