JavaTM Platform
Standard Ed. 6

java.lang
クラス Package

java.lang.Object
  上位を拡張 java.lang.Package
すべての実装されたインタフェース:
AnnotatedElement

public class Package
extends Object
implements AnnotatedElement

Package オブジェクトには、Java パッケージの実装と仕様に関するバージョン情報が含まれます。このバージョン管理情報は、クラスをロードした ClassLoader インスタンスにより取得され、使用可能になります。通常、クラスにより分散されるマニフェスト内に格納されます。

パッケージを構成するクラスのセットは特定の仕様を実装する場合があり、その場合は仕様タイトル、バージョン番号、およびベンダー文字列がその仕様を特定します。アプリケーションは、パッケージが特定のバージョンと互換性があるかどうかを確認できます。詳細は、isCompatibleWith メソッドを参照してください。

仕様のバージョン番号は、正の 10 進数の整数からなり、「2.0」や「1.2.3.4.5.6.7」のようにピリオドで区切られています。この形式によって、メジャー、マイナー、マイクロなどのバージョンを表現するように、番号を拡張することができます。仕様のバージョン番号は、次の正規文法によって記述されます。

SpecificationVersion:
Digits RefinedVersionopt

RefinedVersion:
. Digits
. Digits RefinedVersion

Digits:
数字
Digits

Digit:
Character.isDigit(char)true を返す任意の文字 (0、1、2 など)

実装のタイトル、バージョン、およびベンダー文字列は実装を特定し、問題が発生したときに影響を受けるパッケージを正確に報告できるようにします。3 つの実装文字列の内容はすべて、ベンダー固有です。実装バージョン文字列には指定された構文はなく、目的のバージョン識別子と等価かどうかの比較だけが行われます。

ClassLoader インスタンス内では、同じ Java パッケージからのすべてのクラスが同じ Package オブジェクトを持ちます。static メソッドにより、名前、または検索対象の現在のクラスローダーに知られているすべてのパッケージのセットで、パッケージを検索できます。

関連項目:
ClassLoader.definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL)

メソッドの概要
<A extends Annotation>
A
getAnnotation(Class<A> annotationClass)
          指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。
 Annotation[] getAnnotations()
          この要素に存在するすべての注釈を返します (この要素に注釈がない場合は長さゼロの配列を返します)。
 Annotation[] getDeclaredAnnotations()
          この要素に直接存在するすべての注釈を返します。
 String getImplementationTitle()
          このパッケージのタイトルを返します。
 String getImplementationVendor()
          この実装を提供した組織、ベンダー、または会社の名前を返します。
 String getImplementationVersion()
          この実装のバージョンを返します。
 String getName()
          このパッケージの名前を返します。
static Package getPackage(String name)
          呼び出し側の ClassLoader インスタンス内の名前でパッケージを検索します。
static Package[] getPackages()
          呼び出し側の ClassLoader インスタンスとして現在知られているすべてのパッケージを取得します。
 String getSpecificationTitle()
          このパッケージが実装する仕様のタイトルを返します。
 String getSpecificationVendor()
          このパッケージを実装するクラスの仕様を所有して保持する組織、ベンダー、または会社の名前を返します。
 String getSpecificationVersion()
          このパッケージが実装する仕様のバージョン番号を返します。
 int hashCode()
          パッケージ名から計算されたハッシュコードを返します。
 boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
          指定された型の注釈がこの要素に存在する場合は true を返し、そうでない場合は false を返します。
 boolean isCompatibleWith(String desired)
          このパッケージの仕様のバージョンを目的のバージョンと比較します。
 boolean isSealed()
          このパッケージがシールされる場合は、true を返します。
 boolean isSealed(URL url)
          このパッケージが指定されたコードソース URL に対してシールされる場合は、true を返します。
 String toString()
          この Package の文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

メソッドの詳細

getName

public String getName()
このパッケージの名前を返します。

戻り値:
『Java 言語仕様、第 3 版』の §6.5.3 に定義されている、このパッケージの完全修飾名。たとえば、java.lang

getSpecificationTitle

public String getSpecificationTitle()
このパッケージが実装する仕様のタイトルを返します。

戻り値:
仕様タイトル、不明な場合は null

getSpecificationVersion

public String getSpecificationVersion()
このパッケージが実装する仕様のバージョン番号を返します。このバージョン番号は、「.」で区切られた一連の正の 10 進数の整数でなければならず、先頭にゼロが付くことがあります。バージョン文字列が比較されると、最上位番号が比較されます。

戻り値:
仕様のバージョン番号、不明な場合は null

getSpecificationVendor

public String getSpecificationVendor()
このパッケージを実装するクラスの仕様を所有して保持する組織、ベンダー、または会社の名前を返します。

戻り値:
仕様のベンダー、不明な場合は null

getImplementationTitle

public String getImplementationTitle()
このパッケージのタイトルを返します。

戻り値:
実装のタイトル、不明な場合は null

getImplementationVersion

public String getImplementationVersion()
この実装のバージョンを返します。この実装のベンダーによって割り当てられた文字列からなり、Java 実行時には特定の構文は指定または予期されません。これは、このパッケージのベンダーによる実装で使用されるその他のパッケージバージョン文字列と等価かどうが比較されることがあります。

戻り値:
実装のバージョン、不明な場合は null

getImplementationVendor

public String getImplementationVendor()
この実装を提供した組織、ベンダー、または会社の名前を返します。

戻り値:
このパッケージを実装したベンダー

