Ce contenu n'est pas disponible dans la langue sélectionnée.
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.