본문 바로가기

날마다 반복되는 생활./아직 처리되지 않은 자료

Java) GenericConstructor<T> Class - CVE-2012-5076

GenericConstructor


java.lang.Object

  org.glassfish.gmbal.util.GenericConstructor<T>


GenericConstructor

특정 클래스가 특정 접근 생성자를 통해 초기화 할 수 있는 클래스이다.

짧은 코딩으로 reflective 코드의 어려운 작성을 피할 수 있다.


-Constructor Summary-

GenericConstructor(java.lang.Class<T> type, java.String className, java.lang.Class<?>... signature)

형식화 되지 않은 클래스 cls에 대해 일반 T형식을 만든다.


-Method Summary-

create(java.lang.Object... args)

가능하다면 주어진 인수와 일치하는 생성자를 사용하여 type T인스턴스를 만든다.


-Constructor Detail-

GenericConstructor


public GenericConstructor(java.lang.Class<T> type,

                          java.lang.String className,

                          java.lang.Class<?>... signature)


형식화 되지 않은 클래스 cls에 대해 일반 T형식을 만든다.


일반적으로 cls는 컴파일된 코드가 아닌 직접적으로 클래스에 따라 달라질 수 있으므로

생성되고 로드된 클래스이다.


그러나 여기에 클래스에 의해 표현하여 생성 된 클래스는 아마 일부 인터페이스 T를 구현한다 


Parameters:

type - create 호출의 예상되는 형식

class Name - 생성자에 사용할 클래스의 이름

signature - 원하는 생성자의 시그니처


Throws

만약 cls형식이 서브 클래스 타입이 아니라면 java.lang.IllegalArgumentException


Method

create(java.lang.Object... args)


Parameters

args - 

가능하면 주어진 인수와 일치하는 생성자를 사용하여 유형 T의 인스턴스를 만든다. GenericClass의 인스턴스는 항상 인자의 동일한 유형에 사용되어야하므로 생성자의 캐시에 저장한다. 호출이 실패하면 검사가 다른 생성자를 사용할 수 있는지 확인하는 형태로 구성되어 있다.