public abstract class XMLSignatureFactory extends Object
XMLSignatureオブジェクトを作成するため、または対応するXML表現からXMLSignatureオブジェクトを非整列化するためのファクトリ。
XMLSignatureFactoryの各インスタンスは、特定のXMLメカニズム型をサポートします。XMLSignatureFactoryを作成するには、static getInstanceメソッドの1つを呼び出し、目的のXMLメカニズム型を渡します。次に例を示します。
XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
このファクトリが生成するオブジェクトはDOMに基づいており、APIの概要の「DOMメカニズム要件」セクションで定義されているDOM相互運用性の要件に従う必要があります。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。
XMLSignatureFactory実装は、Providerメカニズムを使用して登録およびロードされます。たとえば、DOMメカニズムをサポートするサービス・プロバイダはProviderサブクラスで次のように指定されます。
put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
実装は、デフォルトのメカニズム・タイプDOMを最低限サポートする必要があります。
呼出し側は同じXMLSignatureFactoryインスタンスを使用して、生成される特定のXMLSignatureのXMLStructureを作成する必要があります。異なるプロバイダからのXMLStructureまたは異なるメカニズム型がともに使用される場合、動作は定義されていません。
また、このファクトリによって作成されるXMLStructureには、XMLSignatureに固有で再利用には対応していない状態が格納されます。
XMLSignatureFactoryが作成されると、オブジェクトは適切なメソッドを呼び出してインスタンス化できます。たとえば、Referenceインスタンスは、newReferenceメソッドの1つを呼び出すことで作成できます。
または、unmarshalXMLSignatureメソッドを呼び出してXMLコンテンツを格納するメカニズム固有のXMLValidateContextインスタンスを渡すことによって、既存のXML表現からXMLSignatureを作成できます。
DOMValidateContext context = new DOMValidateContext(key, signatureElement); XMLSignature signature = factory.unmarshalXMLSignature(context);各
XMLSignatureFactoryは、そのファクトリ型用に必須のXMLValidateContext型をサポートする必要がありますが、その他をサポートすることもできます。DOM XMLSignatureFactoryは、DOMValidateContextオブジェクトをサポートする必要があります。
XMLSignatureは、XMLSignatureオブジェクトのsignメソッドを呼び出して、署名鍵および整列化パラメータを格納するメカニズム固有のXMLSignContextオブジェクトを渡すことによって、XML表現に対して整列化し署名することもできます(DOMSignContextを参照)。次に例を示します。
DOMSignContext context = new DOMSignContext(privateKey, document);
signature.sign(context);
並行アクセス
このクラスのstaticメソッドは、スレッド・セーフであることが保証されています。このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。特定のプロバイダで特に説明がないかぎり、単一のXMLSignatureFactoryインスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。異なるXMLSignatureFactoryインスタンスを操作する複数スレッドは、同期化される必要はありません。
| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
XMLSignatureFactory()
デフォルトのコンストラクタ、サブクラスによる呼出し用。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
static XMLSignatureFactory |
getInstance()
デフォルトのXML処理メカニズムおよび表現型("DOM")をサポートする
XMLSignatureFactoryを返します。 |
static XMLSignatureFactory |
getInstance(String mechanismType)
指定されたXML処理メカニズムおよび表現の型(例: 「DOM」)をサポートする
XMLSignatureFactoryを返します。 |
static XMLSignatureFactory |
getInstance(String mechanismType, Provider provider)
指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートする
XMLSignatureFactoryを返します。 |
static XMLSignatureFactory |
getInstance(String mechanismType, String provider)
指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートする
XMLSignatureFactoryを返します。 |
KeyInfoFactory |
getKeyInfoFactory()
KeyInfoオブジェクトを作成するKeyInfoFactoryを返します。 |
String |
getMechanismType()
この
XMLSignatureFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。 |
Provider |
getProvider()
この
XMLSignatureFactoryのプロバイダを返します。 |
abstract URIDereferencer |
getURIDereferencer()
Referenceオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。 |
abstract boolean |
isFeatureSupported(String feature)
指定した機能がサポートされるかどうかを示します。
|
abstract CanonicalizationMethod |
newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params)
指定したアルゴリズムURIおよびパラメータ用に
CanonicalizationMethodを作成します。 |
abstract CanonicalizationMethod |
newCanonicalizationMethod(String algorithm, XMLStructure params)
指定したアルゴリズムURIおよびパラメータ用に
CanonicalizationMethodを作成します。 |
abstract DigestMethod |
newDigestMethod(String algorithm, DigestMethodParameterSpec params)
指定したアルゴリズムURIおよびパラメータ用に
DigestMethodを作成します。 |
abstract Manifest |
newManifest(List references)
指定された
Referenceのリストを格納するManifestを作成します。 |
abstract Manifest |
newManifest(List references, String id)
指定された
ReferenceのリストとオプションのIDを格納するManifestを作成します。 |
abstract Reference |
newReference(String uri, DigestMethod dm)
指定されたURIおよびダイジェスト・メソッドで
Referenceを作成します。 |
abstract Reference |
newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id)
指定したパラメータで
Referenceを作成します。 |
abstract Reference |
newReference(String uri, DigestMethod dm, List transforms, String type, String id)
指定したパラメータで
Referenceを作成します。 |
abstract Reference |
newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue)
指定されたパラメータおよびあらかじめ計算されたダイジェスト値で
Referenceを作成します。 |
abstract SignatureMethod |
newSignatureMethod(String algorithm, SignatureMethodParameterSpec params)
指定したアルゴリズムURIおよびパラメータ用に
SignatureMethodを作成します。 |
abstract SignatureProperties |
newSignatureProperties(List properties, String id)
指定された
SignaturePropertyのリストとオプションのIDを格納するSignaturePropertiesを作成します。 |
abstract SignatureProperty |
newSignatureProperty(List content, String target, String id)
指定した
XMLStructure、ターゲットURI、およびオプションのidのリストを格納するSignaturePropertyを作成します。 |
abstract SignedInfo |
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references)
指定した標準化メソッドおよび署名メソッド、1つ以上の参照のリストを使用して
SignedInfoを作成します。 |
abstract SignedInfo |
newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id)
指定したパラメータで
SignedInfoを作成します。 |
abstract Transform |
newTransform(String algorithm, TransformParameterSpec params)
指定したアルゴリズムURIおよびパラメータ用に
Transformを作成します。 |
abstract Transform |
newTransform(String algorithm, XMLStructure params)
指定したアルゴリズムURIおよびパラメータ用に
Transformを作成します。 |
abstract XMLObject |
newXMLObject(List content, String id, String mimeType, String encoding)
指定したパラメータから
XMLObjectを作成します。 |
abstract XMLSignature |
newXMLSignature(SignedInfo si, KeyInfo ki)
XMLSignatureを作成し、その内容を指定したSignedInfoオブジェクトおよびKeyInfoオブジェクトで初期化します。 |
abstract XMLSignature |
newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId)
指定したパラメータを使用して、
XMLSignatureを作成して初期化します。 |
abstract XMLSignature |
unmarshalXMLSignature(XMLStructure xmlStructure)
メカニズム固有の
XMLStructureインスタンスからの新しいXMLSignatureインスタンスを非整列化します。 |
abstract XMLSignature |
unmarshalXMLSignature(XMLValidateContext context)
メカニズム固有の
XMLValidateContextインスタンスからの新しいXMLSignatureインスタンスを非整列化します。 |
public static XMLSignatureFactory getInstance(String mechanismType)
XMLSignatureFactoryを返します。
このメソッドは標準JCAプロバイダ検索メカニズムを使用して、目的のメカニズム型のXMLSignatureFactory実装を検出およびインスタンス化します。登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。指定したメカニズムをサポートする最初のProviderからの新しいXMLSignatureFactoryオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。XMLSignatureFactoryNullPointerException - mechanismTypeがnullである場合NoSuchMechanismException - 指定したメカニズムのXMLSignatureFactory実装をサポートするProviderが存在しない場合Providerpublic static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
XMLSignatureFactoryを返します。指定したProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。provider - ProviderオブジェクトXMLSignatureFactoryNullPointerException - providerまたはmechanismTypeがnullの場合NoSuchMechanismException - 指定したメカニズム用のXMLSignatureFactory実装が指定したProviderオブジェクトで使用できない場合Providerpublic static XMLSignatureFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
XMLSignatureFactoryを返します。指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。provider - プロバイダ名の文字列名XMLSignatureFactoryNoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException - providerまたはmechanismTypeがnullの場合NoSuchMechanismException - 指定したメカニズム用のXMLSignatureFactory実装が指定したプロバイダで使用できない場合Providerpublic static XMLSignatureFactory getInstance()
XMLSignatureFactoryを返します。
このメソッドは標準JCAプロバイダ検索メカニズムを使用して、デフォルトのメカニズム型のXMLSignatureFactory実装を検出およびインスタンス化します。登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。DOMメカニズムをサポートする最初のProviderからの新しいXMLSignatureFactoryオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
XMLSignatureFactoryNoSuchMechanismException - DOMメカニズムのXMLSignatureFactory実装をサポートするProviderが存在しない場合Providerpublic final String getMechanismType()
XMLSignatureFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。XMLSignatureFactoryがサポートするXML処理メカニズム型public final Provider getProvider()
XMLSignatureFactoryのプロバイダを返します。XMLSignatureFactoryのプロバイダpublic abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
XMLSignatureを作成し、その内容を指定したSignedInfoオブジェクトおよびKeyInfoオブジェクトで初期化します。si - 署名情報ki - 鍵情報。nullも可XMLSignatureNullPointerException - siがnullである場合public abstract XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId)
XMLSignatureを作成して初期化します。si - 署名情報ki - 鍵情報。nullも可objects - XMLObjectのリスト。空またはnullも可id - Id。nullも可signatureValueId - SignatureValue Id。nullも可XMLSignatureNullPointerException - siがnullである場合ClassCastException - どのobjectsもXMLObject型ではない場合public abstract Reference newReference(String uri, DigestMethod dm)
Referenceを作成します。uri - 参照URI。nullも可dm - ダイジェスト・メソッドReferenceIllegalArgumentException - uriがRFC 2396に準拠していない場合NullPointerException - dmがnullである場合public abstract Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id)
Referenceを作成します。uri - 参照URI。nullも可dm - ダイジェスト・メソッドtransforms - Transformのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。type - 参照型、URIとして。nullも可id - 参照ID。nullも可ReferenceClassCastException - どのtransformsもTransform型ではない場合IllegalArgumentException - uriがRFC 2396に準拠していない場合NullPointerException - dmがnullである場合public abstract Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue)
Referenceを作成します。
このメソッドは、Referenceのダイジェスト値が以前に計算されていた場合に便利です。たとえば、OASIS-DSS (Digital Signature Services)仕様を参照してください。
uri - 参照URI。nullも可dm - ダイジェスト・メソッドtransforms - Transformのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。type - 参照型、URIとして。nullも可id - 参照ID。nullも可digestValue - ダイジェスト値。以後の変更から保護するために、この配列は複製される。ReferenceClassCastException - どのtransformsもTransform型ではない場合IllegalArgumentException - uriがRFC 2396に準拠していない場合NullPointerException - dmまたはdigestValueがnullの場合public abstract Reference newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id)
Referenceを作成します。
このメソッドは、変換のリストがすでにReferenceに対して適用されている場合に便利です。たとえば、OASIS-DSS (Digital Signature Services)仕様を参照してください。
この参照を含むXMLSignatureが生成される場合、指定したtransforms (nullでない場合)は指定したresultに適用されます。Reference要素の結果として得られるTransforms要素は、appliedTransformsとtransformsを連結したものに設定されます。
uri - 参照URI。nullも可dm - ダイジェスト・メソッドappliedTransforms - すでに適用されたTransformのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。リストには少なくとも1つのエントリが含まれている必要がある。result - appliedTransformsのシーケンスを処理した結果transforms - 署名を生成したときに適用されるTransformのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。type - 参照型、URIとして。nullも可id - 参照ID。nullも可ReferenceClassCastException - (どちらかのリストの)変換がどれもTransform型ではない場合IllegalArgumentException - uriがRFC 2396に準拠していない場合、またはappliedTransformsが空の場合NullPointerException - dm、appliedTransforms、またはresultがnullの場合public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references)
SignedInfoを作成します。cm - 標準化メソッドsm - 署名メソッドreferences - 1つ以上のReferenceのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。SignedInfoClassCastException - どの参照もReference型でない場合IllegalArgumentException - referencesが空である場合NullPointerException - いずれかのパラメータがnullの場合public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id)
SignedInfoを作成します。cm - 標準化メソッドsm - 署名メソッドreferences - 1つ以上のReferenceのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。id - Id。nullも可SignedInfoClassCastException - どの参照もReference型でない場合IllegalArgumentException - referencesが空である場合NullPointerException - cm、sm、またはreferencesがnullの場合public abstract XMLObject newXMLObject(List content, String id, String mimeType, String encoding)
XMLObjectを作成します。content - XMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。id - Id。nullも可mimeType - MIMEタイプ。nullも可encoding - エンコーディング。nullも可XMLObjectClassCastException - contentにXMLStructure型ではないエントリが含まれている場合public abstract Manifest newManifest(List references)
Referenceのリストを格納するManifestを作成します。references - 1つ以上のReferenceのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。ManifestNullPointerException - referencesがnullである場合IllegalArgumentException - referencesが空である場合ClassCastException - referencesにReference型ではないエントリが含まれている場合public abstract Manifest newManifest(List references, String id)
ReferenceのリストとオプションのIDを格納するManifestを作成します。references - 1つ以上のReferenceのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。id - Id。nullも可ManifestNullPointerException - referencesがnullである場合IllegalArgumentException - referencesが空である場合ClassCastException - referencesにReference型ではないエントリが含まれている場合public abstract SignatureProperty newSignatureProperty(List content, String target, String id)
XMLStructure、ターゲットURI、およびオプションのidのリストを格納するSignaturePropertyを作成します。content - 1つ以上のXMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。target - このプロパティの適用先のSignatureのターゲットURIid - Id。nullも可SignaturePropertyNullPointerException - contentまたはtargetがnullの場合IllegalArgumentException - contentが空である場合ClassCastException - contentにXMLStructure型ではないエントリが含まれている場合public abstract SignatureProperties newSignatureProperties(List properties, String id)
SignaturePropertyのリストとオプションのIDを格納するSignaturePropertiesを作成します。properties - 1つ以上のSignaturePropertyのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。id - Id。nullも可SignaturePropertiesNullPointerException - propertiesがnullである場合IllegalArgumentException - propertiesが空である場合ClassCastException - propertiesにSignatureProperty型ではないエントリが含まれている場合public abstract DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
DigestMethodを作成します。algorithm - ダイジェスト・アルゴリズムを識別するURIparams - アルゴリズム固有のダイジェスト・パラメータ。nullも可DigestMethodInvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public abstract SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
SignatureMethodを作成します。algorithm - 署名アルゴリズムを識別するURIparams - アルゴリズム固有の署名パラメータ。nullも可SignatureMethodInvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public abstract Transform newTransform(String algorithm, TransformParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transformを作成します。algorithm - 変換アルゴリズムを識別するURIparams - アルゴリズム固有の変換パラメータ。nullも可TransformInvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public abstract Transform newTransform(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Transformを作成します。パラメータはメカニズム固有のXMLStructureとして指定されます(例: DOMStructure)。このメソッドは、パラメータがXML形式でありパラメータ指定のための標準クラスがない場合に便利です。algorithm - 変換アルゴリズムを識別するURIparams - パラメータの非整列化を開始するメカニズム固有のXML構造。必須ではない場合またはオプションの場合はnullも可TransformClassCastException - paramsの型がこのXMLSignatureFactoryには不適切な場合InvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethodを作成します。algorithm - 標準化アルゴリズムを識別するURIparams - アルゴリズム固有の標準化パラメータ。nullも可CanonicalizationMethodInvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CanonicalizationMethodを作成します。パラメータはメカニズム固有のXMLStructureとして指定されます(例: DOMStructure)。このメソッドは、パラメータがXML形式でありパラメータ指定のための標準クラスがない場合に便利です。algorithm - 標準化アルゴリズムを識別するURIparams - パラメータの非整列化を開始するメカニズム固有のXML構造。必須ではない場合またはオプションの場合はnullも可CanonicalizationMethodClassCastException - paramsの型がこのXMLSignatureFactoryには不適切な場合InvalidAlgorithmParameterException - 指定されたパラメータが、要求されたアルゴリズムには不適切な場合NoSuchAlgorithmException - 指定されたアルゴリズムの実装が見つからない場合NullPointerException - algorithmがnullである場合public final KeyInfoFactory getKeyInfoFactory()
KeyInfoオブジェクトを作成するKeyInfoFactoryを返します。返されたKeyInfoFactoryは、このXMLSignatureFactoryと同じメカニズム型およびプロバイダを持ちます。KeyInfoFactoryNoSuchMechanismException - 同じメカニズム型およびプロバイダを持つKeyFactory実装が利用可能でない場合public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context) throws MarshalException
XMLValidateContextインスタンスからの新しいXMLSignatureインスタンスを非整列化します。context - 署名の非整列化を開始するメカニズム固有のコンテキストXMLSignatureNullPointerException - contextがnullである場合ClassCastException - contextの型がこのファクトリには不適切な場合MarshalException - 非整列化の実行中に回復不可能な例外が発生した場合public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure) throws MarshalException
XMLStructureインスタンスからの新しいXMLSignatureインスタンスを非整列化します。このメソッドは、XMLSignatureを非整列化するだけで検証しない場合に便利です。xmlStructure - 署名の非整列化を開始するメカニズム固有のXML構造XMLSignatureNullPointerException - xmlStructureがnullである場合ClassCastException - xmlStructureの型がこのファクトリには不適切な場合MarshalException - 非整列化の実行中に回復不可能な例外が発生した場合public abstract boolean isFeatureSupported(String feature)
feature - 機能名(絶対URIとして)true、そうでない場合はfalseNullPointerException - featureがnullである場合public abstract URIDereferencer getURIDereferencer()
Referenceオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。URIDereferencerへの参照。nullになることはない バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.