モジュール java.base
パッケージ java.net

クラスURLStreamHandler

java.lang.Object
java.net.URLStreamHandler

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

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

導入されたバージョン:
1.0
関連項目:
URL(java.lang.String, java.lang.String, int, java.lang.String)
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected boolean
    equals​(URL u1, URL u2)
    デフォルトの等価計算を提供します。
    protected int
    このハンドラが構文解析するURLのデフォルトのポートを返します。
    protected InetAddress
    ホストのIPアドレスを取得します。
    protected int
    hashCode​(URL u)
    デフォルトのハッシュ計算を提供します。
    protected boolean
    hostsEqual​(URL u1, URL u2)
    2つのURLのホスト・コンポーネントを比較します。
    protected abstract URLConnection
    URL引数によって参照されるオブジェクトへの接続をオープンします。
    protected URLConnection
    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
    特定のプロトコルの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設定が優先されます。

      実装要件:
      このメソッドのデフォルト実装では、最初に特定のURLおよびProxyがnullでないことがチェックされた後、 UnsupportedOperationExceptionがスローされます。 サブクラスは、このメソッドを適切な実装でオーバーライドする必要があります。
      パラメータ:
      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オブジェクト
      戻り値:
      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−比較する最初のホストの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のフィールドの値を設定できるのは、URLStreamHandlerの派生クラスだけです。
      パラメータ:
      u - 修正するURL。
      protocol - プロトコル名。
      host - URLのリモート・ホスト値。
      port - リモート・マシン上のポート。
      authority−URLの権限部分。
      userInfo−URLのユーザー情報部分。
      path−URLのパス・コンポーネント。
      query−URLのクエリー部分。
      ref - 参照。
      例外:
      SecurityException - このURLのプロトコル・ハンドラがこのハンドラとは異なる場合
      導入されたバージョン:
      1.3
    • setURL

      @Deprecatedprotected 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のプロトコル・ハンドラがこのハンドラとは異なる場合