|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.security.Permission
public abstract class Permission
system resource에의 액세스를 표현하는 abstract 클래스입니다. 모든 액세스권은, 특정의 Permission 서브 클래스의 시멘틱스를 정의하기 위한 추상 기능을 가지는 것 외에 구현을 서브 클래스에 의존하는 이름을 가집니다.
대부분의 Permission 객체는 또, 객체에 허가되고 있는 액션을 통지하는 액션 리스트를 포함합니다. 예를 들어 java.io.FilePermission
객체에서는, 액세스권의 이름은 파일 또는 디렉토리의 경로명으로, 액션 리스트 (읽어들여, 기입등)는, 지정된 파일, 또는 디렉토리내의 파일에 어느 액션이 허가되고 있는지를 지정합니다. 액션 리스트는, 그러한 리스트를 필요로 하지 않는 java.lang.RuntimePermission
등의 Permission 객체에서는 옵션입니다. 사용자는, 이름 첨부의 액세스권 (system.exit 등)을 가지는 경우와 가지지 않는 경우가 있습니다.
각 서브 클래스에 의해 구현해야 할 중요한 메소드는, Permissions 를 비교하는 implies
메소드입니다. 기본적으로, 「permission p1 는 permission p2 를 포함 한다」란, permission p1 가 허가되었을 경우에는 permission p2 도 당연히 허가된다고 하는 것입니다. 따라서, 이것은 적성 테스트는 아니고, 부분집합 테스트입니다.
Permission 객체는, 한 번 작성하면(자) 불변이 된다고 하는 점에서는 String 객체와 닮아 있습니다. 서브 클래스는, 한 번 작성된 액세스권 상태를 변경할 수 있는 메소드를 제공할 수 없습니다.
Permissions
,
PermissionCollection
,
직렬화 된 형식 생성자 의 개요 | |
---|---|
Permission (String name)
지정된 이름으로 액세스권을 구축합니다. |
메소드의 개요 | |
---|---|
void |
checkGuard (Object object)
액세스권의 가이드 인터페이스를 구현합니다. |
abstract boolean |
equals (Object obj)
2 개의 Permission 객체가 동일한지 어떤지를 판정합니다. |
abstract String |
getActions ()
액션을 String 로 돌려줍니다. |
String |
getName ()
Permission 의 이름을 돌려줍니다. |
abstract int |
hashCode ()
Permission 객체의 해시 코드값를 돌려줍니다. |
abstract boolean |
implies (Permission permission)
이 객체의 액션에 의해, 지정된 액세스권의 액션이 포함 될지 어떨지를 판정합니다. |
PermissionCollection |
newPermissionCollection ()
지정된 Permission 객체의 빈 상태(empty)의 PermissionCollection 을 돌려줍니다. |
String |
toString ()
Permission 을 기술하는 캐릭터 라인을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
생성자 의 상세 |
---|
public Permission(String name)
name
- 작성하는 Permission 객체의 이름메소드의 상세 |
---|
public void checkGuard(Object object) throws SecurityException
SecurityManager.checkPermission
메소드가 불려 가 이 액세스권 객체를 검사 대상으로 해 건네줍니다. 액세스가 허가되면(자), 아무것도 실시하지 않고 복귀합니다. 그렇지 않은 경우는, SecurityException 를 throw 합니다.
Guard
내의 checkGuard
object
- 가이드가 있는 객체 (현재는 무시)
SecurityException
- 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission
메소드가 액세스를 허가하지 않는 경우Guard
,
GuardedObject
,
SecurityManager.checkPermission(java.security.Permission)
public abstract boolean implies(Permission permission)
Permission 객체에 시멘틱스를 부과할 수가 있는 것은 Permission 의 서브 클래스 뿐이므로, 이 메소드는 그러한 서브 클래스에 의해 구현되지 않으면 안됩니다.
implies
메소드는, AccessController 에 의해 사용됩니다. 현재 실행중의 문맥으로 유효하다라고 하는 것이 알고 있는 것 외의 액세스권에 의해, 요구된 액세스권이 포함 되고 있는지 어떤지를, 이 메소드를 사용해 조사합니다.
permission
- 체크 대상의 액세스권
public abstract boolean equals(Object obj)
액세스 제어를 결정하는데 equals
메소드는 사용하지 말아 주세요. 대신에 implies
메소드를 사용해 주세요.
Object
내의 equals
obj
- 이 객체와 동일한지 어떤지를 판정하는 객체
Object.hashCode()
,
Hashtable
public abstract int hashCode()
다음에, Permission 객체의 필요한 hashCode
동작을 나타냅니다.
hashCode
메소드는 일관해 같은 정수를 돌려주지 않으면 안 된다. 다만, 이 정수는 같은 어플리케이션의 실행 마다 같은 필요는 없다
equals
메소드에 근거해 2 개의 Permission 객체가 동일한 경우는, 2 개의 Permission 객체로 각각 hashCode
메소드를 호출했을 때, 결과적으로 같은 정수가 생성되지 않으면 안 된다
Object
내의 hashCode
Object.equals(java.lang.Object)
,
Hashtable
public final String getName()
java.io.FilePermission
의 경우는, 이름은 경로명이 됩니다.
public abstract String getActions()
perm1 = new FilePermission(p1,"read, write"); perm2 = new FilePermission(p2,"write, read");
getActions
메소드가 불려 가면(자), 어느쪽이나 "read, write" 를 돌려줍니다.
public PermissionCollection newPermissionCollection()
PermissionCollection.implies
메소드가 불려 갔을 때에, 올바른 시멘틱스를 제공하기 위해서, 특정의 PermissionCollection 객체에 그 액세스권을 포함할 필요가 있는 경우, Permission 클래스의 서브 클래스는 이 메소드를 오버라이드(override) 합니다. null 가 돌려주어졌을 경우, 이 메소드의 호출측은 이 종류의 액세스권을, 선택하는 어느 PermissionCollection 에 대해서도 자유롭게 포함할 수 있습니다 (Hashtable 를 사용하는 것, Vector 를 사용하는 것 등).
public String toString()
Object
내의 toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.