nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
アプリケーション開発において、オブジェクトの直列化/非直列化をカスタマイズしたい場合があります。
オブジェクトの直列化/非直列化を抽象化したのが、Externalizerです。
関連するパッケージは、以下です。
アプリケーション向けインタフェースExternalizerを使った簡単なアプリケーションのサンプルを示します。
- import java.io.*;
- import jp.ossc.nimbus.core.ServiceManagerFactory;
- import jp.ossc.nimbus.service.io.Externalizer;
- Hoge hoge = new Hoge();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- // Externalizerを取得
- Externalizer externalizer = (Externalizer)ServiceManagerFactory.getServiceObject("Externalizer");
- // 直列化する
- externalizer.writeExternal(hoge, os);
- // 直列化したバイト配列を取得
- os.flush();
- byte[] bytes = os.getBytes();
- ByteArrayInputStream is = new ByteArrayInputStream(bytes);
- // 非直列化する
- hoge = (Hoge)externalizer.readExternal(is)
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.io.SerializableExternalizerService | Java標準の直列化機構を使用する |
jp.ossc.nimbus.service.io.NimbusExternalizerService | Java標準の直列化機構を拡張したNimbus独自直列化機構を使用する |
jp.ossc.nimbus.service.io.KryoExternalizerService | Kryoの直列化機構を使用する |