JavaTM Platform
Standard Ed. 6

java.security
클래스 PermissionCollection

java.lang.Object 
  상위를 확장 java.security.PermissionCollection
모든 구현된 인터페이스:
Serializable
직계의 기존의 서브 클래스:
Permissions


public abstract class PermissionCollection
extends Object
implements Serializable

Permission 객체의 컬렉션을 나타내는 abstract 클래스입니다.

PermissionCollection 를 사용하면(자), 이하의 처리를 실시할 수 있습니다.

같은 형태의 복수의 Permission 객체를 그룹화 하려면 , 우선 그 특정의 형태에 대해서 newPermissionCollection 메소드를 호출할 필요가 있습니다. Permission 클래스의 경우, 이 메소드의 디폴트 동작은 단순하게 null 를 돌려준다고 하는 것입니다. PermissionCollection.implies 메소드의 호출시에 올바른 시멘틱스를 제공할 수 있도록(듯이) 특정의 PermissionCollection 객체내에 액세스권을 포함할 필요가 있는 경우에는, Permission 클래스의 서브 클래스가 newPermissionCollection 메소드를 오버라이드(override) 합니다. 이 메소드로부터 null 이외의 값이 돌려주어졌을 경우, 그 PermissionCollection 를 사용할 필요가 있습니다. null 가 돌려주어졌을 경우,newPermissionCollection 의 호출원래는, 지정된 종류의 액세스권을, 임의의 PermissionCollection (Hashtable 를 사용하는 것, Vector 를 사용하는 것 등)에 자유롭게 포함할 수 있습니다.

Permission.newPermissionCollection 메소드가 돌려주는 PermissionCollection 는 동종 컬렉션이며, 지정된 종류의 액세스권의 Permission 객체만을 포함합니다. PermissionCollection 는 이종 컬렉션이기도 합니다. 예를 들어 Permissions 는, PermissionCollections 의 컬렉션을 나타내는 PermissionCollection 서브 클래스입니다. 즉 그 멤버는, 각각이 동종의 PermissionCollection 입니다. 예를 들어 Permissions 객체는, 모든 FilePermission 객체에 대해서는 FilePermissionCollection, 모든 SocketPermission 객체에 대해서는 SocketPermissionCollection 등이라고 하는 대응으로 컬렉션을 가집니다. 그 add 메소드는 액세스권을 적절한 컬렉션에 추가합니다.

Permissions 등의 이종의 PermissionCollection 에 액세스권을 추가할 때, 지정된 액세스권에 대한 PermissionCollection 가 그 PermissionCollection 내에 존재하지 않았던 경우, 그 PermissionCollection 는, 그 액세스권의 클래스상에서 newPermissionCollection 메소드를 호출해, 그것이 특별한 PermissionCollection 를 필요로 할지 어떨지를 확인할 필요가 있습니다. newPermissionCollection 로부터 null 가 돌려주어졌을 경우, 그 PermissionCollection 는 임의의 종류의 PermissionCollection (Hastable 를 사용하는 것, Vector 를 사용하는 것 등)에 그 액세스권을 포함할 수 있습니다. 예를 들어, Permissions 객체는, 액세스권 객체를 Hashtable 에 포함하는, 디폴트의 PermissionCollection 구현을 사용합니다.

PermissionCollection 의 서브 클래스 구현은, 복수 thread로부터 동시에 불려 가는 것을 상정하지 않으면 안되어, 그 때문에, 적절히 동기를 취할 필요가 있습니다. 그 만큼이 아니고,elements 메소드로 반환되는 Enumerations 는 「fail-fast」가 아닙니다. 컬렉션의 열거중에, 컬렉션에 변경을 더해서는 안됩니다.

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

생성자 의 개요
PermissionCollection ()
           
 
메소드의 개요
abstract  void add (Permission  permission)
          액세스권 객체의 현재의 컬렉션에 액세스권 객체를 추가합니다.
abstract  Enumeration <Permission > elements ()
          컬렉션내의 모든 Permission 객체의 열거를 돌려줍니다.
abstract  boolean implies (Permission  permission)
          지정된 액세스권이, 이 PermissionCollection 로 보관 유지되는 Permission 객체의 컬렉션에 의해 포함 될지 어떨지를 판정합니다.
 boolean isReadOnly ()
          PermissionCollection 객체가 읽어내 전용으로서 마크 되고 있는 경우에 true 를 돌려줍니다.
 void setReadOnly ()
          PermissionCollection 객체를 「읽기 전용」으로서 마크 합니다.
 String toString ()
          PermissionCollection 객체를 기술하는 캐릭터 라인을 돌려주어, 객체가 보관 유지하는 모든 액세스권에 대한 정보를 제공합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

PermissionCollection

public PermissionCollection()
메소드의 상세

add

public abstract void add(Permission  permission)
액세스권 객체의 현재의 컬렉션에 액세스권 객체를 추가합니다.

파라미터:
permission - 추가되는 Permission 객체
예외:
SecurityException - - 이 PermissionCollection 객체가 읽어내 전용으로서 마크 되고 있는 경우

implies

public abstract boolean implies(Permission  permission)
지정된 액세스권이, 이 PermissionCollection 로 보관 유지되는 Permission 객체의 컬렉션에 의해 포함 될지 어떨지를 판정합니다.

파라미터:
permission - 비교 대상의 Permission 객체
반환값:
액세스권이 컬렉션내의 액세스권에 포함 되는 경우는 true, 그렇지 않은 경우는 false

elements

public abstract Enumeration <Permission > elements()
컬렉션내의 모든 Permission 객체의 열거를 돌려줍니다.

반환값:
모든 Permissions 의 열거

setReadOnly

public void setReadOnly()
PermissionCollection 객체를 「읽기 전용」으로서 마크 합니다. PermissionCollection 객체를 읽어내 전용으로서 마크 하면(자) 신규 Permission 객체를 add 로 PermissionCollection 에 추가할 수 없습니다.


isReadOnly

public boolean isReadOnly()
PermissionCollection 객체가 읽어내 전용으로서 마크 되고 있는 경우에 true 를 돌려줍니다. 읽기 전용의 경우, 신규 Permission 객체를 add 로 PermissionCollection 에 추가할 수 없습니다.

디폴트에서는, 객체는 읽어내 전용이 아닙니다. setReadOnly 를 호출하는 것에 의해 읽기 전용으로 설정할 수 있습니다.

반환값:
이 PermissionCollection 객체가 읽어내 전용으로서 마크 되고 있는 경우는 true, 그렇지 않은 경우는 false

toString

public String  toString()
PermissionCollection 객체를 기술하는 캐릭터 라인을 돌려주어, 객체가 보관 유지하는 모든 액세스권에 대한 정보를 제공합니다. 커멘드의 형식은, 다음과 같습니다.
super.toString() (
// 모든 Permission 객체를
// 열거해, 행 마다 1 회씩
// toString()를 호출합니다.
 )
super.toString 는, 이 객체의 슈퍼 클래스 (즉 Object)의 toString 메소드의 호출입니다. 결과적으로 반환되는 것은, 이 PermissionCollection 의 종류명의 후에 이 객체의 해시 코드가 계속되는 캐릭터 라인이므로, 복수의 PermissionCollections 객체가 같은 액세스권을 보관 유지하는 경우에서도, 클라이언트는 각 객체를 구별할 수 있습니다.

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