モジュール java.base
パッケージ 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に変換します。
    • コンストラクタの詳細

      • 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オブジェクト
        戻り値:
        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

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