JavaTM Platform
Standard Ed. 6

java.net
クラス CookieManager

java.lang.Object
  上位を拡張 java.net.CookieHandler
      上位を拡張 java.net.CookieManager

public class CookieManager
extends CookieHandler

CookieManager は CookieHandler の具象実装を提供し、Cookie の記憶領域と Cookie の受け入れ/拒否に関するポリシーとを分離します。CookieManager は、記憶領域を管理する CookieStore と、Cookie の受け入れ/拒否に関するポリシー決定を行う CookiePolicy オブジェクトとを使って初期化されます。  

java.net パッケージにおける HTTP Cookie 管理は、次のようになっています。

 
                  use
 CookieHandler <------- HttpURLConnection
       ^
       | impl
       |         use
 CookieManager -------> CookiePolicy
             |   use
             |--------> HttpCookie
             |              ^
             |              | use
             |   use        |
             |--------> CookieStore
                            ^
                            | impl
                            |
                  Internal in-memory implementation
 
 

ユーザーが独自の HTTP Cookie 管理動作を組み込む方法としては、さまざまなものが考えられます。次に例を示します。

 

この実装は、RFC 2965 のセクション 3.3 に準拠しています。

導入されたバージョン:
1.6

コンストラクタの概要
CookieManager()
          新しい Cookie マネージャーを作成します。
CookieManager(CookieStore store, CookiePolicy cookiePolicy)
          指定された Cookie ストアと Cookie ポリシーを使って新しい Cookie マネージャーを作成します。
 
メソッドの概要
 Map<String,List<String>> get(URI uri, Map<String,List<String>> requestHeaders)
          要求ヘッダー内に指定された URI の Cookie キャッシュから適用可能なすべての Cookie を取得します。
 CookieStore getCookieStore()
          現在の Cookie ストアを取得するためのもの。
 void put(URI uri, Map<String,List<String>> responseHeaders)
          応答ヘッダー内に存在する Set-Cookie2 という名前の応答ヘッダーフィールドなど、適用可能なすべての Cookie を Cookie キャッシュ内に設定します。
 void setCookiePolicy(CookiePolicy cookiePolicy)
          この Cookie マネージャーの Cookie ポリシーを設定するためのもの。
 
クラス java.net.CookieHandler から継承されたメソッド
getDefault, setDefault
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CookieManager

public CookieManager()
新しい Cookie マネージャーを作成します。  

このコンストラクタは、デフォルトの Cookie ストアと受け入れポリシーを使って新しい Cookie マネージャーを作成します。その効果は CookieManager(null, null) と同じです。


CookieManager

public CookieManager(CookieStore store,
                     CookiePolicy cookiePolicy)
指定された Cookie ストアと Cookie ポリシーを使って新しい Cookie マネージャーを作成します。

パラメータ:
store - Cookie マネージャーが使用すべき CookieStorenull の場合、Cookie マネージャーはデフォルトのインメモリー CookieStore 実装を使用する
cookiePolicy - Cookie マネージャーがポリシーコールバックとして使用すべき CookiePolicy インスタンス。null の場合、ACCEPT_ORIGINAL_SERVER が使用される
メソッドの詳細

setCookiePolicy

public void setCookiePolicy(CookiePolicy cookiePolicy)
この Cookie マネージャーの Cookie ポリシーを設定するためのもの。  

CookieManager のインスタンスはデフォルトで、Cookie ポリシー ACCEPT_ORIGINAL_SERVER を持ちます。ユーザーはいつでもこのメソッドを呼び出して別の Cookie ポリシーを設定できます。

パラメータ:
cookiePolicy - Cookie ポリシー。null も可能であるが、これは現在の Cookie ポリシーに何の効果も持たない

getCookieStore

public CookieStore getCookieStore()
現在の Cookie ストアを取得するためのもの。

戻り値:
Cookie マネージャーが現在使用している Cookie ストア

get

public Map<String,List<String>> get(URI uri,
                                    Map<String,List<String>> requestHeaders)
                             throws IOException
クラス CookieHandler の記述:
要求ヘッダー内に指定された URI の Cookie キャッシュから適用可能なすべての Cookie を取得します。 HTTP プロトコルの実装者は、Cookie の選択に関係するすべての要求ヘッダーが追加されてから要求が送信されるまでの間に、必ずこのメソッドが呼び出されるようにしてください。

定義:
クラス CookieHandler 内の get
パラメータ:
uri - 要求時に Cookie の送信先となる URI
requestHeaders - 要求ヘッダーフィールド名からフィールド値のリストへの Map。これは現在の要求ヘッダーを表す
戻り値:
フィールド名「Cookie」または「Cookie2」を持つ状態管理ヘッダーから状態情報が格納された Cookie のリストへの不変のマップ
例外:
IOException - 入出力エラーが発生した場合
関連項目:
CookieHandler.put(URI, Map)

put

public void put(URI uri,
                Map<String,List<String>> responseHeaders)
         throws IOException
クラス CookieHandler の記述:
応答ヘッダー内に存在する Set-Cookie2 という名前の応答ヘッダーフィールドなど、適用可能なすべての Cookie を Cookie キャッシュ内に設定します。

定義:
クラス CookieHandler 内の put
パラメータ:
uri - Cookie の生成元の URI
responseHeaders - フィールド名からフィールド値のリストへの不変のマップ。これは返された応答ヘッダーフィールドを表す
例外:
IOException - 入出力エラーが発生した場合
関連項目:
CookieHandler.get(URI, Map)

JavaTM Platform
Standard Ed. 6

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

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