|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectkr.co.hit.live.util.ObjectHelper
public class ObjectHelper
Object 관련 Live Framework의 Helper Class
아래 Method들은 모두 static으로 선언 되었기 때문에 유념하기 바란다.
| Constructor Summary | |
|---|---|
protected |
ObjectHelper()
ObjectHelper의 default 컨스트럭터(Constructor). |
| Method Summary | |
|---|---|
static Class<?> |
classForName(String className)
Class의 String Name만을 이용하여 SystemHelper의 getClassLoader를 이용하여
ClassLoader에서 load한다. |
protected static void |
configure()
static 초기화 함수 |
static Object |
convertType(Object from,
Class<?> to)
from 객체를 to 클래스로 변환하여 반환한다. |
static Class<?>[] |
getAllInterfacesOf(Class<?> clazz)
해당 클래스가 구현하는 모든 Interface들을 찾아서 배열로 반환한다. |
static int |
getCount(Object obj,
int n)
obj 가 담고 있는 데이터의 건수를 n 단계까지 탐색하여 반환한다. |
static int |
getLength(Object[] source)
오브젝트 Array의 길이 Object[] source = null; ... |
static Method |
getMethod(Class<?> clazz,
String methodName,
Object[] argValues,
boolean force)
Class.getMethod()를 사용하면 입력 파라메터 타입이 정확히 일치되는 메소드만 찾아준다. |
static Class<?> |
getPrimitiveClass(String primitiveName)
primitive type 명을 지정하면 해당 primitve type의 클래스 객체를 리턴한다. |
static Class<?> |
getWrapperType(Class<?> primitiveClass)
primitive type의 클래스를 지정하면 그 Wrapper 클래스 객체를 리턴한다. |
static Class<?> |
getWrapperType(String primitiveName)
primitive type 명을 지정하면 그 Wrapper 클래스 객체를 리턴한다. |
static Object |
instantiate(Class<?> clazz)
임의로 로드된 Class을 이용하여 인스턴스로 만든다. |
static Object |
instantiate(Class<?> clazz,
Class<?>[] argTypes,
Object[] argValues)
임의로 로드된 Class를 이용하여 인스턴스로 만든다. |
static Object |
instantiate(Class<?> clazz,
Object[] argValues)
임의로 로드된 Class를 이용하여 인스턴스로 만든다. |
static Object |
instantiate(String className)
임의로 로드된 Class의 이름만을 이용하여 인스턴스로 만든다. |
static Object |
instantiate(String className,
Class<?>[] argTypes,
Object[] argValues)
임의로 로드된 Class의 이름을 이용하여 인스턴스로 만든다. |
static Object |
instantiate(String className,
Object[] argValues)
임의로 로드된 Class의 이름을 이용하여 인스턴스로 만든다. |
static Object |
invoke(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
reflection을 사용하여 Object의 메소드 호출을 수행한다. |
static Object |
invoke(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues,
boolean force)
reflection을 사용하여 Object의 메소드 호출을 수행한다. |
static Object |
invoke(Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
reflection을 사용하여 Object의 메소드 호출을 수행한다. |
static Object |
invoke(String className,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
reflection을 사용하여 Object의 메소드 호출을 수행한다. |
static Object |
invokeWithTransaction(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues,
boolean force,
long timeout)
Object 메소드를 호출시 Transaction을 생성한 후 메소드를 호출하고 메소드 호출 후 해당 Transaction을 commit() 또는 rollback() 처리한다. |
static boolean |
isAssignable(Object from,
Class<?> to,
boolean force)
from 클래스가 to 클래스로 변환이 가능한지 여부를 반환한다. |
static boolean |
isNull(Object source)
오브젝트의 null 여부
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected ObjectHelper()
ObjectHelper의 default 컨스트럭터(Constructor).
| Method Detail |
|---|
protected static void configure()
static 초기화 함수
public static Class<?> getWrapperType(Class<?> primitiveClass)
Class wrapper = ObjectHelper.getWrapperType(int.class);
primitiveClass -
public static Class<?> getWrapperType(String primitiveName)
Class wrapper = ObjectHelper.getWrapperType("int");
primitiveClassName -
public static Class<?> getPrimitiveClass(String primitiveName)
primitiveName -
public static boolean isNull(Object source)
오브젝트의 null 여부
source - 체크하고자 하는 오브젝트
null 여부public static int getLength(Object[] source)
오브젝트 Array의 길이
Object[] source = null;
...
if(isNull(source)){
System.out.println("NULL 이다!");
}
source - 길이를 알고 싶은 오브젝트 Array
public static Class<?> classForName(String className)
throws ClassNotFoundException
Class의 String Name만을 이용하여 SystemHelper의 getClassLoader를 이용하여
ClassLoader에서 load한다. 그래서 해당 Class는 Classpath에 적용되어 있어야 한다.
String className = "kr.co.hit.live.XXXXX"; Class clazz = ObjectHelper.classForName(className);
className - 로드할 클래스 이름
Class 오브젝트
ClassNotFoundException - 로드할 Class를 Classpath로 적용되어 있지 않아 찾을 수 없는 경우
public static Object instantiate(String className)
throws ClassNotFoundException,
InstantiationException,
IllegalAccessException
임의로 로드된 Class의 이름만을 이용하여 인스턴스로 만든다.
String className = "kr.co.hit.live.XXXXX"; Object obj = ObjectHelper.instantiate(className);
className - - 인스턴스화 하기 위한 class의 이름
ClassNotFoundException - 해당 class를 찾지 못할 경우
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
public static Object instantiate(Class<?> clazz)
throws InstantiationException,
IllegalAccessException
임의로 로드된 Class을 이용하여 인스턴스로 만든다.
String className = "kr.co.hit.live.XXXXX"; Class clazz = ObjectHelper.instantiate(className); Object obj = ObjectHelper.instantiate(clazz);
clazz - - 인스턴스화 하기 위한 class
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
public static Object instantiate(String className,
Class<?>[] argTypes,
Object[] argValues)
throws ClassNotFoundException,
NoSuchMethodException,
InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException
임의로 로드된 Class의 이름을 이용하여 인스턴스로 만든다.
인스턴스 생성시 argTypes에 해당되는 파라메터를 같는 생성자를 찾아서
여기에 argValues를 파라메터로 하여 인스턴스를 생성한다.
argTypes 인자가 null 인 경우에는 argValues 인자의 getClass()
메소드를 호출하여 얻은 Class 오브젝트가 사용된다.
String className = "kr.co.hit.live.XXXXX";
Object obj = ObjectHelper.instantiate(className,new Class[]{String.class}, new Object[] {"aaa"} );
className - - 인스턴스화 하기 위한 class의 이름argTypes - - 생성자의 파라메터 타입argValues - - 생성자로 인스턴스를 생성할 때 사용할 넘겨줄 파라메터
ClassNotFoundException - 해당 class를 찾지 못할 경우
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
NoSuchMethodException - 파라메터 타입에 해당되는 생성자가 존재하지 않는 경우
IllegalArgumentException - 파라메터 타입과 파라메터 값의 개수나 타입이 상이할 경우
InvocationTargetException
public static Object instantiate(Class<?> clazz,
Class<?>[] argTypes,
Object[] argValues)
throws NoSuchMethodException,
InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException
임의로 로드된 Class를 이용하여 인스턴스로 만든다.
인스턴스 생성시 argTypes에 해당되는 파라메터를 같는 생성자를 찾아서
여기에 argValues를 파라메터로 하여 인스턴스를 생성한다.
argTypes 인자가 null 인 경우에는 argValues 인자의 getClass()
메소드를 호출하여 얻은 Class 오브젝트가 사용된다.
String className = "kr.co.hit.live.XXXXX";
Class clazz = ObjectHelper.classForName(className);
Object obj = ObjectHelper.instantiate(clazz,new Class[]{String.class}, new Object[] {"aaa"} );
clazz - - 인스턴스화 하기 위한 class 객체argTypes - - 생성자의 파라메터 타입argValues - - 생성자로 인스턴스를 생성할 때 사용할 넘겨줄 파라메터
ClassNotFoundException - 해당 class를 찾지 못할 경우
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
NoSuchMethodException - 파라메터 타입에 해당되는 생성자가 존재하지 않는 경우
IllegalArgumentException - 파라메터 타입과 파라메터 값의 개수나 타입이 상이할 경우
InvocationTargetException
public static Object instantiate(String className,
Object[] argValues)
throws ClassNotFoundException,
NoSuchMethodException,
InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException
임의로 로드된 Class의 이름을 이용하여 인스턴스로 만든다.
이때 argValues 인자의 클래스를 사용하여 생성자를 찾아서 인스턴스를 생성한다.
String className = "kr.co.hit.live.XXXXX";
Object obj = ObjectHelper.instantiate(className, new Object[] {"aaa"} );
className - - 인스턴스화 하기 위한 class의 이름argValues - - 생성자로 인스턴스를 생성할 때 사용할 넘겨줄 파라메터
ClassNotFoundException - 해당 class를 찾지 못할 경우
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
NoSuchMethodException - 파라메터 타입에 해당되는 생성자가 존재하지 않는 경우
IllegalArgumentException - 파라메터 타입과 파라메터 값의 개수나 타입이 상이할 경우
InvocationTargetException
public static Object instantiate(Class<?> clazz,
Object[] argValues)
throws NoSuchMethodException,
InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException
임의로 로드된 Class를 이용하여 인스턴스로 만든다.
이때 argValues 인자의 클래스를 사용하여 생성자를 찾아서 인스턴스를 생성한다.
String className = "kr.co.hit.live.XXXXX";
Class clazz = ObjectHelper.classForName(className);
Object obj = ObjectHelper.instantiate(clazz, new Object[] {"aaa"} );
clazz - - 인스턴스화 하기 위한 class 객체argValues - - 생성자로 인스턴스를 생성할 때 사용할 넘겨줄 파라메터
ClassNotFoundException - 해당 class를 찾지 못할 경우
InstantiationException - 해당 class를 인스턴스화 하지 못할 경우
IllegalAccessException - 해당 class의 컨스트럭쳐가 public으로 선언되어 있지 않거나, 접근이 불가 할 경우
NoSuchMethodException - 파라메터 타입에 해당되는 생성자가 존재하지 않는 경우
IllegalArgumentException - 파라메터 타입과 파라메터 값의 개수나 타입이 상이할 경우
InvocationTargetExceptionpublic static Class<?>[] getAllInterfacesOf(Class<?> clazz)
clazz -
public static Object invokeWithTransaction(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues,
boolean force,
long timeout)
throws Throwable
clazz - obj - methodName - argTypes - argValues - force - timeout - Transaction의 timeout 값을 지정, 0 이면 default 설정값을 사용
Throwable
public static Object invoke(String className,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
throws Throwable
className - obj - methodName - argTypes - argValues -
Throwable
public static Object invoke(Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
throws Throwable
obj - methodName - argTypes - argValues -
Throwable
public static Object invoke(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues)
throws Throwable
clazz - obj - methodName - argTypes - argValues -
Throwable
public static Object invoke(Class<?> clazz,
Object obj,
String methodName,
Class<?>[] argTypes,
Object[] argValues,
boolean force)
throws Throwable
clazz - obj - methodName - argTypes - argValues - force -
Throwable
public static Method getMethod(Class<?> clazz,
String methodName,
Object[] argValues,
boolean force)
clazz - methodName - argTypes - force - 강제적인 타입변환 여부까지 확인할 지 여부
public static Object convertType(Object from,
Class<?> to)
from - to -
public static boolean isAssignable(Object from,
Class<?> to,
boolean force)
from - 변환하고자할 객체to - 변환하고자할 타입force - 강제 변환 여부
public static int getCount(Object obj,
int n)
obj -
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||