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 boolean
hostsEqual
(URL u1, URL u2) 2つのURLのホスト・コンポーネントを比較します。protected abstract URLConnection
URL
引数によって参照されるオブジェクトへの接続をオープンします。protected URLConnection
openConnection
(URL u, Proxy p) openConnection(URL)とほぼ同じですが、接続の確立が指定されたプロキシ経由で行われる点が異なります。プロキシ処理をサポートしないプロトコル・ハンドラは、プロキシのパラメータを無視し、通常の接続を確立します。protected void
URL
の文字列表現をURL
オブジェクトに構文解析します。protected boolean
2つのURLを比較し、両者が同じファイルを参照しているかどうか、つまり同じプロトコル、ホスト、ポート、およびパスを持つかどうかを確認します。protected void
非推奨。setURL(URL、String、int、String、String、String、String)を使用してください。protected void
setURL
(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
の場合
-