Package org.apache.ignite.internal.processors.platform.services

## Class PlatformServices

- java.lang.Object
- - org.apache.ignite.internal.processors.platform.PlatformAbstractTarget
  - - org.apache.ignite.internal.processors.platform.services.PlatformServices

All Implemented Interfaces:
  `PlatformTarget`

    public class PlatformServices
    extends PlatformAbstractTarget

Interop services.

### Field Summary

Fields
`static byte` `PLATFORM_DOTNET`
`static byte` `PLATFORM_JAVA`

### Fields inherited from class org.apache.ignite.internal.processors.platform.PlatformAbstractTarget

`ERROR, FALSE, log, platformCtx, TRUE`

### Constructor Summary

Constructors
`PlatformServices​(PlatformContext platformCtx, IgniteServices services, boolean srvKeepBinary)` Ctor.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static void` `convertArrayArgs​(Object[] args, Method mtd)` Convert Object[] to T[] when required: Ignite loses array item types when passing arguments through GridServiceProxy.
`static Method` `getMethod​(Class<?> clazz, String mthdName, Object[] args)` Finds a suitable method in a class.
`long` `processInLongOutLong​(int type, long val)` Process IN operation.
`PlatformTarget` `processInObjectStreamOutObjectStream​(int type, PlatformTarget arg, BinaryRawReaderEx reader, BinaryRawWriterEx writer)` Process IN-OUT operation.
`long` `processInStreamOutLong​(int type, BinaryRawReaderEx reader)` Process IN operation.
`PlatformTarget` `processInStreamOutObject​(int type, BinaryRawReaderEx reader)` Process IN-OUT operation.
`void` `processInStreamOutStream​(int type, BinaryRawReaderEx reader, BinaryRawWriterEx writer)` Process IN-OUT operation.
`PlatformTarget` `processOutObject​(int type)` Process OUT operation.
`void` `processOutStream​(int type, BinaryRawWriterEx writer)` Process OUT operation.

### Methods inherited from class org.apache.ignite.internal.processors.platform.PlatformAbstractTarget

`convertException, platformContext, processInStreamAsync, processInStreamOutLong, readAndListenFuture, readAndListenFuture, readAndListenFuture, throwUnsupported, wrapListenable`

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

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

### Field Detail

#### PLATFORM_JAVA

    public static final byte PLATFORM_JAVA

See Also:
  Constant Field Values

#### PLATFORM_DOTNET

    public static final byte PLATFORM_DOTNET

See Also:
  Constant Field Values

### Constructor Detail

#### PlatformServices

    public PlatformServices​(PlatformContext platformCtx,
                            IgniteServices services,
                            boolean srvKeepBinary)

Ctor.

Parameters:
  `platformCtx` - Context.
  `services` - Services facade.
  `srvKeepBinary` - Server keep binary flag.

### Method Detail

#### processInStreamOutLong

    public long processInStreamOutLong​(int type,
                                       BinaryRawReaderEx reader)
                                throws IgniteCheckedException

Process IN operation.

Specified by:
  `processInStreamOutLong` in interface `PlatformTarget`
Overrides:
  `processInStreamOutLong` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `reader` - Binary reader.
Returns:
  Result.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processInStreamOutStream

    public void processInStreamOutStream​(int type,
                                         BinaryRawReaderEx reader,
                                         BinaryRawWriterEx writer)
                                  throws IgniteCheckedException

Process IN-OUT operation.

Specified by:
  `processInStreamOutStream` in interface `PlatformTarget`
Overrides:
  `processInStreamOutStream` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `reader` - Binary reader.
  `writer` - Binary writer.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processInObjectStreamOutObjectStream

    public PlatformTarget processInObjectStreamOutObjectStream​(int type,
                                                               PlatformTarget arg,
                                                               BinaryRawReaderEx reader,
                                                               BinaryRawWriterEx writer)
                                                        throws IgniteCheckedException

Process IN-OUT operation.

Specified by:
  `processInObjectStreamOutObjectStream` in interface `PlatformTarget`
Overrides:
  `processInObjectStreamOutObjectStream` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `arg` - Argument.
  `reader` - Binary reader.
  `writer` - Binary writer.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processOutStream

    public void processOutStream​(int type,
                                 BinaryRawWriterEx writer)
                          throws IgniteCheckedException

Process OUT operation.

Specified by:
  `processOutStream` in interface `PlatformTarget`
Overrides:
  `processOutStream` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `writer` - Binary writer.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processOutObject

    public PlatformTarget processOutObject​(int type)
                                    throws IgniteCheckedException

Process OUT operation.

Specified by:
  `processOutObject` in interface `PlatformTarget`
Overrides:
  `processOutObject` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processInLongOutLong

    public long processInLongOutLong​(int type,
                                     long val)
                              throws IgniteCheckedException

Process IN operation.

Specified by:
  `processInLongOutLong` in interface `PlatformTarget`
Overrides:
  `processInLongOutLong` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `val` - Value.
Returns:
  Result.
Throws:
  `IgniteCheckedException` - In case of exception.

#### processInStreamOutObject

    public PlatformTarget processInStreamOutObject​(int type,
                                                   BinaryRawReaderEx reader)
                                            throws IgniteCheckedException

Process IN-OUT operation.

Specified by:
  `processInStreamOutObject` in interface `PlatformTarget`
Overrides:
  `processInStreamOutObject` in class `PlatformAbstractTarget`
Parameters:
  `type` - Type.
  `reader` - Binary reader.
Throws:
  `IgniteCheckedException` - In case of exception.

#### getMethod

    public static Method getMethod​(Class<?> clazz,
                                   String mthdName,
                                   Object[] args)
                            throws NoSuchMethodException

Finds a suitable method in a class.

Parameters:
  `clazz` - Class.
  `mthdName` - Name.
  `args` - Args.
Returns:
  Method.
Throws:
  `NoSuchMethodException` - On error.

#### convertArrayArgs

    public static void convertArrayArgs​(Object[] args,
                                        Method mtd)

Convert Object[] to T[] when required: Ignite loses array item types when passing arguments through GridServiceProxy.

Parameters:
  `args` - Service method args.
  `mtd` - Target method.