-
Language:
English
-
Language:
English
15.6.2. Registering a Transformer via Annotations
The key for each value must also be indexed, and the key instance must then be transformed in a String.
JBoss Data Grid includes some default transformation routines for encoding common primitives, however to use a custom key you must provide an implementation of
org.infinispan.query.Transformer
.
The following example shows how to annotate your key type using
org.infinispan.query.Transformer
:
@Transformable(transformer = CustomTransformer.class) public class CustomKey { ... } public class CustomTransformer implements Transformer { @Override public Object fromString(String s) { ... return new CustomKey(...); } @Override public String toString(Object customType) { CustomKey ck = (CustomKey) customType; return ... } }
The two methods must implement a biunique correspondence.
For example, for any object A the following must be true:
A.equals( transformer.fromString( transformer.toString( A ) )
This assumes that the transformer is the appropriate Transformer implementation for objects of type A.
Important
The Query Module is currently only available as a Technical Preview for JBoss Data Grid 6.1.