mirror of
https://github.com/corda/corda.git
synced 2025-06-20 08:03:53 +00:00
NOTICK: Better use of generics for DJVM Collection and Map serializers.
This commit is contained in:
@ -30,8 +30,8 @@ class SandboxCollectionSerializer(
|
||||
private val localFactory: LocalSerializerFactory
|
||||
) : CustomSerializer.Implements<Any>(clazz = classLoader.toSandboxAnyClass(Collection::class.java)) {
|
||||
@Suppress("unchecked_cast")
|
||||
private val creator: Function<Array<Any>, out Any?>
|
||||
= taskFactory.apply(CreateCollection::class.java) as Function<Array<Any>, out Any?>
|
||||
private val creator: Function<Array<out Any>, out Any?>
|
||||
= taskFactory.apply(CreateCollection::class.java) as Function<Array<out Any>, out Any?>
|
||||
|
||||
private val unsupportedTypes: Set<Class<Any>> = listOf(
|
||||
EnumSet::class.java
|
||||
@ -87,7 +87,7 @@ class SandboxCollectionSerializer(
|
||||
private class ConcreteCollectionSerializer(
|
||||
declaredType: ParameterizedType,
|
||||
private val matchingType: Map.Entry<Class<Any>, Class<out Collection<*>>>,
|
||||
private val creator: Function<Array<Any>, out Any?>,
|
||||
private val creator: Function<Array<out Any>, out Any?>,
|
||||
factory: LocalSerializerFactory
|
||||
) : AMQPSerializer<Any> {
|
||||
override val type: ParameterizedType = declaredType
|
||||
|
@ -30,8 +30,8 @@ class SandboxMapSerializer(
|
||||
private val localFactory: LocalSerializerFactory
|
||||
) : CustomSerializer.Implements<Any>(clazz = classLoader.toSandboxAnyClass(Map::class.java)) {
|
||||
@Suppress("unchecked_cast")
|
||||
private val creator: Function<Array<Any>, out Any?>
|
||||
= taskFactory.apply(CreateMap::class.java) as Function<Array<Any>, out Any?>
|
||||
private val creator: Function<Array<out Any>, out Any?>
|
||||
= taskFactory.apply(CreateMap::class.java) as Function<Array<out Any>, out Any?>
|
||||
|
||||
// The order matters here - the first match should be the most specific one.
|
||||
// Kotlin preserves the ordering for us by associating into a LinkedHashMap.
|
||||
@ -77,7 +77,7 @@ class SandboxMapSerializer(
|
||||
private class ConcreteMapSerializer(
|
||||
declaredType: ParameterizedType,
|
||||
private val matchingType: Map.Entry<Class<Any>, Class<out Map<*, *>>>,
|
||||
private val creator: Function<Array<Any>, out Any?>,
|
||||
private val creator: Function<Array<out Any>, out Any?>,
|
||||
factory: LocalSerializerFactory
|
||||
) : AMQPSerializer<Any> {
|
||||
override val type: ParameterizedType = declaredType
|
||||
|
Reference in New Issue
Block a user