org.maachang.mimdb.server

## クラス MimdbClient

- java.lang.Object
- - org.maachang.mimdb.server.MimdbClient

-     public final class MimdbClient
      extends java.lang.Object

  Mimdbクライアント.
  導入されたバージョン:
    MasterInMemDB 1.02
  バージョン:
    2014/01/18
  作成者:
    masahito suzuki

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `MimdbClient(java.lang.String addr, int port)` コンストラクタ.
    `MimdbClient(java.lang.String addr, int port, int timeout)` コンストラクタ.
    `MimdbClient(java.lang.String addr, int port, java.lang.String bindAddr, int bindPort, int timeout)` コンストラクタ.

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `close()` オブジェクトの破棄.
    `java.lang.String` | `getAddress()` 接続先IPアドレスを取得.
    `java.lang.String` | `getBindAddress()` バインドIPアドレスを取得.
    `int` | `getBindPort()` バインドポート番号を取得.
    `int` | `getPort()` 接続先ポート番号を取得.
    `RemoteTable` | `getTable(java.lang.String table)` テーブル名に対するリモートテーブル要素を取得.
    `int` | `getTimeout()` コネクションタイムアウト値を取得.
    `boolean` | `isClose()` 接続状態を取得.
    `int` | `prepared(int[] out, int preparedId, QueryCompileInfo sql, int offset, int limit, java.lang.Object... params)` プリコンパイル済みstatement実行.
    `java.lang.Object[][]` | `resultSet(int[] out, int id, int offset, int fetch)` 結果情報を取得.
    `boolean` | `sendClose(int type, int id)` クローズ命令を送信.
    `void` | `setTimeout(int time)` コネクションタイムアウト値を設定.
    `void` | `statement(int[] out, QueryCompileInfo sql, int offset, int limit)` statement実行.

    - ### クラスから継承されたメソッド java.lang.Object

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

- - ### コンストラクタの詳細

    - #### MimdbClient

          public MimdbClient(java.lang.String addr,
                     int port)
                      throws java.lang.Exception

      コンストラクタ.
      パラメータ:
        `addr` - 接続先のIPアドレスを設定します. [null]を設定した場合は、ローカルIPで接続します.
        `port` - 接続先のポート番号を設定します. [-1]の場合は、規定のポート番号で設定します.
      例外:
        `java.lang.Exception` - 例外.

    - #### MimdbClient

          public MimdbClient(java.lang.String addr,
                     int port,
                     int timeout)
                      throws java.lang.Exception

      コンストラクタ.
      パラメータ:
        `addr` - 接続先のIPアドレスを設定します. [null]を設定した場合は、ローカルIPで接続します.
        `port` - 接続先のポート番号を設定します. [-1]の場合は、規定のポート番号で設定します.
        `timeout` - 受信タイムアウト値を設定します.
      例外:
        `java.lang.Exception` - 例外.

    - #### MimdbClient

          public MimdbClient(java.lang.String addr,
                     int port,
                     java.lang.String bindAddr,
                     int bindPort,
                     int timeout)
                      throws java.lang.Exception

      コンストラクタ.
      パラメータ:
        `addr` - 接続先のIPアドレスを設定します. [null]を設定した場合は、ローカルIPで接続します.
        `port` - 接続先のポート番号を設定します. [-1]の場合は、規定のポート番号で設定します.
        `bindAddr` - バインド先のIPアドレスを設定します. [null]を設定した場合は、バインドIPアドレスは設定されません
        `bindPort` - バインド先のポート番号を設定します. [-1]の場合は、バインドポートは設定されません.
        `timeout` - 受信タイムアウト値を設定します.
      例外:
        `java.lang.Exception` - 例外.

  - ### メソッドの詳細

    - #### close

          public void close()

      オブジェクトの破棄.

    - #### isClose

          public boolean isClose()

      接続状態を取得.
      戻り値:
        boolean [true]の場合、接続されていません

    - #### getAddress

          public java.lang.String getAddress()

      接続先IPアドレスを取得.
      戻り値:
        String 接続先のIPアドレスが返却されます.

    - #### getPort

          public int getPort()

      接続先ポート番号を取得.
      戻り値:
        int 接続先ポート番号をが返却されます.

    - #### getBindAddress

          public java.lang.String getBindAddress()

      バインドIPアドレスを取得.
      戻り値:
        String 接続先のIPアドレスが返却されます.

    - #### getBindPort

          public int getBindPort()

      バインドポート番号を取得.
      戻り値:
        int 接続先ポート番号をが返却されます.

    - #### getTimeout

          public int getTimeout()

      コネクションタイムアウト値を取得.
      戻り値:
        int コネクションタイムアウト値が返却されます.

    - #### setTimeout

          public void setTimeout(int time)

      コネクションタイムアウト値を設定.
      パラメータ:
        `time` - タイムアウト値を設定します.

    - #### getTable

          public RemoteTable getTable(java.lang.String table)
                               throws java.lang.Exception

      テーブル名に対するリモートテーブル要素を取得.
      パラメータ:
        `table` - 対象のテーブル名を設定します.
      戻り値:
        RemoteTable テーブル定義オブジェクトが返却されます.
      例外:
        `java.lang.Exception` - 例外.

    - #### statement

          public void statement(int[] out,
                       QueryCompileInfo sql,
                       int offset,
                       int limit)
                         throws java.lang.Exception

      statement実行.
      パラメータ:
        `out` - int[0]に実行結果のResultID、int[1]に長さが、 int[2]に最大長が返却されます.
        `sql` - 対象のプリコンパイル済みSQLを設定します.
        `offset` - 対象のオフセット値を設定します.
        `limit` - 対象のリミット値を設定します.
      例外:
        `java.lang.Exception` - 例外.

    - #### prepared

          public int prepared(int[] out,
                     int preparedId,
                     QueryCompileInfo sql,
                     int offset,
                     int limit,
                     java.lang.Object... params)
                       throws java.lang.Exception

      プリコンパイル済みstatement実行.
      パラメータ:
        `out` - int[0]に実行結果のResultID、int[1]に長さが、 int[2]に最大長が返却されます.
        `preparedId` - 対象のプリコンパイル済みIDを設定します.
        `sql` - 対象のプリコンパイル済みSQLを設定します.
        `offset` - 対象のオフセット値を設定します.
        `limit` - 対象のリミット値を設定します.
        `params` - 対象のパラメータ群を設定します.
      戻り値:
        int プリコンパイル済みIDが返却されます.
      例外:
        `java.lang.Exception` - 例外.

    - #### resultSet

          public java.lang.Object[][] resultSet(int[] out,
                                       int id,
                                       int offset,
                                       int fetch)
                                         throws java.lang.Exception

      結果情報を取得.
      パラメータ:
        `out` - int[0]には、結果の件数が格納されます.
        `id` - ResultIDを設定します.
        `offset` - オフセット値を設定します.
        `fetch` - フェッチサイズを設定します.
      戻り値:
        Object[][] 結果情報が返却されます.
      例外:
        `java.lang.Exception` - 例外.

    - #### sendClose

          public boolean sendClose(int type,
                          int id)
                            throws java.lang.Exception

      クローズ命令を送信.
      パラメータ:
        `type` - クローズタイプを設定します. [ConnectionDefine.CLOSE_CONNECTION]を設定すると、コネクションクローズします. [ConnectionDefine.CLOSE_RESULT_SET]を設定すると、ResultSetクローズします.
        `id` - ResultSetをクローズする場合は設定します.
      戻り値:
        boolean [true]の場合はクローズが成功しました.
      例外:
        `java.lang.Exception` - 例外.