モジュール java.rmi
パッケージ java.rmi

クラスMarshalledObject<T>

java.lang.Object
java.rmi.MarshalledObject<T>
型パラメータ:
T - このMarshalledObjectに包含されるオブジェクトの型
すべての実装されたインタフェース:
Serializable

public final class MarshalledObject<T>
extends Object
implements Serializable
MarshalledObjectは、コンストラクタに渡されるオブジェクトの、直列化表現のバイト・ストリームを包含します。 getメソッドは、包含されたバイト・ストリームから直列化復元された、元のオブジェクトの新しいコピーを返します。 包含されたオブジェクトは、パラメータおよびRMI呼出しの戻り値の整列化、および非整列化に使われるのと同じ直列化のセマンティックスを使って、直列化、および直列化復元されます。直列化された形式が作成されるときには、次のことが該当します。
  • クラスには、そのロード元(可能な場合)となるコード・ベースURLが付加される
  • MarshalledObjectにあるリモート・オブジェクトは、すべてそのスタブの直列化されたインスタンスで表現される

オブジェクトのコピーをgetメソッドで取得する場合、クラスがローカルに利用可能でなければ、適切な場所からクラスをロードします。その場所は、クラスが直列化されたときにクラス記述子で記述されたURLで指定されます。

MarshalledObjectを使うことにより、リモート・ピアが即座に自動的に直列化復元できない、RMI呼出しでのオブジェクト渡しが容易になります。

導入されたバージョン:
1.2
関連項目:
直列化された形式
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    MarshalledObject​(T obj)
    提供されたオブジェクトの現在の状態を直列化して表現したものを包含する、新しいMarshalledObjectを作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object obj)
    このMarshalledObjectと別のオブジェクトを比較します。
    T get()
    包含された、整列化されたオブジェクトの新しいコピーを返します。
    int hashCode()
    MarshalledObjectのハッシュ・コードを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClassnotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

    • MarshalledObject

      public MarshalledObject​(T obj) throws IOException
      提供されたオブジェクトの現在の状態を直列化して表現したものを包含する、新しいMarshalledObjectを作成します。 オブジェクトは、RMI呼出しのパラメータの整列化に使われるセマンティックスによって直列化されます。
      パラメータ:
      obj - 直列化されるオブジェクト(直列化可能である必要がある)
      例外:
      IOException - IOExceptionが発生した場合。IOExceptionは、objが直列化可能でない場合に発生することがある。
      導入されたバージョン:
      1.2
  • メソッドの詳細

    • get

      public T get() throws IOException, ClassNotFoundException
      包含された、整列化されたオブジェクトの新しいコピーを返します。 内部表現は、RMI呼出しのパラメータの非整列化に使われるセマンティックスで直列化復元されます。 MarshalledObjectがObjectInputStreamから読み込まれた場合、そのストリームのフィルタを使用してオブジェクトを直列化復元します。
      戻り値:
      包含されたオブジェクトのコピー
      例外:
      IOException - 内部表現からオブジェクトを直列化復元しているときにIOExceptionが発生した場合。
      ClassNotFoundException - 内部表現からオブジェクトを直列化復元しているときにClassNotFoundExceptionが発生した場合
      導入されたバージョン:
      1.2
    • hashCode

      public int hashCode()
      MarshalledObjectのハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      ハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • equals

      public boolean equals​(Object obj)
      このMarshalledObjectと別のオブジェクトを比較します。 比較の対象となるオブジェクトとまったく同じ直列化表現を包含するMarshalledObjectを引数が参照している場合に限り、trueを返します。 この比較では、クラスのコード・ベース注釈は無視されます。つまり、各クラスのコード・ベースの直列化表現を除いて、その他の直列化表現が同じであれば、2つのオブジェクトは同等と見なされます。
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - このMarshalledObjectと比較するオブジェクト
      戻り値:
      同等の直列化オブジェクトが引数である場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.2
      関連項目:
      Object.hashCode()HashMap