パッケージ | flash.net |
クラス | public final class ObjectEncoding |
継承 | ObjectEncoding Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトエンコーディングは、AMF(Action Message Format)によるオブジェクトの表現方法を制御します。Flash Player は AMF を使用することで、アプリケーションとリモートサーバーとの間で効率的に通信を行えるようにします。AMF では、リモートプロシージャコールはコンパクトなバイナリ表現にエンコードされます。このバイナリ表現は、HTTP/HTTPS プロトコルまたは、Flash Media Server が使用する RTMP/RTMPS プロトコルで転送可能です。オブジェクトとデータ値は、このバイナリ形式内に直列化されます。これは通常、XML などの他の表現よりもコンパクトです。
Adobe AIR および Flash Player 9 では、AMF3 および AMF0 の 2 つの異なる形式で直列化を実行できます。 AMF3 はデフォルトの直列化形式で、ActionScript 3.0 で使用されます。ActionScript 1.0 および 2.0 で使用される AMF0 と比べて様々な利点があります。 AMF3 では、ネットワーク経由でのデータの送信が AMF0 より効率化されています。 AMF3 は、int
オブジェクトと uint
オブジェクトの整数としての送信と、ByteArray、XML、IExternalizable などの、ActionScript 3.0 でのみ使用できるデータ型をサポートしています。AMF3 は、ActionScript 3.0 で、Flex 2 などの AMF3 エンコードを使用するサーバーを使用している場合にのみ使用できます。
ByteArray、FileStream、NetConnection、NetStream、SharedObject、Socket、URLStream の各クラスには、objectEncoding
プロパティが含まれます。このプロパティには ObjectEncoding クラスから定数が割り当てられます。 objectEncoding
プロパティの動作は、オブジェクトによって異なります。各クラスの objectEncoding
プロパティの説明に、この動作についての詳細な説明があります。
プロパティ | 定義元 | ||
---|---|---|---|
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
dynamicPropertyWriter : IDynamicPropertyWriter [静的]
動的オブジェクトの動的プロパティの直列化をさらに細かく制御できます。 | ObjectEncoding |
定数 | 定義元 | ||
---|---|---|---|
AMF0 : uint = 0 [静的]
オブジェクトが ActionScript 1.0 および 2.0 の Action Message Format 形式を使用して直列化されることを指定します。 | ObjectEncoding | ||
AMF3 : uint = 3 [静的]
オブジェクトが ActionScript 3.0 の Action Message Format 形式を使用して直列化されることを指定します。 | ObjectEncoding | ||
DEFAULT : uint = 3 [静的]
現在のランタイムにデフォルト(最新)の形式を指定します(Flash Player または AIR)。 | ObjectEncoding |
dynamicPropertyWriter | プロパティ |
dynamicPropertyWriter:IDynamicPropertyWriter
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
動的オブジェクトの動的プロパティの直列化をさらに細かく制御できます。このプロパティがデフォルト値の null
に設定されている場合、動的プロパティはネイティブコードを使用して直列化されます。これにより、値が関数である動的プロパティを除くすべての動的プロパティが書き込まれます。
この値は、ダイナミックオブジェクト(ダイナミッククラス内で宣言したオブジェクト)のプロパティに対して、または new
演算子を使用して宣言したオブジェクトに対してのみ、呼び出されます。
このプロパティを使用して、動的オブジェクトのプロパティの直列化からの除外、動的オブジェクトのプロパティへの値の書き込み、または新しいプロパティの作成を実行できます。これらの操作を実行するには、IDynamicPropertyWriter インターフェイスを実装するオブジェクトにこのプロパティを設定します。詳細については、IDynamicPropertyWriter インターフェイスを参照してください。
実装
public static function get dynamicPropertyWriter():IDynamicPropertyWriter
public static function set dynamicPropertyWriter(value:IDynamicPropertyWriter):void
関連する API エレメント
AMF0 | 定数 |
public static const AMF0:uint = 0
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトが ActionScript 1.0 および 2.0 の Action Message Format 形式を使用して直列化されることを指定します。
AMF3 | 定数 |
public static const AMF3:uint = 3
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
オブジェクトが ActionScript 3.0 の Action Message Format 形式を使用して直列化されることを指定します。
DEFAULT | 定数 |
public static const DEFAULT:uint = 3
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
現在のランタイムにデフォルト(最新)の形式を指定します(Flash Player または AIR)。オブジェクトエンコーディング制御は Flash Player 9 以降および Adobe AIR でのみ使用できるので、使用される最も古い形式は ActionScript 3.0 対応の Action Message Format 形式ということになります。
例えば、オブジェクトの objectEncoding
プロパティが ObjectEncoding.DEFAULT
に設定されている場合は、AMF3 エンコーディングが使用されます。将来、Flash Player または Adobe AIR の後のバージョンで新しい AMF バージョンが導入され、コンテンツを再パブリッシュすると、アプリケーションはその新しい AMF バージョンを使用します。この定数は、以前のバージョンの Flash Player との相互運用性について特に注意する必要がない場合に限り使用できます。
Tue Jun 12 2018, 10:34 AM Z