JavaTM 2 Platform
Std. Ed. v1.3

javax.naming
クラス Reference

java.lang.Object
  |
  +--javax.naming.Reference
すべての実装インタフェース:
Cloneable, Serializable
直系の既知のサブクラス:
LinkRef

public class Reference
extends Object
implements Cloneable, Serializable

このクラスは、ネーミングおよびディレクトリシステムの外部で検出されるオブジェクトに対する参照を表します。

Reference は、ネーミングおよびディレクトリシステムに直接バインドされていないオブジェクトに関するアドレス情報の記録方法を提供します。

Reference は、参照対象のオブジェクトに関するアドレスの順序付けられたリストとクラス情報で構成されます。リスト内の各アドレスは、同じ概念上のオブジェクトの通信端点を識別します。「通信端点」とは、オブジェクトへの接続方法を示す情報です。これは、ネットワークアドレス、ローカルマシン上のメモリ内の位置、同じマシン上の別のプロセスなどになります。リスト内のアドレスの順序は、参照を解釈するオブジェクトファクトリでは重要になる場合があります。

複製、オブジェクトが複数の通信機構に対してインタフェースを提供するなどの様々な理由から、複数のアドレスが発生する場合があります。アドレスはインデックス化されてゼロから始まります。

Reference には、この Reference の参照先オブジェクトのインスタンスを作成する場合に役に立つ情報も格納されます。この情報には、そのオブジェクトのクラス名、およびオブジェクトを作成するときに使用されるファクトリのクラス名と位置が示されます。クラスファクトリ位置は、ファクトリをロードするのに使用されるクラスパスを表す、スペースで区切られた URL のリストです。ファクトリクラス (またはファクトリクラスが依存するクラスやリソース) をロードする必要があるときは、クラスのロードを試みるために各 URL が使用されます。

Reference インスタンスは、並行アクセスに対して複数のスレッドでは同期化されません。単一の Reference に同時にアクセスする必要のあるスレッドは、それ自体で同期化され、必要なロックを提供する必要があります。

導入されたバージョン:
1.3
関連項目:
RefAddr, StringRefAddr, BinaryRefAddr, 直列化された形式

フィールドの概要
protected  Vector addrs
          この Reference に含まれるアドレスを含みます。
protected  String classFactory
          この Reference の参照先オブジェクトのインスタンスを作成するファクトリクラスの名前を含みます。
protected  String classFactoryLocation
          ファクトリクラスの位置を含みます。
protected  String className
          この Reference の参照先オブジェクトのクラスの完全指定された名前を含みます。
 
コンストラクタの概要
Reference(String className)
          クラス名が「className」のオブジェクトに対する新しい参照を構築します。
Reference(String className, RefAddr addr)
          クラス名が「className」のオブジェクトに対して新しい参照を構築します。
Reference(String className, RefAddr addr, String factory, String factoryLocation)
          クラス名が「className」のオブジェクト、オブジェクトのファクトリのクラス名と位置、およびオブジェクトのアドレスに対する新しい参照を構築します。
Reference(String className, String factory, String factoryLocation)
          クラス名が「className」のオブジェクト、およびオブジェクトのファクトリのクラス名と位置に対して新しい参照を構築します。
 
メソッドの概要
 void add(int posn, RefAddr addr)
          インデックスのアドレスリストにアドレスを追加します。
 void add(RefAddr addr)
          アドレスリストの末尾にアドレスを追加します。
 void clear()
          この参照からすべてのアドレスを削除します。
 Object clone()
          アドレスのクラス名リスト、クラスファクトリ名およびクラスファクトリ位置を使用して、この参照のコピーを作成します。
 boolean equals(Object obj)
          obj がこの参照と (同じ順序の) 同じアドレスをもつ参照であるかどうかを判別します。
 RefAddr get(int posn)
          インデックスにあるアドレスを取り出します。
 RefAddr get(String addrType)
          アドレス型「addrType」をもつ最初のアドレスを取り出します。
 Enumeration getAll()
          この参照内のアドレスの列挙を取り出します。
 String getClassName()
          この参照の参照先オブジェクトのクラス名を取り出します。
 String getFactoryClassLocation()
          この参照の参照先オブジェクトのファクトリの位置を取り出します。
 String getFactoryClassName()
          この参照の参照先オブジェクトのファクトリのクラス名を取り出します。
 int hashCode()
          この参照のハッシュコードを計算します。
 Object remove(int posn)
          アドレスのリストからインデックスにあるアドレスを削除します。
 int size()
          この参照内のアドレス数を取り出します。
 String toString()
          この参照の文字列表記を生成します。
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

