java.lang.Object
java.net.URLStreamHandler
public abstract class URLStreamHandler extends Object
抽象クラス
URLStreamHandlerは、すべてのストリーム・プロトコル・ハンドラに共通のスーパー・クラスです。 ストリーム・プロトコル・ハンドラは、httpやhttpsなど、特定のプロトコル・タイプでの接続の確立方法を知っています。
ほとんどの場合、URLStreamHandlerサブクラスのインスタンスがアプリケーションによって直接作成されることはありません。 そうではなく、URL構築時にプロトコル名が初めて検出された際に、適切なストリーム・プロトコル・ハンドラが自動的にロードされます。
- 導入されたバージョン:
- 1.0
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明protected booleanデフォルトの等価計算を提供します。protected intこのハンドラが構文解析するURLのデフォルトのポートを返します。protected InetAddressホストのIPアドレスを取得します。protected intデフォルトのハッシュ計算を提供します。protected booleanhostsEqual(URL u1, URL u2) 2つのURLのホスト・コンポーネントを比較します。protected abstract URLConnectionURL引数によって参照されるオブジェクトへの接続をオープンします。protected URLConnectionopenConnection(URL u, Proxy p) openConnection(URL)とほぼ同じですが、接続の確立が指定されたプロキシ経由で行われる点が異なります。プロキシ処理をサポートしないプロトコル・ハンドラは、プロキシのパラメータを無視し、通常の接続を確立します。protected voidURLの文字列表現をURLオブジェクトに構文解析します。protected boolean2つのURLを比較し、両者が同じファイルを参照しているかどうか、つまり同じプロトコル、ホスト、ポート、およびパスを持つかどうかを確認します。protected void非推奨。setURL(URL、String、int、String、String、String、String)を使用してください。protected voidsetURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) URL引数の各フィールドを指定された値に設定します。protected String特定のプロトコルのURLをStringに変換します。
-
コンストラクタの詳細
-
URLStreamHandler
public URLStreamHandler()サブクラスが呼び出すためのコンストラクタ。
-
-
メソッドの詳細
-
openConnection
protected abstract URLConnection openConnection(URL u) throws IOException URL引数によって参照されるオブジェクトへの接続をオープンします。 サブクラスはこのメソッドをオーバーライドする必要があります。HTTPやJARといったハンドラのプロトコルごとに一般または特殊なURLConnectionサブクラスが存在しており、そのサブクラスは次のパッケージまたはそのサブパッケージのいずれかに属します。java.lang、java.io、java.util, java.net。返される接続の型は、そのサブクラスになります。 たとえば、HTTPの場合はHttpURLConnectionが返され、JARの場合はJarURLConnectionが返されます。
- パラメータ:
u- 接続先のURL。- 戻り値:
URLに対するURLConnectionオブジェクト。- 例外:
IOException- 接続のオープン中に入出力エラーが発生した場合。
-
openConnection
protected URLConnection openConnection(URL u, Proxy p) throws IOException openConnection(URL)とほぼ同じですが、接続の確立が指定されたプロキシ経由で行われる点が異なります。プロキシ処理をサポートしないプロトコル・ハンドラは、プロキシのパラメータを無視し、通常の接続を確立します。このメソッドを呼び出すと、システムのデフォルトの
ProxySelector設定が優先されます。- 実装要件:
- このメソッドのデフォルト実装では、最初に特定の
URLおよびProxyがnullでないことがチェックされた後、UnsupportedOperationExceptionがスローされます。 サブクラスは、このメソッドを適切な実装でオーバーライドする必要があります。 - パラメータ:
u- 接続先のURL。p−接続の確立に使用されるプロキシ。 直接接続を行いたい場合はProxy.NO_PROXYを指定すべきである。- 戻り値:
URLに対するURLConnectionオブジェクト。- 例外:
IOException- 接続のオープン中に入出力エラーが発生した場合。IllegalArgumentException−u、pのいずれかがnullであるか、pの型が正しくない場合。UnsupportedOperationException−プロトコルを実装するサブクラスがこのメソッドをサポートしない場合。- 導入されたバージョン:
- 1.5
-
parseURL
URLの文字列表現をURLオブジェクトに構文解析します。継承されるパスがある場合は、
URL引数にすでにコピーされています。URLStreamHandlerのparseURLメソッドは、文字列表現をhttp指定とみなして構文解析します。 URLプロトコル・ファミリの大部分では、類似の構文解析が行われます。 異なる構文を持つプロトコルのストリーム・プロトコル・ハンドラは、このルーチンをオーバーライドする必要があります。- パラメータ:
u−指定の構文解析結果を受け取るURL。spec−構文解析すべきURLを表すString。start−構文解析の開始位置を示す文字インデックス。 これはプロトコル名の確定を表す「:」(存在する場合)の直後にあります。limit-構文解析を終了すべき文字位置。 これが文字列の末尾です。「#」文字が存在する場合はその位置です。 シャープ記号の後にある情報はすべて、アンカーを示す。- 例外:
IllegalArgumentException- プロトコル・ハンドラの実装が、指定されたパラメータのいずれかを拒否した場合NullPointerException-uがnullの場合、またはstart < limitおよびspecがnullの場合
-
getDefaultPort
protected int getDefaultPort()このハンドラが構文解析するURLのデフォルトのポートを返します。 このメソッドは、デフォルトのポート番号のハンドラでオーバーライドされることを意図しています。- 戻り値:
- このハンドラが構文解析する
URLのデフォルトのポート。 - 導入されたバージョン:
- 1.3
-
equals
デフォルトの等価計算を提供します。 equals()の要件が異なるほかのプロトコルでは、ハンドラによってオーバーライドされることがあります。 このメソッドは、どちらの引数もnullでないことを必要とします。 java.net.URLクラスだけがこのメソッドを呼び出すため、このことは保証されています。- パラメータ:
u1- URLオブジェクトu2- URLオブジェクト- 戻り値:
true、2つのURLが等しいと見なされる場合、つまり、同じファイルの同じfragmentを参照している場合。- 導入されたバージョン:
- 1.3
-
hashCode
protected int hashCode(URL u) デフォルトのハッシュ計算を提供します。 hashCode計算の要件が異なるほかのプロトコルでは、ハンドラによってオーバーライドされることがあります。- パラメータ:
u- URLオブジェクト- 戻り値:
- ハッシュ表のインデックス付けに適した
int - 導入されたバージョン:
- 1.3
-
sameFile
2つのURLを比較し、両者が同じファイルを参照しているかどうか、つまり同じプロトコル、ホスト、ポート、およびパスを持つかどうかを確認します。 このメソッドは、どちらの引数もnullでないことを必要とします。 java.net.URLクラスだけがこのメソッドを呼び出すため、このことは保証されています。- パラメータ:
u1- URLオブジェクトu2- URLオブジェクト- 戻り値:
- u1とu2が同じファイルを参照する場合、true
- 導入されたバージョン:
- 1.3
-
getHostAddress
protected InetAddress getHostAddress(URL u) ホストのIPアドレスを取得します。 ホスト・フィールドが空であるかDNSで問題が発生した場合には、nullが返されます。- パラメータ:
u- URLオブジェクト- 戻り値:
- ホストのIPアドレスを表す
InetAddress。 - 導入されたバージョン:
- 1.3
-
hostsEqual
2つのURLのホスト・コンポーネントを比較します。- パラメータ:
u1−比較する最初のホストのURLu2−比較する第2のホストのURL- 戻り値:
- それらが等しい場合のみ
true、それ以外の場合はfalse。 - 導入されたバージョン:
- 1.3
-
toExternalForm
特定のプロトコルのURLをStringに変換します。- パラメータ:
u- URL。- 戻り値:
URL引数の文字列表現。
-
setURL
protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref) URL引数の各フィールドを指定された値に設定します。 このメソッドを使用してURLのフィールドの値を設定できるのは、URLStreamHandlerの派生クラスだけです。- パラメータ:
u- 修正するURL。protocol- プロトコル名。host- URLのリモート・ホスト値。port- リモート・マシン上のポート。authority−URLの権限部分。userInfo−URLのユーザー情報部分。path−URLのパス・コンポーネント。query−URLのクエリー部分。ref- 参照。- 例外:
SecurityException- このURLのプロトコル・ハンドラがこのハンドラとは異なる場合IllegalArgumentException- プロトコル・ハンドラの実装が、指定されたパラメータのいずれかを拒否した場合NullPointerException-uがnullの場合- 導入されたバージョン:
- 1.3
-
setURL
@Deprecated protected void setURL(URL u, String protocol, String host, int port, String file, String ref) 非推奨。setURL(URL、String、int、String、String、String、String)を使用してください。URL引数の各フィールドを指定された値に設定します。 このメソッドを使用してURLのフィールドの値を設定できるのは、URLStreamHandlerの派生クラスだけです。- パラメータ:
u- 修正するURL。protocol- プロトコル名。 1.2以降、この値は無視される。host- URLのリモート・ホスト値。port- リモート・マシン上のポート。file- ファイル。ref- 参照。- 例外:
SecurityException- このURLのプロトコル・ハンドラがこのハンドラとは異なる場合IllegalArgumentException- プロトコル・ハンドラの実装が、指定されたパラメータのいずれかを拒否した場合NullPointerException-uがnullの場合
-