JavaTM Platform
Standard Ed. 6

java.security
클래스 SecureClassLoader

java.lang.Object 
  상위를 확장 java.lang.ClassLoader 
      상위를 확장 java.security.SecureClassLoader
직계의 기존의 서브 클래스:
URLClassLoader


public class SecureClassLoader
extends ClassLoader

이 클래스는, 디폴트로 시스템 정책에 의해 추출되는 관련한 코드 소스와 액세스권을 가지는 클래스를 정의하기 위한 추가 지원를 사용해, ClassLoader 를 확장합니다.


생성자 의 개요
protected SecureClassLoader ()
          위양을 위해서(때문에) 디폴트의 친클래스 로더를 사용해, 신규 SecureClassLoader 을 작성합니다.
protected SecureClassLoader (ClassLoader  parent)
          위양을 위해서(때문에) 지정된 친클래스 로더를 사용해, 신규 SecureClassLoader 를 작성합니다.
 
메소드의 개요
protected  Class <? > defineClass (String  name, byte[] b, int off, int len, CodeSource  cs)
          바이트의 배열을, 옵션의 CodeSource 를 사용해 Class 클래스의 인스턴스로 변환합니다.
protected  Class <? > defineClass (String  name, ByteBuffer  b, CodeSource  cs)
          옵션의 CodeSource 를 사용해,ByteBufferClass 클래스의 인스턴스로 변환합니다.
protected  PermissionCollection getPermissions (CodeSource  codesource)
          지정된 CodeSource 객체의 액세스권을 돌려줍니다.
 
클래스 java.lang. ClassLoader 로부터 상속된 메소드
clearAssertionStatus , defineClass , defineClass , defineClass , defineClass , definePackage , findClass , findLibrary , findLoadedClass , findResource , findResources , findSystemClass , getPackage , getPackages , getParent , getResource , getResourceAsStream , getResources , getSystemClassLoader , getSystemResource , getSystemResourceAsStream , getSystemResources , loadClass , loadClass , resolveClass , setClassAssertionStatus , setDefaultAssertionStatus , setPackageAssertionStatus , setSigners
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

SecureClassLoader

protected SecureClassLoader(ClassLoader  parent)
위양을 위해서(때문에) 지정된 친클래스 로더를 사용해, 신규 SecureClassLoader 를 작성합니다.

시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkCreateClassLoader 메소드를 호출하는 것으로, 이 클래스 로더의 작성이 허가되고 있는 것을 확인합니다.  

파라미터:
parent - 부모의 ClassLoader
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkCreateClassLoader 메소드가 클래스 로더의 작성을 허가하지 않는 경우
관련 항목:
SecurityManager.checkCreateClassLoader()

SecureClassLoader

protected SecureClassLoader()
위양을 위해서(때문에) 디폴트의 친클래스 로더를 사용해, 신규 SecureClassLoader 를 작성합니다.

시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkCreateClassLoader 메소드를 호출하는 것으로, 이 클래스 로더의 작성이 허가되고 있는 것을 확인합니다.

예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkCreateClassLoader 메소드가 클래스 로더의 작성을 허가하지 않는 경우
관련 항목:
SecurityManager.checkCreateClassLoader()
메소드의 상세

defineClass

protected final Class <? > defineClass(String  name,
                                     byte[] b,
                                     int off,
                                     int len,
                                     CodeSource  cs)
바이트의 배열을, 옵션의 CodeSource 를 사용해 Class 클래스의 인스턴스로 변환합니다. 최초로 클래스를 해결하지 않으면, 클래스를 사용할 수 없습니다.  

null 가 아닌 CodeSource 가 제공되는 경우, ProtectionDomain 는 정의 끝난 클래스에서 구축되고 관련지을 수 있습니다.  

파라미터:
name - 예상되는 클래스명. 불명한 경우는 null. 단락 문자에는 「/」은 아니고 「.」(을)를 사용한다. 클래스명의 후에는 접미사(suffix) 「. class」를 붙이지 않는
b - 클래스 데이터를 구성하는 byte. off 로부터 off+len-1 까지의 위치에 있는 바이트는,「Java 가상 머신 스펙」으로 정의되는 유효한 클래스 파일의 형식을 가지는
off - 클래스 데이터의 b 의 개시 오프셋(offset)
len - 클래스 데이터의 길이
cs - 관련한 CodeSource. 존재하지 않는 경우는 null
반환값:
데이터로부터 작성된 Class 객체와 옵션의 CodeSource
예외:
ClassFormatError - 데이터가 유효한 클래스를 포함하지 않았던 경우
IndexOutOfBoundsException - off 또는 len 의 어느 쪽인지가 부의 경우, 또는 off+lenb.length 보다 큰 경우
SecurityException - 이 클래스는 아니고, 다른 증명서세트를 사용해 서명된 클래스를 포함한 패키지에 이 클래스를 추가하려고 하는 경우, 또는 클래스명이 「java」로 시작되는 경우

defineClass

protected final Class <? > defineClass(String  name,
                                     ByteBuffer  b,
                                     CodeSource  cs)
옵션의 CodeSource 를 사용해,ByteBufferClass 클래스의 인스턴스로 변환합니다. 최초로 클래스를 해결하지 않으면, 클래스를 사용할 수 없습니다.  

null 가 아닌 CodeSource 가 제공되는 경우, ProtectionDomain 는 정의 끝난 클래스에서 구축되고 관련지을 수 있습니다.  

파라미터:
name - 예상되는 클래스명. 불명한 경우는 null. 단락 문자에는 「/」은 아니고 「.」(을)를 사용한다. 클래스명의 후에는 접미사(suffix) 「. class」를 붙이지 않는
b - 클래스 데이터를 구성하는 byte. b.position() 로부터 b.position() + b.limit() -1 까지의 위치에 있는 바이트는,「Java 가상 머신 스펙」으로 정의되는 유효한 클래스 파일의 형식을 가지는
cs - 관련한 CodeSource. 존재하지 않는 경우는 null
반환값:
데이터로부터 작성된 Class 객체와 옵션의 CodeSource
예외:
ClassFormatError - 데이터가 유효한 클래스를 포함하지 않았던 경우
SecurityException - 이 클래스는 아니고, 다른 증명서세트를 사용해 서명된 클래스를 포함한 패키지에 이 클래스를 추가하려고 하는 경우, 또는 클래스명이 「java」로 시작되는 경우
도입된 버젼:
1.5

getPermissions

protected PermissionCollection  getPermissions(CodeSource  codesource)
지정된 CodeSource 객체의 액세스권을 돌려줍니다.  

이 메소드는, 정의된 클래스의 ProtectionDomain 를 구축하고 있을 때, CodeSource 를 인수로서 취하는 defineClass 메소드에 의해 불려 갑니다.  

파라미터:
codesource - 코드 소스
반환값:
코드 소스에게 줄 수 있었던 액세스권

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