org.apache.ignite.marshaller

## Class MarshallerUtils

- java.lang.Object
- - org.apache.ignite.marshaller.MarshallerUtils

    public class MarshallerUtils
    extends Object

Utility marshaller methods.

### Field Summary

Fields
`static String` `CLS_NAMES_FILE` Class names file.
`static String` `JDK_CLS_NAMES_FILE` Jdk class names file.

### Method Summary

All Methods Static Methods Concrete Methods
`static IgnitePredicate<String>` `classNameFilter(ClassLoader clsLdr)` Returns class name filter for marshaller.
`static JdkMarshaller` `jdkMarshaller(@Nullable String nodeName)` Create JDK marshaller with provided node name.
`static IgniteProductVersion` `jobReceiverVersion()` Returns thread local job receiver node version.
`static void` `jobReceiverVersion(IgniteProductVersion ver)` Sets thread local job receiver node version.
`static IgniteProductVersion` `jobSenderVersion()` Returns thread local job sender node version.
`static void` `jobSenderVersion(IgniteProductVersion ver)` Sets thread local job sender node version.
`static void` `processSystemClasses(ClassLoader ldr, @Nullable Collection<PluginProvider> plugins, Consumer<String> proc)` Find all system class names (for JDK or Ignite classes) and process them with a given consumer.
`static void` `setNodeName(Marshaller marsh, @Nullable String nodeName)` Set node name to marshaller context if possible.

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

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

### Field Detail

#### JDK_CLS_NAMES_FILE

    public static final String JDK_CLS_NAMES_FILE

Jdk class names file.

See Also:
  Constant Field Values

#### CLS_NAMES_FILE

    public static final String CLS_NAMES_FILE

Class names file.

See Also:
  Constant Field Values

### Method Detail

#### setNodeName

    public static void setNodeName(Marshaller marsh,
                                   @Nullable
                                   @Nullable String nodeName)

Set node name to marshaller context if possible.

Parameters:
  `marsh` - Marshaller instance.
  `nodeName` - Node name.

#### jdkMarshaller

    public static JdkMarshaller jdkMarshaller(@Nullable
                                              @Nullable String nodeName)

Create JDK marshaller with provided node name.

Parameters:
  `nodeName` - Node name.
Returns:
  JDK marshaller.

#### jobSenderVersion

    public static void jobSenderVersion(IgniteProductVersion ver)

Sets thread local job sender node version.

Parameters:
  `ver` - Thread local job sender node version.

#### jobSenderVersion

    public static IgniteProductVersion jobSenderVersion()

Returns thread local job sender node version.

Returns:
  Thread local job sender node version.

#### jobReceiverVersion

    public static void jobReceiverVersion(IgniteProductVersion ver)

Sets thread local job receiver node version.

Parameters:
  `ver` - Thread local job receiver node version.

#### jobReceiverVersion

    public static IgniteProductVersion jobReceiverVersion()

Returns thread local job receiver node version.

Returns:
  Thread local job receiver node version.

#### classNameFilter

    public static IgnitePredicate<String> classNameFilter(ClassLoader clsLdr)
                                                   throws IgniteCheckedException

Returns class name filter for marshaller.

Parameters:
  `clsLdr` - Class loader.
Returns:
  Class name filter for marshaller.
Throws:
  `IgniteCheckedException`

#### processSystemClasses

    public static void processSystemClasses(ClassLoader ldr,
                                            @Nullable
                                            @Nullable Collection<PluginProvider> plugins,
                                            Consumer<String> proc)
                                     throws IOException

Find all system class names (for JDK or Ignite classes) and process them with a given consumer.

Parameters:
  `ldr` - Class loader.
  `plugins` - Plugins.
  `proc` - Class processor (class name consumer).
Throws:
  `IOException`

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.15.0
Release Date | : April 25 2023