11.2.2.9.2. @Transformable keys
各値のキーもインデックス化する必要があります。また、キーインスタンスは String で変換する必要があります。Red Hat Data Grid には、共通のプリミティブをエンコードするためのデフォルトの変換ルーチンが含まれていますが、カスタムキーを使用するには、org.infinispan.query.Transformer の実装を提供する必要があります。
Registering a Transformer via annotations
キータイプに org.infinispan.query.Transformable アノテーションを付けます。
@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 ...
}
}
Registering a Transformer programmatically
この手法を使用して、カスタムキータイプにアノテーションを付ける必要はありません。
org.infinispan.query.SearchManager.registerKeyTransformer(Class<?>, Class<? extends Transformer>)