use of com.ms.silverking.cloud.dht.client.serialization.internal.UUIDMD5KeyCreator in project SilverKing by Morgan-Stanley.
the class NamespacePerspectiveOptionsImpl method keyCreatorFor.
private static <K> KeyCreator<K> keyCreatorFor(SerializationRegistry serializationRegistry, Class keyClass, KeyDigestType keyDigestType) {
if (keyClass == String.class) {
switch(keyDigestType) {
case MD5:
return (KeyCreator<K>) new StringMD5KeyCreator();
default:
throw new RuntimeException("Unsupported <keyClass, KeyDigestType>");
}
} else if (keyClass == Integer.class) {
switch(keyDigestType) {
case MD5:
return (KeyCreator<K>) new IntegerMD5KeyCreator();
default:
throw new RuntimeException("Unsupported <keyClass, KeyDigestType>");
}
} else if (keyClass == Long.class) {
switch(keyDigestType) {
case MD5:
return (KeyCreator<K>) new LongMD5KeyCreator();
default:
throw new RuntimeException("Unsupported <keyClass, KeyDigestType>");
}
} else if (keyClass == UUID.class) {
switch(keyDigestType) {
case MD5:
return (KeyCreator<K>) new UUIDMD5KeyCreator();
default:
throw new RuntimeException("Unsupported <keyClass, KeyDigestType>");
}
} else if (keyClass == byte[].class) {
switch(keyDigestType) {
case MD5:
return (KeyCreator<K>) new ArrayMD5KeyCreator();
default:
throw new RuntimeException("Unsupported <keyClass, KeyDigestType>");
}
} else {
BufferDestSerializer<K> s;
s = serializationRegistry.getSerializer(keyClass);
if (s != null) {
return new SerializedMD5KeyCreator(s);
} else {
throw new IllegalArgumentException("Unsupported key class. " + "No custom serializer, and no serializer found: " + keyClass);
}
}
}
Aggregations