Ext.data.RecordとExt.data.Store

Ext JS技術情報Ext JS 実践開発ガイドとは、別に普通にExt JSに関するメモも書くことはあります(笑)なので、そんなときは、ロゴだけのこのマークになります。たぶん。
今回は、「Ext.data.RecordとExt.data.Store」に関するメモ。

Ext.data.Record

Ext.data.Recordクラスは、Ext.data.Storeの中に格納されるクラスです。インスタンス化されたExt.data.Recordクラスは、主に、次のような役割を担います。

  • レコードとしてのデータ保存
  • 変更管理

イメージとしては、上記のような形です。通常、自分でこのExt.data.Recordクラスをインスタンス化することはありません。Storeを通して内部的に生成されるのが一般的です。

Ext.data.Store

ストアとは、Ext JSの世界では、クライアントサイド(ブラウザ側)の「データ保管庫」という位置づけになります。先ほどの、Ext.data.Recordオブジェクトの配列が内部的に保持されていています。

ストア生成時、storeIdまたは、idを指定して生成したストアは、シングルトンクラスであるStoreMgrによって管理することができます。

具体的には、Ext.StoreMgr.getメソッドを使ってストアオブジェクトを取得することができます。

ストアの構成

ストアは、内部的に次のオブジェクトにより構成されています。

reader

データを読み込むためのオブジェクトです。readerとしては、次のクラスが存在します。

  • Ext.data.ArrayReader
  • Ext.data.JsonReader
  • Ext.data.XmlReader

writer

データを書き出すためのオブジェクトです。このwriterというオブジェクトは、Ext JS 3.0からの機能になります。writerとしては、次のクラスが存在します。

  • Ext.data.JsonWriter
  • Ext.data.XmlWriter

proxy

proxyは、reader/writerが外部データへアクセスする際に使用するオブジェクトです。proxyとしては、次のクラスが存在します。

  • DirectProxy
  • HttpProxy
  • MemoryProxy
  • ScriptTagProxy

ストアは、これらreader/writer/proxyオブジェクトを設定し生成します。しかし、最初から決まったオブジェクトが設定されているストアを生成することができます。

Ext.data.ArrayStore

Ext.data.ArrayStoreは、次のオブジェクト構成になります。

  • reader:Ext.data.ArrayReader
  • proxy:Ext.data.MemoryProxy

Ext.data.JsonStore

Ext.data.JsonStoreは、次のオブジェクト構成になります。

  • reader:Ext.data.JsonReader
  • proxy:Ext.data.HttpProxy

Ext.data.XmlStore

Ext.data.XmlStoreは、次のオブジェクト構成になります。

  • reader:Ext.data.XmlReader
  • proxy:Ext.data.HttpProxy

これらの、ストアは、Ext.data.Storeを継承して、あらかじめ使うreader/proxyを設定してくれるものだという認識でよいと思います。

writerは、設定されませんので、writerを使用したいときは、該当のストア生成時に、コンフィグオプション:writerにwriterオブジェクトを設定しましょう。

Ext.data.RecordとExt.data.Store

コメントを残す