JavaTM Platform
Standard Ed. 6

java.net
クラス URLStreamHandler

java.lang.Object
  上位を拡張 java.net.URLStreamHandler

public abstract class URLStreamHandler
extends Object

abstract クラス URLStreamHandler は、すべてのストリームプロトコルハンドラに共通のスーパークラスです。ストリームプロトコルハンドラは、httpftpgopher など、特定のプロトコルタイプでの接続の確立方法を知っています。  

ほとんどの場合、URLStreamHandler サブクラスのインスタンスがアプリケーションによって直接作成されることはありません。そうではなく、URL 構築時にプロトコル名が初めて検出された際に、適切なストリームプロトコルハンドラが自動的にロードされます。

導入されたバージョン:
JDK1.0
関連項目:
URL.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)
          特定のプロトコルの URLString に変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

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 設定が横取りされます。

パラメータ:
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 引数にすでにコピーされています。  

URLStreamHandlerparseURL メソッドは、文字列表現を 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 オブジェクト
戻り値:
URL1 と URL2 が同じファイルを参照する場合、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 - 比較する最初のホストの URL
u2 - 比較する第 2 のホストの URL
戻り値:
それらが等しい場合のみ true、それ以外の場合は false
導入されたバージョン:
1.3

toExternalForm

protected String toExternalForm(URL u)
特定のプロトコルの URLString に変換します。

パラメータ:
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 の set メソッドを呼び出せるのは URLStreamHandler の派生クラスだけです。

パラメータ:
u - 修正する URL
protocol - プロトコル名
host - URL のリモートホスト値
port - リモートマシン上のポート
authority - URL の権限部分
userInfo - URL のユーザー情報部分
path - URL のパスコンポーネント
query - URL のクエリー部分
ref - 参照
例外:
SecurityException - この URL のプロトコルハンドラがこのハンドラとは異なる場合
導入されたバージョン:
1.3
関連項目:
URL.set(java.lang.String, java.lang.String, int, java.lang.String, java.lang.String)

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 の set メソッドを呼び出せるのは URLStreamHandler の派生クラスだけです。

パラメータ:
u - 修正する URL
protocol - プロトコル名1.2 以降、この値は無視される
host - URL のリモートホスト値
port - リモートマシン上のポート
file - ファイル
ref - 参照
例外:
SecurityException - この URL のプロトコルハンドラがこのハンドラとは異なる場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。