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