モジュール 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)
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    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で宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

  • メソッドの詳細

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