モジュール 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オブジェクト
        戻り値:
        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オブジェクト
        戻り値:
        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のプロトコル・ハンドラがこのハンドラとは異なる場合