FilePermission (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## java.io
클래스 FilePermission

    java.lang.Object
      java.security.Permission
          java.io.FilePermission

모든 구현된 인터페이스:
  Serializable , Guard

    public final class FilePermission

extends Permission
implements Serializable

이 클래스는, 파일 또는 디렉토리에의 액세스를 나타냅니다. FilePermission 는, 경로명과 그 경로명에 대해서 유효한 액션의 집합으로부터 됩니다.

경로명에는, 지정한 액션을 허가하는 파일 또는 디렉토리의 경로명을 지정합니다. 「/*」( 「/」은 파일 단락 문자 `File.separatorChar`)로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 디렉토리를 나타냅니다. 「/-」으로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 서브 디렉토리를 (재귀적으로) 나타냅니다. 경로명에 특수한 토큰 「<<ALL FILES>>」를 지정했을 경우는,모든파일에 일치합니다.

주:「*」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일을 나타내, 「-」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일과 현재의 디렉토리에 포함되는 모든 파일과 서브 디렉토리 (재귀적으로)를 나타냅니다.

허가하는 액션은, 콤마로 단락지어진 1 개 이상의 키워드의 리스트를 내용으로 하는 캐릭터 라인으로서 생성자 에 인도해집니다. 지정할 수 있는 키워드는, read, write, execute, 및 delete 입니다. 각각의 의미는, 다음과 같이 정의됩니다.

read
  읽기 권한
write
  쓰기 권한
execute
  실행 권한`Runtime.exec` 를 호출할 수 있게 된다. `SecurityManager.checkExec` 에 대응
delete
  삭제 권한`File.delete` 를 호출할 수 있게 된다. `SecurityManager.checkDelete` 에 대응

액션 캐릭터 라인은, 처리되기 전에 소문자에 변환됩니다.

FilePermission 를 허가하는 경우에는 주의해 주세요. 다양한 파일이나 디렉토리에의 읽어내 액세스, 특별히 기입해 액세스를 허가하면(자) 어떻게 될까를 잘 검토해 주세요. write 액션에 대해서 「<<ALL FILES>>」를 지정하는 것은 특히 위험합니다. 이것은, 파일 시스템 전체에 대한 기입을 허가한다고 하는 것입니다. 이러한 지정을 하면(자), 사실상, JVM 실행 환경을 포함해 시스템 바이너리를 옮겨놓는 것이 가능하게 되어 버립니다.

주:코드는 동일 디렉토리 (또는 그 디렉토리의 서브 디렉토리) 내의 파일을 항상 읽어낼 수가 있으므로, 읽기시의 액세스권을 명시할 필요는 없습니다.

도입된 버젼:
  1.2
관련 항목:
  `Permission` , `Permissions` , `PermissionCollection`

생성자 의 개요
`FilePermission (String path, String actions)` 지정된 액션을 가지는 새로운 FilePermission 객체를 작성합니다.

메소드의 개요
`boolean` | `equals (Object obj)` 2 개의 FilePermission 객체가 동일한지 어떤지를 판정합니다.
`String` | `getActions ()` 액션의 「정규의 캐릭터 라인 표현」을 돌려줍니다.
`int` | `hashCode ()` 이 객체의 해시 코드값를 돌려줍니다.
`boolean` | `implies (Permission p)` 이 FilePermission 객체에, 지정된 액세스권이 포함되어 있는지 어떤지를 판정합니다.
`PermissionCollection` | `newPermissionCollection ()` FilePermission 객체를 포함하기 위한 새로운 PermissionCollection 객체를 돌려줍니다.

클래스 java.security. Permission 로부터 상속된 메소드
`checkGuard , getName , toString`

클래스 java.lang. Object 로부터 상속된 메소드
`clone , finalize , getClass , notify , notifyAll , wait , wait , wait`

생성자 의 상세

### FilePermission

    public FilePermission(String  path,
                          String  actions)

  지정된 액션을 가지는 새로운 FilePermission 객체를 작성합니다. path 는 파일 또는 디렉토리의 경로명으로,actions 는 파일 또는 디렉토리에서 허가되는 액션의 콤마로 단락지어진 리스트입니다. 지정할 수 있는 액션은, 「read」, 「write」, 「execute」, 및 「delete」입니다.

  「/*」( 「/」은 파일 단락 문자 `File.separatorChar`)로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 디렉토리를 나타냅니다. 「/-」으로 끝나는 경로명은, 그 디렉토리에 포함되는 모든 파일과 서브 디렉토리를 (재귀적으로) 나타냅니다. 특수한 경로명 「<<ALL FILES>>」는, 모든 파일에 일치합니다.

  「*」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일을 나타내, 「-」이 1 개(살)만 지정된 경로명은, 현재의 디렉토리내의 모든 파일과 현재의 디렉토리에 포함되는 모든 파일과 서브 디렉토리 (재귀적으로)를 나타냅니다.

  빈 상태(empty)의 캐릭터 라인을 포함한 경로명은, 빈 상태(empty)의 패스를 나타냅니다.

  파라미터:
    `path` - 파일 또는 디렉토리의 경로명
    `actions` - 액션의 캐릭터 라인
  예외:
    `IllegalArgumentException` - 액션이 `null` 의 경우, 빈 상태(empty)의 경우, 또는 지정된 유효한 액션 이외의 액션을 포함한 경우

메소드의 상세

### implies

    public boolean implies(Permission  p)

  이 FilePermission 객체에, 지정된 액세스권이 포함되어 있는지 어떤지를 판정합니다.

  즉, 이 메소드는 다음의 경우에 true 를 돌려줍니다.

  - p 가 FilePermission 의 인스턴스이다

  - p 의 액션은, 이 객체의 액션의 적절한 부분집합이다

  - p 의 경로명이 이 객체의 경로명에 포함되어 있다. 예를 들어, 「/tmp/*」는 「/tmp/foo」를 포함하고 있다. 이것은, 「/tmp/*」에는 「foo」라고 하는 이름의 파일도 포함해 「/tmp」디렉토리내의 모든 파일이 포함되어 있기 (위해)때문에

  정의:
    클래스 `Permission` 내의 `implies`
  파라미터:
    `p` - 체크 대상의 액세스권
  반환값:
    지정된 액세스권이 `null` 는 아니고, 이 객체에 포함되는 경우는 `true`, 그렇지 않은 경우는 `false`

### equals

    public boolean equals(Object  obj)

  2 개의 FilePermission 객체가 동일한지 어떤지를 판정합니다. obj 가 FilePermission 이며, 이 객체와 같은 경로명으로 액션을 가지고 있을지 어떨지를 판정합니다.

  정의:
    클래스 `Permission` 내의 `equals`
  파라미터:
    `obj` - 이 객체와 동일한지 어떤지를 판정하는 객체
  반환값:
    obj 가 FilePermission 이며, 이 FilePermission 객체와 같은 경로명으로 액션을 가지는 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `Object.hashCode()` , `Hashtable`

### hashCode

    public int hashCode()

  이 객체의 해시 코드값를 돌려줍니다.

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

### getActions

    public String  getActions()

  액션의 「정규의 캐릭터 라인 표현」을 돌려줍니다. 즉, 이 메소드는 항상 read, write, execute, delete 의 순서로 현재의 액션을 돌려줍니다. 예를 들어, 이 FilePermission 객체가 write 와 read 의 양쪽 모두의 액션을 허가하는 경우,`getActions` 를 호출하면(자), 「read, write」라고 하는 캐릭터 라인이 돌려주어집니다.

  정의:
    클래스 `Permission` 내의 `getActions`
  반환값:
    액션의 정규의 캐릭터 라인 표현

### newPermissionCollection

    public PermissionCollection  newPermissionCollection()

  FilePermission 객체를 포함하기 위한 새로운 PermissionCollection 객체를 돌려줍니다.

  FilePermission 객체는, 임의의 순서로 컬렉션에 삽입되도록(듯이), 한층 더 PermissionCollection 의 `implies` 메소드가 효율적으로 ( 및 안정되어) 구현되도록(듯이) 포함될 필요가 있습니다.

  예를 들어, 다음의 2 개의 FilePermission 가 있어,

  1. `"/tmp/-", "read"`
  2. `"/tmp/scratch/foo", "write"`

  그리고 다음의 FilePermission 로 `implies` 메소드를 호출하는 경우

      "/tmp/scratch/foo", "read, write"

  `implies` 함수는, 「/tmp/-」 및 「/tmp/scratch/foo」의 양쪽 모두의 액세스권을 고려하지 않으면 안되어, 그 때문에, 실질적인 액세스권은 「read, write」이며,`implies` 는 true 를 돌려줍니다. FilePermission 의 「implies」시멘틱스는, 이 `newPermissionCollection` 메소드에 의해 반환되는 PermissionCollection 객체에 의해 올바르게 처리됩니다.

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

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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