Merge commit 'a3fd653affb01a660b2be31314866d8d1f1715de' into andr3ej-os-merges

# Conflicts:
#	docs/source/serialization.rst
This commit is contained in:
Andrzej Cichocki 2018-01-19 13:10:08 +00:00
commit 16c3250669
No known key found for this signature in database
GPG Key ID: 21B3BCB0BD5B0832

View File

@ -237,6 +237,11 @@ General Rules
#. The class must be compiled with parameter names included in the ``.class`` file. This is the default in Kotlin
but must be turned on in Java (``-parameters`` command line option to ``javac``).
.. note:: In circumstances where classes cannot be recompiled, such as when using a third party library, then
the creation of a proxy serializer can be used to avoid this problem. Details on creating such an object can be found on the
:doc:`cordapp-custom-serializers` page.
#. The class is annotated with ``@CordaSerializable``.
#. The declared types of constructor arguments, getters, and setters must be supported, and where generics are used the
generic parameter must be a supported type, an open wildcard (``*``), or a bounded wildcard which is currently
@ -417,7 +422,7 @@ Kotlin Objects
The Carpenter
`````````````
We will support a class carpenter that can dynamically manufacture classes from the supplied schema when deserializing
We support a class carpenter that can dynamically manufacture classes from the supplied schema when deserializing
in the JVM without the supporting classes on the classpath. This can be useful where other components might expect to
be able to use reflection over the deserialized data, and also for ensuring classes not on the classpath can be
deserialized without loading potentially malicious code dynamically without security review outside of a fully sandboxed