org.apache.ignite.marshaller.jdk

## Class JdkMarshaller

- java.lang.Object
- - org.apache.ignite.marshaller.AbstractMarshaller
  - - org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller
    - - org.apache.ignite.marshaller.jdk.JdkMarshaller

All Implemented Interfaces:
  Marshaller

    public class JdkMarshaller
    extends AbstractNodeNameAwareMarshaller

Implementation of `Marshaller` based on JDK serialization mechanism.

# Configuration

## Mandatory

This marshaller has no mandatory configuration parameters.

## Java Example

`JdkMarshaller` needs to be explicitly configured to override default binary marshaller - see `IgniteBinary`.

     JdkMarshaller marshaller = new JdkMarshaller();

     IgniteConfiguration cfg = new IgniteConfiguration();

     // Override default marshaller.
     cfg.setMarshaller(marshaller);

     // Starts grid.
     G.start(cfg);

## Spring Example

JdkMarshaller can be configured from Spring XML configuration file:

     <bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true">
         ...
         <property name="marshaller">
             <bean class="org.apache.ignite.marshaller.jdk.JdkMarshaller"/>
         </property>
         ...
     </bean>

For information about Spring framework visit www.springframework.org

### Field Summary

### Fields inherited from class org.apache.ignite.marshaller.AbstractMarshaller

`ctx, DFLT_BUFFER_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`JdkMarshaller()` Default constructor.
`JdkMarshaller(IgnitePredicate<String> clsFilter)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected byte[]` `marshal0(Object obj)` Marshals object to byte array.
`protected void` `marshal0(Object obj, OutputStream out)` Marshals object to the output stream.
`void` `onUndeploy(ClassLoader ldr)` Undeployment callback invoked when class loader is being undeployed.
`String` `toString()`
`protected <T> T` `unmarshal0(byte[] arr, ClassLoader clsLdr)` Unmarshals object from byte array using given class loader.
`protected <T> T` `unmarshal0(InputStream in, ClassLoader clsLdr)` Unmarshals object from the input stream using given class loader.

### Methods inherited from class org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller

`marshal, marshal, nodeName, unmarshal, unmarshal`

### Methods inherited from class org.apache.ignite.marshaller.AbstractMarshaller

`getContext, setContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### JdkMarshaller

    public JdkMarshaller()

Default constructor.

#### JdkMarshaller

    public JdkMarshaller(IgnitePredicate<String> clsFilter)

Parameters:
  `clsFilter` - Class name filter.

### Method Detail

#### marshal0

    protected void marshal0(@Nullable
                            Object obj,
                            OutputStream out)
                     throws IgniteCheckedException

Marshals object to the output stream. This method should not close given output stream.

Specified by:
  `marshal0` in class `AbstractNodeNameAwareMarshaller`
Parameters:
  `obj` - Object to marshal.
  `out` - Output stream to marshal into.
Throws:
  `IgniteCheckedException` - If marshalling failed.

#### marshal0

    protected byte[] marshal0(@Nullable
                              Object obj)
                       throws IgniteCheckedException

Marshals object to byte array.

Specified by:
  `marshal0` in class `AbstractNodeNameAwareMarshaller`
Parameters:
  `obj` - Object to marshal.
Returns:
  Byte array.
Throws:
  `IgniteCheckedException` - If marshalling failed.

#### unmarshal0

    protected <T> T unmarshal0(InputStream in,
                               @Nullable
                               ClassLoader clsLdr)
                        throws IgniteCheckedException

Unmarshals object from the input stream using given class loader. This method should not close given input stream.

Specified by:
  `unmarshal0` in class `AbstractNodeNameAwareMarshaller`
Type Parameters:
  `T` - Type of unmarshalled object.
Parameters:
  `in` - Input stream.
  `clsLdr` - Class loader to use.
Returns:
  Unmarshalled object.
Throws:
  `IgniteCheckedException` - If unmarshalling failed.

#### unmarshal0

    protected <T> T unmarshal0(byte[] arr,
                               @Nullable
                               ClassLoader clsLdr)
                        throws IgniteCheckedException

Unmarshals object from byte array using given class loader.

Specified by:
  `unmarshal0` in class `AbstractNodeNameAwareMarshaller`
Type Parameters:
  `T` - Type of unmarshalled object.
Parameters:
  `arr` - Byte array.
  `clsLdr` - Class loader to use.
Returns:
  Unmarshalled object.
Throws:
  `IgniteCheckedException` - If unmarshalling failed.

#### onUndeploy

    public void onUndeploy(ClassLoader ldr)

Undeployment callback invoked when class loader is being undeployed. Some marshallers may want to clean their internal state that uses the undeployed class loader somehow.

Specified by:
  `onUndeploy` in class `AbstractMarshaller`
Parameters:
  `ldr` - Class loader being undeployed.

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.0
Release Date | : November 30 2018