JavaTM Platform
Standard Ed. 6

java.security
클래스 UnresolvedPermission

java.lang.Object 
  상위를 확장 java.security.Permission 
      상위를 확장 java.security.UnresolvedPermission
모든 구현된 인터페이스:
Serializable , Guard


public final class UnresolvedPermission
extends Permission
implements Serializable

UnresolvedPermission 클래스를 사용하면(자), Policy 의 초기화시에 「해결되지 않았다」Permission 를 보관 유지할 수 있습니다. 해결되어 있지 않은 액세스권이란, Policy 의 초기화시에 실제의 Permission 클래스가 아직 존재하고 있지 않는 액세스권입니다 (아래와 같이를 참조).

Java 실행시의 정책 (다양한 주체로부터 코드로 이용할 수 있는 액세스권을 지정한다)는, Policy 객체에 의해 표현됩니다. Policy 가 초기화 또는 재표시될 때마다, Policy 에 의해 허가되는 모든 액세스권에 대해서 적절한 클래스의 Permission 객체가 작성됩니다.

정책의 구성에 의해 참조되는 아크세스뙛쿠라스타이프의 상당수는, 로컬에 존재합니다 (즉, CLASSPATH 상에 놓여져 있다). 이러한 액세스권의 객체는, Policy 의 초기화시에 인스턴스를 생성할 수 있습니다. 예를 들어, FilePermission 클래스는 CLASSPATH 로 발견되므로, 언제라도 java.io.FilePermission 의 인스턴스를 생성할 수 있습니다.

다른 액세스권 클래스는, Policy 의 초기화시에게는 아직 존재하지 않는 경우도 있습니다. 예를 들어, 참조된 액세스권 클래스는, 나중에 로드 되는 JAR 파일내에 있을 가능성이 있습니다. 그러한 각 클래스에서는, UnresolvedPermission 의 인스턴스가 생성됩니다. 이 때문에, UnresolvedPermission 는 기본적으로, 액세스권에 대한 정보를 보관 유지하는 「플레이스홀더」입니다.

그 후, 이전 해결되지 않았지만 그 후 클래스가 로드 된 형태의 액세스권에 대해, AccessController.checkPermission 가 코드내로부터 불려 가면(자), 그 형태의 미해결의 액세스권이 「해결되고」. 즉, 그러한 개개의 UnresolvedPermission 마다, UnresolvedPermission 내의 정보에 근거해 적절한 클래스형의 새로운 객체가 생성됩니다.

새로운 클래스를 인스턴스화하기 위해서(때문에), UnresolvedPermission 는, 그 새로운 클래스가 인수 없음 생성자 , 1 개의 인수를 취하는 생성자 , 2 개의 인수를 취하는 생성자 의, 언젠가 또는 그 모든 것을 제공하는 것과 가정합니다. 인수 없음 생성자 은, 이름과 액션을 가지지 않는 액세스권을 인스턴스화하는 경우에 사용됩니다. 또, 1 개의 인수를 취하는 생성자 은 String 형의 이름을 입력으로서 받는 것과 가정되어 2 개의 인수를 취하는 생성자 은 String 형의 이름과 String 형의 액션을 입력으로서 받는 것과 가정됩니다. UnresolvedPermission 는, 이름 또는 액션 혹은 그 양쪽 모두에 null 를 지정해 생성자 을 호출하는 일도 있습니다. 적절한 액세스권 생성자 이 발견되지 않는 경우, UnresolvedPermission 는 무시되어 그 관련 액세스권이 실행 코드에 대해서 허가되지 않습니다.

새롭게 작성된 액세스권 객체가 UnresolvedPermission 에 옮겨져, 그 UnresolvedPermission 는 삭제됩니다.

덧붙여 특정의 UnresolvedPermissiongetName 메소드로부터 반환되는 값은, 해결되지 않았던 실제의 액세스권의 「형태」(클래스명)인 점에 주의해 주세요.

관련 항목:
Permission , Permissions , PermissionCollection , Policy , 직렬화 된 형식

생성자 의 개요
UnresolvedPermission (String  type, String  name, String  actions, Certificate [] certs)
          나중에 필요하게 되는 액세스권 정보를 보관 유지하는 새로운 UnresolvedPermission 를 작성해, 액세스권이 해결될 때, 지정된 클래스의 Permission 를 실제로 작성합니다.
 
메소드의 개요
 boolean equals (Object  obj)
          2 개의 UnresolvedPermission 객체가 동일한지 어떤지를 판정합니다.
 String getActions ()
          액션의 정규의 캐릭터 라인 표현을 돌려줍니다.
 String getUnresolvedActions ()
          해결되어 있지 않은 실제의 액세스권의 액션을 가져옵니다.
 Certificate [] getUnresolvedCerts ()
          해결되어 있지 않은 실제의 액세스권에 대한 서명자의 증명서 (그것을 지원하는 연쇄는 포함하지 않는다)를 가져옵니다.
 String getUnresolvedName ()
          해결되어 있지 않은 실제의 액세스권의 타겟명을 가져옵니다.
 String getUnresolvedType ()
          해결되어 있지 않은 실제의 액세스권의 형태 (클래스명)를 가져옵니다.
 int hashCode ()
          이 객체의 해시 코드값를 돌려줍니다.
 boolean implies (Permission  p)
          미해결의 액세스권에 대해서 항상 false 를 돌려줍니다.
 PermissionCollection newPermissionCollection ()
          UnresolvedPermission 객체를 포함하기 위한 새로운 PermissionCollection 객체를 돌려줍니다.
 String toString ()
          이 UnresolvedPermission 를 기술하는 캐릭터 라인을 돌려줍니다.
 
