- 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 boolean
equals(URL u1, URL u2)
デフォルトの等価計算を提供します。protected int
getDefaultPort()
このハンドラが構文解析するURLのデフォルトのポートを返します。protected InetAddress
getHostAddress(URL u)
ホストのIPアドレスを取得します。protected int
hashCode(URL u)
デフォルトのハッシュ計算を提供します。protected boolean
hostsEqual(URL u1, URL u2)
2つのURLのホスト・コンポーネントを比較します。protected abstract URLConnection
openConnection(URL u)
URL
引数によって参照されるオブジェクトへの接続をオープンします。protected URLConnection
openConnection(URL u, Proxy p)
openConnection(URL)とほぼ同じですが、接続の確立が指定されたプロキシ経由で行われる点が異なります。プロキシ処理をサポートしないプロトコル・ハンドラは、プロキシのパラメータを無視し、通常の接続を確立します。protected void
parseURL(URL u, String spec, int start, int limit)
URL
の文字列表現をURL
オブジェクトに構文解析します。protected boolean
sameFile(URL u1, URL u2)
2つのURLを比較し、両者が同じファイルを参照しているかどうか、つまり同じプロトコル、ホスト、ポート、およびパスを持つかどうかを確認します。protected void
setURL(URL u, String protocol, String host, int port, String file, String ref)
非推奨。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
toExternalForm(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オブジェクト- 戻り値:
true
、2つのURLが等しいと見なされる場合、つまり、同じファイルの同じfragmentを参照している場合。- 導入されたバージョン:
- 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、int、String、String、String、String)を使用してください。URL
引数の各フィールドを指定された値に設定します。 このメソッドを使用してURLのフィールドの値を設定できるのは、URLStreamHandlerの派生クラスだけです。- パラメータ:
u
- 修正するURL。protocol
- プロトコル名。 1.2以降、この値は無視される。host
- URLのリモート・ホスト値。port
- リモート・マシン上のポート。file
- ファイル。ref
- 参照。- 例外:
SecurityException
- このURLのプロトコル・ハンドラがこのハンドラとは異なる場合
-
-