This transforms arbitrary keys to a String which can be used by Lucene as a document identifier, and vice versa.
There are 2 approaches to doing so; one for SimpleKeys: Java primitives (and their object wrappers), byte[] and Strings, and one for custom, user-defined types that could be used as keys.
For SimpleKeys, users don't need to do anything, these keys are automatically transformed by this class.
For user-defined keys, two options are supported. Types annotated with @Transformable, and declaring an appropriate {@link org.infinispan.query.Transformer} implementation; and types for which a {@link org.infinispan.query.Transformer} hasbeen explicitly registered through KeyTransformationHandler.registerTransformer().
@author Manik Surtani
@author Marko Luksa
@see org.infinispan.query.Transformable
@see org.infinispan.query.Transformer
@since 4.0