className

protected String className
この Reference の参照先オブジェクトのクラスの完全指定された名前を含みます。
関連項目:
Class.getName()

addrs

protected Vector addrs
この Reference に含まれるアドレスを含みます。コンストラクタで初期化されます。

classFactory

protected String classFactory
この Reference の参照先オブジェクトのインスタンスを作成するファクトリクラスの名前を含みます。null に初期化されます。

classFactoryLocation

protected String classFactoryLocation
ファクトリクラスの位置を含みます。null に初期化されます。
コンストラクタの詳細

Reference

public Reference(String className)
クラス名が「className」のオブジェクトに対する新しい参照を構築します。クラスファクトリおよびクラスファクトリ位置は null に設定されます。新しく作成された参照には、ゼロアドレスが含まれます。
パラメータ:
className - この参照の参照先オブジェクトの null 以外のクラス名

Reference

public Reference(String className,
                 RefAddr addr)
クラス名が「className」のオブジェクトに対して新しい参照を構築します。クラスファクトリおよびクラスファクトリ位置は null に設定されます。
パラメータ:
className - この参照の参照先オブジェクトの null 以外のクラス名
addr - オブジェクトの null 以外のアドレス

Reference

public Reference(String className,
                 String factory,
                 String factoryLocation)
クラス名が「className」のオブジェクト、およびオブジェクトのファクトリのクラス名と位置に対して新しい参照を構築します。
パラメータ:
className - この参照の参照先オブジェクトの null 以外のクラス名
factory - null の可能性がある、オブジェクトのファクトリのクラス名
factoryLocation - null の可能性がある、ファクトリをロードする位置 (URL など)
関連項目:
ObjectFactory, NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)

Reference

public Reference(String className,
                 RefAddr addr,
                 String factory,
                 String factoryLocation)
クラス名が「className」のオブジェクト、オブジェクトのファクトリのクラス名と位置、およびオブジェクトのアドレスに対する新しい参照を構築します。
パラメータ:
className - この参照の参照先オブジェクトの null 以外のクラス名
factory - null の可能性がある、オブジェクトのファクトリのクラス名
factoryLocation - null の可能性がある、ファクトリをロードする位置 (URL など)
addr - オブジェクトの null 以外のアドレス
関連項目:
ObjectFactory, NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)
メソッドの詳細

getClassName

public String getClassName()
この参照の参照先オブジェクトのクラス名を取り出します。
戻り値:
オブジェクトの null 以外の完全指定されたクラス名 (「java.lang.String」など)

getFactoryClassName

public String getFactoryClassName()
この参照の参照先オブジェクトのファクトリのクラス名を取り出します。
戻り値:
null の可能性がある、ファクトリの完全指定されたクラス名 (「java.lang.String」など)

getFactoryClassLocation

public String getFactoryClassLocation()
この参照の参照先オブジェクトのファクトリの位置を取り出します。ファクトリの位置がコードベースの場合は、スペースで区切られ、順序付けられた URL のリストになり、ファクトリクラス定義がロードされる位置が示されます。
戻り値:
null の可能性がある、ファクトリのクラスにロードするための位置を含んだ文字列

get

