Hi,
H2 version 1.4.196; I implemented a custom data type. After opening map
: MVMap<CustomType, String> map = store.openMap("any");
CustomType's methods wont be called. It is treated as a Object, so instead of
my implementation, Java serialization is called.
*Builder object in method MVStore.java line 441 :*
*..... *openMap( String name, MVMap.MapBuilder<M, K, V> builder)
The builder object used in this method does not set keyType and valueType, they
are still null,
so they will be set to ObjectDataType whenever builder.create() is called ( at
*MVMap.java line 456 or 468*)
This is builder.create() :
*MVMap.java line 1333 :*
@Override
public MVMap<K, V> create() {
if (keyType == null) {
keyType = new ObjectDataType();
}
if (valueType == null) {
valueType = new ObjectDataType();
}
return new MVMap<K, V>(keyType, valueType);
}
If I set key and value type as in below, it works but looks horrible :)
.... = store.openMap("mymap", new MVMap.Builder<CustomType,
String>().keyType(CustomType.INSTANCE).valueType(StringDataType.INSTANCE));
Is there a proper way to do it or does it need a fix?
Thanks,
Ozan.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.