org.apache.calcite.avatica.remote

## Class AbstractService

- java.lang.Object
- - org.apache.calcite.avatica.remote.AbstractService

All Implemented Interfaces:
  Service

Direct Known Subclasses:
  JsonService, ProtobufService

    public abstract class AbstractService
    extends Object
    implements Service

A common base class for `Service` implementations that implement modifications made to response objects.

### Nested Class Summary

Nested Classes
`(package private) static class` `AbstractService.SerializationType` Represents the serialization of the data over a transport.

### Nested classes/interfaces inherited from interface org.apache.calcite.avatica.remote.Service

`Service.Base, Service.CatalogsRequest, Service.CloseConnectionRequest, Service.CloseConnectionResponse, Service.CloseStatementRequest, Service.CloseStatementResponse, Service.ColumnsRequest, Service.CommitRequest, Service.CommitResponse, Service.ConnectionSyncRequest, Service.ConnectionSyncResponse, Service.CreateStatementRequest, Service.CreateStatementResponse, Service.DatabasePropertyRequest, Service.DatabasePropertyResponse, Service.ErrorResponse, Service.ExecuteBatchRequest, Service.ExecuteBatchResponse, Service.ExecuteRequest, Service.ExecuteResponse, Service.Factory, Service.FetchRequest, Service.FetchResponse, Service.OpenConnectionRequest, Service.OpenConnectionResponse, Service.PrepareAndExecuteBatchRequest, Service.PrepareAndExecuteRequest, Service.PrepareRequest, Service.PrepareResponse, Service.Request, Service.Response, Service.ResultSetResponse, Service.RollbackRequest, Service.RollbackResponse, Service.RpcMetadataResponse, Service.SchemasRequest, Service.SyncResultsRequest, Service.SyncResultsResponse, Service.TablesRequest, Service.TableTypesRequest, Service.TypeInfoRequest`

### Field Summary

Fields
`private Service.RpcMetadataResponse` `rpcMetadata`

### Constructor Summary

Constructors
Constructor and Description
`AbstractService()`

### Method Summary

Methods
`(package private) ColumnMetaData` `finagle(ColumnMetaData column)`
`(package private) Meta.Signature` `finagle(Meta.Signature signature)` Modifies a signature, changing the representation of numeric columns within it.
`(package private) Meta.StatementHandle` `finagle(Meta.StatementHandle h)`
`(package private) Service.ExecuteResponse` `finagle(Service.ExecuteResponse r)`
`(package private) Service.PrepareResponse` `finagle(Service.PrepareResponse response)`
`(package private) Service.ResultSetResponse` `finagle(Service.ResultSetResponse r)`
`(package private) abstract AbstractService.SerializationType` `getSerializationType()`
`void` `setRpcMetadata(Service.RpcMetadataResponse metadata)` Sets server-level metadata for RPCs.

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

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

### Methods inherited from interface org.apache.calcite.avatica.remote.Service

`apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply, apply`

### Field Detail

#### rpcMetadata

    private Service.RpcMetadataResponse rpcMetadata

### Constructor Detail

#### AbstractService

    public AbstractService()

### Method Detail

#### getSerializationType

    abstract AbstractService.SerializationType getSerializationType()

Returns:
  The manner in which the data is serialized.

#### finagle

    Meta.Signature finagle(Meta.Signature signature)

Modifies a signature, changing the representation of numeric columns within it. This deals with the fact that JSON transmits a small long value, or a float which is a whole number, as an integer. Thus the accessors need be prepared to accept any numeric type.

#### finagle

    ColumnMetaData finagle(ColumnMetaData column)

#### finagle

    Service.PrepareResponse finagle(Service.PrepareResponse response)

#### finagle

    Meta.StatementHandle finagle(Meta.StatementHandle h)

#### finagle

    Service.ResultSetResponse finagle(Service.ResultSetResponse r)

#### finagle

    Service.ExecuteResponse finagle(Service.ExecuteResponse r)

#### setRpcMetadata

    public void setRpcMetadata(Service.RpcMetadataResponse metadata)

Description copied from interface: `Service`
Sets server-level metadata for RPCs. This includes information that is static across all RPCs.

Specified by:
  `setRpcMetadata` in interface `Service`
Parameters:
  `metadata` - The server-level metadata.