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 인스턴스에 의해 취득되어 사용 가능하게 됩니다. 일반적으로, 클래스에 의해 분산되는 Manifest내에 포함됩니다.

패키지를 구성하는 클래스세트는 특정의 스펙을 구현하는 경우가 있어, 그 경우는 스펙 타이틀, 버젼 번호, 및 벤더 캐릭터 라인이 그 스펙을 특정합니다. 어플리케이션은, 패키지가 특정의 버젼과 호환성이 있을지 어떨지를 확인할 수 있습니다. 자세한 것은,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 인스턴스에 의해 로드 된 패키지세트가 검색되어, 지정된 패키지가 검색됩니다.

패키지는, 클래스 로더가 적절한 속성을 가지는 패키지 인스턴스를 생성했을 경우에만, 버젼과 스펙의 속성을 가집니다. 일반적으로, 그러한 속성은, 클래스에 부속되는 Manifest에 정의됩니다.

파라미터:
name - 패키지명, 예를 들어, java.lang
반환값:
요구된 이름의 패키지. 어카이브(archive) 또는 코드 베이스로부터 패키지의 정보를 이용할 수 없는 경우는, null 가 되는 일이 있다

getPackages

public static Package [] getPackages()
호출측의 ClassLoader 인스턴스로서 현재 알아져 모든 패키지를 가져옵니다. 그러한 패키지는, 그 ClassLoader 인스턴스에 의해 로드 된 클래스, 또는 그 인스턴스에 이름으로 액세스 할 수 있는 클래스에 상당합니다. 호출측의 ClassLoader 인스턴스가, 구현에 따라서는 null 로 나타내지는 일이 있는 bootstrap ClassLoader 인스턴스인 경우, bootstrap ClassLoader 인스턴스에 의해 로드 되는 클래스에 대응하는 패키지만이 돌려주어집니다.

반환값:
호출측의 ClassLoader 인스턴스에 인식되고 있는 패키지의 새로운 배열 인식되고 있는 것이 없는 경우, 길이가 제로의 배열이 반환된다

hashCode

public int hashCode()
패키지명으로부터 계산된 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
패키지명으로부터 계산된 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString()
이 Package 의 캐릭터 라인 표현을 돌려줍니다. 이 값은, 캐릭터 라인 「package」라고 패키지명입니다. 패키지의 타이틀이 정의되고 있는 경우, 그것이 부가됩니다. 패키지의 버젼이 정의되고 있는 경우, 그것이 부가됩니다.

오버라이드(override):
클래스 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 도 참조해 주세요.