mirror of
https://github.com/corda/corda.git
synced 2025-02-22 10:10:59 +00:00
CORDA-553 - Review comments
This commit is contained in:
parent
fcec60e232
commit
1f7083cd61
@ -23,7 +23,6 @@ import java.net.URL
|
|||||||
* @property schedulableFlows List of flows startable by the scheduler
|
* @property schedulableFlows List of flows startable by the scheduler
|
||||||
* @property services List of RPC services
|
* @property services List of RPC services
|
||||||
* @property serializationWhitelists List of Corda plugin registries
|
* @property serializationWhitelists List of Corda plugin registries
|
||||||
* @property serializationCustomSerializerProxies List of Proxy classes used by the custom serializers
|
|
||||||
* @property serializationCustomSerializers List of serializers
|
* @property serializationCustomSerializers List of serializers
|
||||||
* @property customSchemas List of custom schemas
|
* @property customSchemas List of custom schemas
|
||||||
* @property jarPath The path to the JAR for this CorDapp
|
* @property jarPath The path to the JAR for this CorDapp
|
||||||
|
@ -6,7 +6,7 @@ Pluggable Serializers for CorDapps
|
|||||||
To be serializable by Corda Java classes must be compiled with the -parameters switch to enable matching of it's properties
|
To be serializable by Corda Java classes must be compiled with the -parameters switch to enable matching of it's properties
|
||||||
to constructor parameters. This is important because Corda's internal AMQP serialization scheme will only construct
|
to constructor parameters. This is important because Corda's internal AMQP serialization scheme will only construct
|
||||||
objects using their constructors. However, when recompilation isn't possible, or classes are built in such a way that
|
objects using their constructors. However, when recompilation isn't possible, or classes are built in such a way that
|
||||||
they cannot be easily modified for simple serailization, CorDapps can provide custom proxy serializers that Corda
|
they cannot be easily modified for simple serialization, CorDapps can provide custom proxy serializers that Corda
|
||||||
can use to move from types it cannot serialize to an interim representation that it can with the transformation to and
|
can use to move from types it cannot serialize to an interim representation that it can with the transformation to and
|
||||||
from this proxy object being handled by the supplied serializer.
|
from this proxy object being handled by the supplied serializer.
|
||||||
|
|
||||||
@ -20,7 +20,7 @@ Serializers must
|
|||||||
* Inherit from net.corda.core.serialization.SerializationCustomSerializer
|
* Inherit from net.corda.core.serialization.SerializationCustomSerializer
|
||||||
* Be annotated with the @CordaCustomSerializer annotation
|
* Be annotated with the @CordaCustomSerializer annotation
|
||||||
* Provide a proxy class to transform the object to and from
|
* Provide a proxy class to transform the object to and from
|
||||||
* Have that proxy class annotated with the @CordaCustomSerializerProxy annotation
|
* Implmenet the ``toProxy`` and ``fromProxy`` methods
|
||||||
|
|
||||||
Serializers inheriting from SerializationCustomSerializer have to implement two methods and two types
|
Serializers inheriting from SerializationCustomSerializer have to implement two methods and two types
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ Consider this example class
|
|||||||
}
|
}
|
||||||
|
|
||||||
Without a custom serializer we cannot serialize this class as there is no public constructor that facilitates the
|
Without a custom serializer we cannot serialize this class as there is no public constructor that facilitates the
|
||||||
initialisation of all of its's properties.
|
initialisation of all of it's properties.
|
||||||
|
|
||||||
To be serializable by Corda this would require a custom serializer as follows
|
To be serializable by Corda this would require a custom serializer as follows
|
||||||
|
|
||||||
@ -55,7 +55,6 @@ To be serializable by Corda this would require a custom serializer as follows
|
|||||||
|
|
||||||
@CordaCustomSerializer
|
@CordaCustomSerializer
|
||||||
class ExampleSerializer : SerializationCustomSerializer<Example, ExampleSerializer.Proxy> {
|
class ExampleSerializer : SerializationCustomSerializer<Example, ExampleSerializer.Proxy> {
|
||||||
@CordaCustomSerializerProxy
|
|
||||||
data class Proxy(val a: Int, val b: Int)
|
data class Proxy(val a: Int, val b: Int)
|
||||||
|
|
||||||
override fun toProxy(obj: Example) = Proxy(obj.a, obj.b)
|
override fun toProxy(obj: Example) = Proxy(obj.a, obj.b)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user