0

シリアル化されたデータを含む大きなバイナリ ファイルがいくつかあります。たとえば、を可能にする「汎用」ObjectGUIを作成したいと思います。

1) 複数のファイルを選択

2) 「リーダー」または「ハンドラー」クラスを選択します

3) 各ファイルを縦に開く

4) これらの列のオブジェクトを表示します (つまり、フィールドのクエリ、並べ替えなど)。

基本的に、いくつかのバイナリ ファイルへの Navicat スタイルのインターフェイスが必要です。文脈上、これらのファイルはthriftシリアライズされたhadoopファイルですが、任意のソース(hibernate、またはObjectOutputStreamなど)からオブジェクトを読み取ることができる汎用インターフェイスが優先されます。

4

1 に答える 1

1

これは明らかに自明ではありません。

私は次のようにそれにアプローチします

  1. 読み取ろうとしているデータをラップするドメイン固有のクラスを作成します
  2. バイナリ プロトコルを解析し、ステップ 1 からオブジェクトを作成するアンマーシャラーを作成します。

オブジェクトを取得したら、それらを視覚化することは別の問題です。それらが JavaBeans 規則 (get/set) に準拠している場合、 NetBeans プロパティ インスペクタを使用してさまざまなプロパティにドリルダウンできる場合があります。以前にこの API を使用したことがあります。少しトリッキーです。

代わりにグリッド/テーブル ベースのアプローチを使用する場合は、GlazedListsを使用することをお勧めします。ドメイン オブジェクトをテーブルの列に変換するクラスを実装する必要があります。詳細については、チュートリアルを参照してください。

これがあらゆるものを一般的にサポートすることにあまり集中しないでください。そうしないと、この罠に陥る可能性があります。持っているケースで動作させることに集中してください。

ここに画像の説明を入力( http://xkcd.com/974/ )

于 2011-12-23T18:21:40.760 に答える