JavaTM 2 Platform
Standard Ed. 5.0

java.lang
クラス Package

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

public class Package
extends Object
implements AnnotatedElement

Package オブジェクトは、Java パッケージの実装および仕様についてのバージョン情報を保持します。このバージョン情報は、クラスをロードした ClassLoader インスタンスによって取り出されて、利用できるようになります。通常、バージョン情報はクラスと共に配布されるマニフェストに格納されています。

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

仕様バージョンの番号には、正の 10 進整数をピリオド (.) で区切る構文の「デューイ 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 メソッド群を使うと、名前でパッケージを探したり、現在のクラスローダが認識するすべてのパッケージを取得したりすることができます。

関連項目:
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)
          このパッケージの仕様バージョンを 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 言語でパッケージに使用するドット記法によるこのパッケージの名前。たとえば、java.lang


getSpecificationTitle

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

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


getSpecificationVersion

public String getSpecificationVersion()
このパッケージが実装する仕様のバージョン番号を返します。このバージョン文字列は、「.」で区切られた正の 10 進整数のシーケンスでなければなりません。文字列の先頭に、0 を付けることができます。バージョン文字列を比較する際には、もっとも重みの大きい数字を比較します。

戻り値:
仕様のバージョン番号、不明な場合は 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
このパッケージの仕様バージョンを desired で指定したバージョンと比較します。このメソッドは、パッケージの仕様バージョンが指定されたバージョン番号と同等またはそれ以上の場合に、true を返します。

バージョン番号の比較は、文字列 desired と仕様バージョンの文字列の対応する要素を順番に比べる方法で行います。各要素は、10 進整数に変換され値が比較されます。仕様バージョンの値が desired より大きい場合は、true が返されます。desired より小さい場合は、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 インスタンスから名前でアクセスできるクラスに対応しています。呼び出し元の ClassLoader インスタンスがブートストラップ ClassLoader インスタンスである場合 (実装によっては、null で表される) は、ブートストラップ ClassLoader インスタンスによってロードされたクラスに対応するパッケージだけが返されます。

戻り値:
呼び出し元の ClassLoader インスタンスが認識するすべてのパッケージの新しい配列。認識するパッケージがない場合は、長さ 0 の配列


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 の記述:
指定された型の注釈が存在する場合は、指定された型の要素の注釈を返します。そうでない場合は null を返します。

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

isAnnotationPresent

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

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

getAnnotations

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

定義:
インタフェース AnnotatedElement 内の getAnnotations
戻り値:
この要素に存在するすべての注釈

getDeclaredAnnotations

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

定義:
インタフェース AnnotatedElement 内の getDeclaredAnnotations
戻り値:
この要素に直接存在するすべての注釈

JavaTM 2 Platform
Standard Ed. 5.0

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

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