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:
- Digit
- Digits
- Digit:
Character.isDigit(char)
がtrue
を返す任意の文字 (0、1、2 など)
実装のタイトル、バージョン、およびベンダー文字列は実装を特定し、問題が発生したときに影響を受けるパッケージを正確に報告できるようにします。3 つの実装文字列の内容はすべて、ベンダー固有です。実装バージョン文字列には指定された構文はなく、目的のバージョン識別子と等価かどうかの比較だけが行われます。
各 ClassLoader
インスタンス内では、同じ Java パッケージからのすべてのクラスが同じ Package オブジェクトを持ちます。static メソッドにより、名前、または検索対象の現在のクラスローダーに知られているすべてのパッケージのセットで、パッケージを検索できます。
修飾子と型 | メソッドと説明 |
---|---|
<A extends Annotation> |
getAnnotation(Class<A> annotationClass)
存在する場合は、この要素の指定された型の注釈を返し、そうでない場合は null を返します。
|
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 の文字列表現を返します。
|
public String getName()
java.lang
public String getSpecificationTitle()
public String getSpecificationVersion()
public String getSpecificationVendor()
public String getImplementationTitle()
public String getImplementationVersion()
public String getImplementationVendor()
public boolean isSealed()
public boolean isSealed(URL url)
url
- コードソース URLpublic boolean isCompatibleWith(String desired) throws NumberFormatException
バージョン番号は、目的の文字列と仕様の文字列の対応するコンポーネントを順番に比較することによって比較されます。各コンポーネントは 10 進整数として変換され、値として比較されます。仕様の値が目的の値より大きい場合、true が返されます。値が目的の値より小さい場合、false が返されます。値が等しい場合、ピリオドはスキップされ、次のコンポーネントのペアが比較されます。
desired
- 目的のバージョンのバージョン文字列。NumberFormatException
- 目的のバージョンまたは現在のバージョンがドットで区切られた正しい形式でない場合。public static Package getPackage(String name)
ClassLoader
インスタンス内の名前でパッケージを検索します。呼び出し側の ClassLoader
インスタンスは、指定されたクラスに対応するパッケージインスタンスを検索するために使用されます。呼び出し側の ClassLoader
インスタンスが null の場合、システムの ClassLoader
インスタンスによりロードされたパッケージのセットが検索されて、指定されたパッケージが検索されます。 パッケージは、クラスローダーが適切な属性を持つパッケージインスタンスを生成した場合にだけ、バージョンと仕様の属性を持ちます。通常、それらの属性は、クラスに付属するマニフェストに定義されます。
name
- パッケージ名、たとえば、java.lang。public static Package[] getPackages()
ClassLoader
インスタンスとして現在知られているすべてのパッケージを取得します。それらのパッケージは、その ClassLoader
インスタンスによってロードされたクラス、またはそのインスタンスに名前でアクセスできるクラスに相当します。呼び出し側の ClassLoader
インスタンスが、実装によっては null
で表されることがあるブートストラップ ClassLoader
インスタンスである場合、ブートストラップ ClassLoader
インスタンスによりロードされるクラスに対応するパッケージだけが返されます。ClassLoader
インスタンスに認識されているパッケージの新しい配列。認識されているものがない場合、長さがゼロの配列が返される。public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
AnnotatedElement
getAnnotation
、インタフェース: AnnotatedElement
annotationClass
- 注釈型に対応する Class オブジェクトNullPointerException
- 指定された注釈クラスが null の場合public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
AnnotatedElement
isAnnotationPresent
、インタフェース: AnnotatedElement
annotationClass
- 注釈型に対応する Class オブジェクトNullPointerException
- 指定された注釈クラスが null の場合public Annotation[] getAnnotations()
AnnotatedElement
getAnnotations
、インタフェース: AnnotatedElement
public Annotation[] getDeclaredAnnotations()
AnnotatedElement
getDeclaredAnnotations
、インタフェース: AnnotatedElement
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.