public RefAddr get(String addrType)
アドレス型「addrType」をもつ最初のアドレスを取り出します。String.compareTo() を使用して、アドレス型が等しいかどうかをテストします。
パラメータ:
addrType - アドレスの検索対象となる null 以外のアドレス型
戻り値:
アドレス型が「addrType」のこの参照内のアドレス。そのようなアドレスが存在しない場合は null

get

public RefAddr get(int posn)
インデックスにあるアドレスを取り出します。
パラメータ:
posn - 取り出すアドレスのインデックス
戻り値:
0 から始まるインデックスのアドレス。このアドレスは、範囲 [0,getAddressCount()] 内にする必要がある
例外:
ArrayIndexOutOfBoundsException - 位置が指定した範囲にない場合

getAll

public Enumeration getAll()
この参照内のアドレスの列挙を取り出します。アドレスを追加、変更またはこの参照から削除しても、この列挙に対する効果は保証されません。
戻り値:
この参照内のアドレス (RefAddr) の null 以外の列挙。この参照にゼロアドレスが含まれる場合は、ゼロ要素のある列挙が返されます。

size

public int size()
この参照内のアドレス数を取り出します。
戻り値:
この参照内の負でないアドレス数

add

public void add(RefAddr addr)
アドレスリストの末尾にアドレスを追加します。
パラメータ:
addr - 追加する null 以外のアドレス

add

public void add(int posn,
                RefAddr addr)
インデックスのアドレスリストにアドレスを追加します。インデックス以降のすべてのアドレスは、リストの上へ (インデックス 0 とは逆の方向に) 1 つずつシフトされます。
パラメータ:
posn - addr を挿入するリストの 0 から始まるインデックス
addr - 追加する null 以外のアドレス
例外:
ArrayIndexOutOfBoundsException - 位置が指定した範囲にない場合

remove

public Object remove(int posn)
アドレスのリストからインデックスにあるアドレスを削除します。位置を超えたインデックスにあるすべてのアドレスは、リストの下 (インデックス 0 方向へ) へ 1 つずつシフトされます。
パラメータ:
posn - 削除するアドレス内の 0 から始まる索引
戻り値:
削除されるアドレス
例外:
ArrayIndexOutOfBoundsException - 位置が指定した範囲にない場合

clear

public void clear()
この参照からすべてのアドレスを削除します。

equals

public boolean equals(Object obj)
obj がこの参照と (同じ順序の) 同じアドレスをもつ参照であるかどうかを判別します。アドレスは RefAddr.equals() を使用してチェックされます。同じアドレス以外に、Reference ではこの参照と同じクラス名をもつことが必要です。クラスファクトリおよびクラスファクトリ位置はチェックされません。obj が null または Reference のインスタンス以外の場合は、null が返されます。
オーバーライド:
クラス Object 内の equals
パラメータ:
obj - null の可能性があるチェック対象オブジェクト
戻り値:
obj がこの参照と等しい場合は true、そうでない場合は false

hashCode

public int hashCode()
この参照のハッシュコードを計算します。ハッシュコードとは、そのアドレスのハッシュコードの合計です。
オーバーライド:
クラス Object 内の hashCode
戻り値:
int としてのこの参照のハッシュコード

toString

public String toString()
この参照の文字列表記を生成します。文字列はこの参照の参照先クラス名、およびその各アドレスの文字列表記で構成されます。この表記は、表示専用で使用され、解析には使用されません。
オーバーライド:
クラス Object 内の toString
戻り値:
この参照の null 以外の文字列表現

clone

public Object clone()
アドレスのクラス名リスト、クラスファクトリ名およびクラスファクトリ位置を使用して、この参照のコピーを作成します。新しく作成したコピーに変更を加えてもこの Reference には影響ありません。また逆の場合も同じです。
オーバーライド:
クラス Object 内の clone
クラス java.lang.Object からコピーされたタグ:
戻り値:
このインスタンスの複製
例外:
CloneNotSupportedException - オブジェクトのクラスが Cloneable インタフェースをサポートしていない場合。clone メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある
OutOfMemoryError - 十分なメモリがない場合
関連項目:
Cloneable

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.