isSealed

public boolean isSealed()
このパッケージがシールされる場合は、true を返します。

戻り値:
パッケージがシールされる場合は true、そうでない場合は false

isSealed

public boolean isSealed(URL url)
このパッケージが指定されたコードソース URL に対してシールされる場合は、true を返します。

パラメータ:
url - コードソース URL
戻り値:
このパッケージが URL に対してシールされる場合は true

isCompatibleWith

public boolean isCompatibleWith(String desired)
                         throws NumberFormatException
このパッケージの仕様のバージョンを目的のバージョンと比較します。このパッケージの仕様のバージョン番号が目的のバージョン番号以上の場合は、true が返されます。

バージョン番号は、目的の文字列と仕様の文字列の対応するコンポーネントを順番に比較することによって比較されます。各コンポーネントは 10 進整数として変換され、値として比較されます。仕様の値が目的の値より大きい場合、true が返されます。値が目的の値より小さい場合、false が返されます。値が等しい場合、ピリオドはスキップされ、次のコンポーネントのペアが比較されます。

パラメータ:
desired - 目的のバージョンのバージョン文字列
戻り値:
このパッケージのバージョン番号が目的のバージョン番号以上の場合は true
例外:
NumberFormatException - 目的のバージョンまたは現在のバージョンがドットで区切られた正しい形式でない場合

getPackage

public static Package getPackage(String name)
呼び出し側の ClassLoader インスタンス内の名前でパッケージを検索します。呼び出し側の ClassLoader インスタンスは、指定されたクラスに対応するパッケージインスタンスを検索するために使用されます。呼び出し側の ClassLoader インスタンスが null の場合、システムの ClassLoader インスタンスによりロードされたパッケージのセットが検索されて、指定されたパッケージが検索されます。

パッケージは、クラスローダーが適切な属性を持つパッケージインスタンスを生成した場合にだけ、バージョンと仕様の属性を持ちます。通常、それらの属性は、クラスに付属するマニフェストに定義されます。

パラメータ:
name - パッケージ名、たとえば、java.lang
戻り値:
要求された名前のパッケージ。アーカイブまたはコードベースからパッケージの情報が利用できない場合は、null になることがある

getPackages

public static Package[] getPackages()
呼び出し側の ClassLoader インスタンスとして現在知られているすべてのパッケージを取得します。それらのパッケージは、その ClassLoader インスタンスによってロードされたクラス、またはそのインスタンスに名前でアクセスできるクラスに相当します。呼び出し側の ClassLoader インスタンスが、実装によっては null で表されることがあるブートストラップ ClassLoader インスタンスである場合、ブートストラップ ClassLoader インスタンスによりロードされるクラスに対応するパッケージだけが返されます。

戻り値:
呼び出し側の ClassLoader インスタンスに認識されているパッケージの新しい配列 認識されているものがない場合、長さがゼロの配列が返される

hashCode

public int hashCode()
パッケージ名から計算されたハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
パッケージ名から計算されたハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
この Package の文字列表現を返します。この値は、文字列「package」とパッケージ名です。パッケージのタイトルが定義されている場合、それが付加されます。パッケージのバージョンが定義されている場合、それが付加されます。

オーバーライド:
クラス Object 内の toString
戻り値:
パッケージの文字列表現

getAnnotation

public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
インタフェース AnnotatedElement の記述:
指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。

定義:
インタフェース AnnotatedElement 内の getAnnotation
パラメータ:
annotationClass - 注釈型に対応する Class オブジェクト
戻り値:
存在する場合は、指定された注釈型の要素の注釈。 そうでない場合は null
例外:
NullPointerException - 指定された注釈クラスが null の場合
導入されたバージョン:
1.5

isAnnotationPresent

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
インタフェース AnnotatedElement の記述:
指定された型の注釈がこの要素に存在する場合は true を返し、そうでない場合は false を返します。このメソッドは、主にマーカー注釈への簡易アクセスを目的に設計されています。

定義:
インタフェース AnnotatedElement 内の isAnnotationPresent
パラメータ:
annotationClass - そうでない場合は null を返します。 注釈型に対応する Class オブジェクト
戻り値:
指定された注釈型の注釈がこの要素に存在する場合は true、そうでない場合は false
例外:
NullPointerException - 指定された注釈クラスが null の場合
導入されたバージョン:
1.5

getAnnotations

public Annotation[] getAnnotations()
インタフェース AnnotatedElement の記述:
この要素に存在するすべての注釈を返します (この要素に注釈がない場合は長さゼロの配列を返します)。この変更は、ほかの呼び出し元に返された配列に影響を及ぼしません。

定義:
インタフェース AnnotatedElement 内の getAnnotations
戻り値:
この要素に存在するすべての注釈
導入されたバージョン:
1.5

getDeclaredAnnotations

public Annotation[] getDeclaredAnnotations()
インタフェース AnnotatedElement の記述:
この要素に直接存在するすべての注釈を返します。このインタフェースにあるほかのメソッドとは異なり、このメソッドは継承された注釈を無視します (この要素に注釈が直接存在しない場合は長さゼロの配列を返す)。このメソッドの呼び出し元は、返された配列を自由に変更できます。この変更は、ほかの呼び出し元に返された配列に影響を及ぼしません。

定義:
インタフェース AnnotatedElement 内の getDeclaredAnnotations
戻り値:
この要素に直接存在するすべての注釈
導入されたバージョン:
1.5

JavaTM Platform
Standard Ed. 6

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

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