JavaTM 2
Platform
Std. Ed. v1.4.0

java.lang
クラス Package

java.lang.Object
  |
  +--java.lang.Package

public class Package
extends Object

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

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

仕様バージョンの番号には、正の 10 進整数をピリオド (.) で区切る構文の「デューイ 10 進分類法」を使用します。たとえば、「2.0」や「1.2.3.4.5.6.7」のようなバージョン番号を使います。これにより数字を拡張して、メジャーバージョン、マイナーバージョン、マイクロバージョンなどを表すことができます。バージョン番号は、数字で始まらなければなりません。

実装のタイトル、バージョン、およびベンダーを表す文字列は、実装を識別します。これらの文字列は、問題が発生した場合に、関連するパッケージの正確なレポートを有効にするために利用できます。実装に関する 3 つの文字列の内容は、すべてベンダーに固有のものです。実装バージョン文字列には、特定の構文はありません。したがって、必要なバージョンの識別子と等しいかどうかを調べることで、互換性のチェックをしてください。

それぞれのクラスローダ内では、同じ 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)

メソッドの概要
 String getImplementationTitle()
          このパッケージのタイトルを返します。
 String getImplementationVendor()
          この実装を提供した組織、ベンダー、または企業の名前を返します。
 String getImplementationVersion()
          この実装のバージョンを返します。
 String getName()
          パッケージの名前を返します。
static Package getPackage(String name)
          呼び出し元のクラスローダ内から、パッケージを名前で検索します。
static Package[] getPackages()
          呼び出し元のクラスローダが認識するすべてのパッケージを取得します。
 String getSpecificationTitle()
          このパッケージが実装する仕様のタイトルを返します。
 String getSpecificationVendor()
          このパッケージを実装するクラスの仕様を所有および管理している組織、ベンダー、または企業の名前を返します。
 String getSpecificationVersion()
          このパッケージが実装する仕様のバージョン番号を返します。
 int hashCode()
          パッケージ名からハッシュコードを求めて返します。
 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)
呼び出し元のクラスローダ内から、パッケージを名前で検索します。指定されたクラスに対応するパッケージのインスタンスの検索には、呼び出し元のクラスローダを使用します。呼び出し元のクラスローダが null の場合は、システムのクラスローダによってロードされたパッケージのセットから、指定されたパッケージを検索します。

クラスローダが適切な属性を受け取ってパッケージのインスタンスを生成した場合にだけ、パッケージはバージョンおよび仕様の属性を持ちます。通常、これらの属性はクラスに付随するマニフェスト内で定義されています。

パラメータ:
name - パッケージの名前。例: java.lang
戻り値:
要求された名前のパッケージ。アーカイブまたはコードベースからパッケージの情報が得られなかった場合は null の可能性もある

getPackages

public static Package[] getPackages()
呼び出し元のクラスローダが認識するすべてのパッケージを取得します。返されるパッケージは、そのクラスローダを介してロードされたクラス、またはそのクラスローダから名前でアクセスできるクラスに対応しています。呼び出し元のクラスローダがブートストラップクラスローダである場合 (実装によっては、null で表される) は、ブートストラップクラスローダによってロードされたクラスに対応するパッケージだけが返されます。

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

hashCode

public int hashCode()
パッケージ名からハッシュコードを求めて返します。

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

toString

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.