클래스 java.security. Permission 로부터 상속된 메소드
checkGuard , getName
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

UnresolvedPermission

public UnresolvedPermission(String  type,
                            String  name,
                            String  actions,
                            Certificate [] certs)
나중에 필요하게 되는 액세스권 정보를 보관 유지하는 새로운 UnresolvedPermission 를 작성해, 액세스권이 해결될 때, 지정된 클래스의 Permission 를 실제로 작성합니다.

파라미터:
type - 이 해결되어 있지 않은 액세스권이 해결되었을 때에 작성되는 Permission 클래스의 클래스명
name - 액세스권의 이름
actions - 액세스권의 액션입니다.
certs - 액세스권의 클래스의 서명으로 사용된 증명서. 이것은 증명서 체인의 리스트이며, 각각의 연쇄는 서명자의 증명서 및 그것을 지원하는 증명서 체인 (옵션)으로부터 구성된다. 각 연쇄는 하위에서 상위의 순서에 늘어놓을 수 있다. 즉, 서명자의 증명서가 최초로, (루트의) 증명서 발행국이 마지막에 된다. 서명자의 증명서는 배열로부터 카피된다. 그 후 배열이 변경되어도, 이 UnsolvedPermission 에 그 영향이 미칠 것은 없다
메소드의 상세

implies

public boolean implies(Permission  p)
미해결의 액세스권에 대해서 항상 false 를 돌려줍니다. 즉, UnresolvedPermission 는 다른 액세스권을 포함하는 것이라고는 보여지지 않습니다.

정의:
클래스 Permission 내의 implies
파라미터:
p - 체크 대상의 액세스권
반환값:
false

equals

public boolean equals(Object  obj)
2 개의 UnresolvedPermission 객체가 동일한지 어떤지를 판정합니다. obj 가 UnresolvedPermission 로, 이 객체와 같은 형태 (클래스)의 이름, 액세스권의 이름, 액션, 증명서를 가질지 어떨지를 조사합니다.

증명서가 동일한지 어떤지를 판정할 때에 이 메소드가 비교하는 것은, 실제의 서명자의 증명서 뿐입니다. 그것을 지원하는 증명서 체인은, 이 메소드에서는 고려되지 않습니다.

정의:
클래스 Permission 내의 equals
파라미터:
obj - 이 객체와 동일한지 어떤지를 판정하는 객체
반환값:
obj 가 UnresolvedPermission 로, 이 객체와 같은 형태 (클래스)의 이름, 액세스권의 이름, 액션, 및 증명서를 가지는 경우는 true
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 객체의 해시 코드값를 돌려줍니다.

정의:
클래스 Permission 내의 hashCode
반환값:
이 객체의 해시 코드값
관련 항목:
Object.equals(java.lang.Object) , Hashtable

getActions

public String  getActions()
액션의 정규의 캐릭터 라인 표현을 돌려줍니다. 이 캐릭터 라인 표현은, 현재는 빈 상태(empty)의 캐릭터 라인 "" 입니다. 이것은, UnresolvedPermission 에 대응하는 액션이 없기 때문입니다. 즉, 이 UnresolvedPermission 의 해결시에 작성되는 액세스권의 액션은 null 이외에 됩니다만, UnresolvedPermission 자신이 하등의 액션을 가진다고 보여질 것은 없습니다.

정의:
클래스 Permission 내의 getActions
반환값:
빈 상태(empty)의 캐릭터 라인 ""

getUnresolvedType

public String  getUnresolvedType()
해결되어 있지 않은 실제의 액세스권의 형태 (클래스명)를 가져옵니다.

반환값:
해결되어 있지 않은 실제의 액세스권의 형태 (클래스명)
도입된 버젼:
1.5

getUnresolvedName

public String  getUnresolvedName()
해결되어 있지 않은 실제의 액세스권의 타겟명을 가져옵니다.

반환값:
해결되어 있지 않은 실제의 액세스권의 타겟명. 타겟명이 존재하지 않는 경우는 null
도입된 버젼:
1.5

getUnresolvedActions

public String  getUnresolvedActions()
해결되어 있지 않은 실제의 액세스권의 액션을 가져옵니다.

반환값:
해결되어 있지 않은 실제의 액세스권의 액션. 액션이 존재하지 않는 경우는 null
도입된 버젼:
1.5

getUnresolvedCerts

public Certificate [] getUnresolvedCerts()
해결되어 있지 않은 실제의 액세스권에 대한 서명자의 증명서 (그것을 지원하는 연쇄는 포함하지 않는다)를 가져옵니다.

반환값:
해결되어 있지 않은 실제의 액세스권에 대한 서명자의 증명서. 서명자의 증명서가 존재하지 않는 경우는 null. 이 메소드가 불려 갈 때마다 새로운 배열을 돌려주는
도입된 버젼:
1.5

toString

public String  toString()
이 UnresolvedPermission 를 기술하는 캐릭터 라인을 돌려줍니다. 규약에서는, 클래스명, 액세스권의 이름, 및 액션이, '(unsolved "ClassName" "name" "actions")'라고 하는 형식에서 지정됩니다.

오버라이드(override):
클래스 Permission 내의 toString
반환값:
이 UnresolvedPermission 에 대한 정보

newPermissionCollection

public PermissionCollection  newPermissionCollection()
UnresolvedPermission 객체를 포함하기 위한 새로운 PermissionCollection 객체를 돌려줍니다.  

오버라이드(override):
클래스 Permission 내의 newPermissionCollection
반환값:
UnresolvedPermissions 를 포함하는데 적절한 새로운 PermissionCollection 객체

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 도 참조해 주세요.