kr.co.hit.live.resources.impl
Class ResourcesBase

java.lang.Object
  extended by kr.co.hit.live.resources.impl.ResourcesBase
All Implemented Interfaces:
Serializable, Resources
Direct Known Subclasses:
CollectionResourcesBase, DatabaseResources, ResourceBundleResources

public abstract class ResourcesBase
extends Object
implements Resources

Resources를 편리하게 구현할 수 있도록 제공되는 베이스 클래스이다.

getObject()를 제외한 나머지 컨텐트 조회 메소드들에 대해서는 기본적인 구현이 제공된다. 다른 컨텐트 조회에 대한 기본적인 메소드의 구현은 getString()의 방식으로 코딩된다.

Since:
3.0
Version:
$Revision: 1.1 $ $Date: 2006/09/26 08:20:09 $
Author:
김광영
See Also:
Serialized Form

Field Summary
static String LIVE_RESOURCES_KEY_PREFIX
          리소스 명으로부터 리소스 베이스 값을 얻기 위하여여 필요한 키를 생성할 때 사용하는 prefix
 
Fields inherited from interface kr.co.hit.live.resources.Resources
LAST_MODIFIED_KEY
 
Constructor Summary
ResourcesBase(String name)
           논리적인 이름을 갖는 새 Resources 인스턴스를 생성한다.
ResourcesBase(String name, String base)
           논리적인 이름을 갖는 새 Resources 인스턴스를 생성한다.
 
Method Summary
 void destroy()
           리소스의 관리자가 더이상 리소스를 필요로하지 않는 경우에 호출되는 메소드이다.
 String getBase()
          해당 Resources 인스턴스를 생성하기 위한 정보를 리턴한다.
 byte[] getBytes(String key, Locale locale, TimeZone timeZone)
           주어진 key에 대한 컨텐트를 바이트 배열형태로 리턴한다.
 InputStream getInputStream(String key, Locale locale, TimeZone timeZone)
           인자로 받은 특정 key 에 대한 컨텐트를 InputStream형태로 리턴한다.
abstract  Iterator<Object> getKeys()
           해당 Resources 인스턴스에 정의된 키들을 Iterator로 리턴한다.
 String getName()
           해당 Resources 인스턴스에 대한 논리적인 이름을 리턴한다.
abstract  Object getObject(String key, Locale locale, TimeZone timeZone)
           인자로 받은 특정 key 에 대한 컨텐트를 Object형태로 리턴한다.
 Reader getReader(String key, Locale locale, TimeZone timeZone)
           인자로 받은 특정 key 에 대한 컨텐트를 Reader형태로 리턴한다.
 String getString(String key, Locale locale, TimeZone timeZone)
           인자로 받은 특정 key 에 대한 컨텐트를 String형태로 리턴한다.
 void init()
           해당 Resources인스턴스의 데이터 컨텐트를 초기화 하기 위해 호출되는 메소드이다.
 boolean isReturnNull()
           리소스의 getter 메소드가 잘못된 키 값에 대해 예외를 throw 하지않고, null을 리턴할 경우, 이 메소드는 true를 리턴한다.
 void setReturnNull(boolean returnNull)
           리소스 getter 메소드가 잘못된 키 값에 대해 예외를 throw 하는 대신에, null을 리턴할지에 대한 여부를 정의하는 플래그를 설정한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface kr.co.hit.live.resources.Resources
lastModified, lastModified
 

Field Detail

LIVE_RESOURCES_KEY_PREFIX

public static final String LIVE_RESOURCES_KEY_PREFIX
리소스 명으로부터 리소스 베이스 값을 얻기 위하여여 필요한 키를 생성할 때 사용하는 prefix

See Also:
Constant Field Values
Constructor Detail

ResourcesBase

public ResourcesBase(String name)

논리적인 이름을 갖는 새 Resources 인스턴스를 생성한다.

Parameters:
name - 새로운 인스턴스의 논리적인 이름

ResourcesBase

public ResourcesBase(String name,
                     String base)

논리적인 이름을 갖는 새 Resources 인스턴스를 생성한다.

Parameters:
name - 새로운 인스턴스의 논리적인 이름
base - 리소스 생성을 위한 설정 정보
Method Detail

init

public void init()
          throws ResourcesException

해당 Resources인스턴스의 데이터 컨텐트를 초기화 하기 위해 호출되는 메소드이다. 이 메소드는 getXxx() 메소드가 호출되기 전에 수행되어야 한다.

이 메소드에 대한 기본적인 구현은 제공되지 않는다.

Specified by:
init in interface Resources
Throws:
ResourcesException - 초기화 과정중에 에러가 발생한 경우

destroy

public void destroy()
             throws ResourcesException

리소스의 관리자가 더이상 리소스를 필요로하지 않는 경우에 호출되는 메소드이다. 이 메소드가 수행된 이후에는 어떠한 getXxx() 메소드도 호출될 수 없다.

이 메소드에 대한 기본적인 구현은 제공되지 않는다.

Specified by:
destroy in interface Resources
Throws:
ResourcesException - finalization시에 에러가 발생한 경우

getKeys

public abstract Iterator<Object> getKeys()
Description copied from interface: Resources

해당 Resources 인스턴스에 정의된 키들을 Iterator로 리턴한다.

Specified by:
getKeys in interface Resources

getName

public String getName()

해당 Resources 인스턴스에 대한 논리적인 이름을 리턴한다.

Specified by:
getName in interface Resources

getBase

public String getBase()
해당 Resources 인스턴스를 생성하기 위한 정보를 리턴한다.

Returns:

isReturnNull

public boolean isReturnNull()

리소스의 getter 메소드가 잘못된 키 값에 대해 예외를 throw 하지않고, null을 리턴할 경우, 이 메소드는 true를 리턴한다.

Specified by:
isReturnNull in interface Resources

setReturnNull

public void setReturnNull(boolean returnNull)

리소스 getter 메소드가 잘못된 키 값에 대해 예외를 throw 하는 대신에, null을 리턴할지에 대한 여부를 정의하는 플래그를 설정한다.

Specified by:
setReturnNull in interface Resources
Parameters:
returnNull - 새롭게 정의되는 플래그 값

getBytes

public byte[] getBytes(String key,
                       Locale locale,
                       TimeZone timeZone)

주어진 key에 대한 컨텐트를 바이트 배열형태로 리턴한다. 리턴되는 컨텐트는 명시된 locale과/혹은 timeZone을 기반으로 로컬화(localize)된다.

getString()을 호출하고 해당 값을 바이트 배열로 변환하는 내용이 디폴트로 구현되어있다.

Specified by:
getBytes in interface Resources
Parameters:
key - 요청한 컨텐트에 대한 식별자
locale - 로컬화를 수행하기 위한 로케일. 디폴트 로케일인 경우 null
timeZone - 로컬화를 수행하기 위한 타임존. 디폴트 타임존인 경우 null
Throws:
ResourcesException - 요청한 컨텐트를 조회하거나 리턴할때 에러가 발생하는 경우
ResourcesKeyException - 주어진 키에 대한 값이 존재하지 않고, isReturnNull()false를 리턴하는 경우

getInputStream

public InputStream getInputStream(String key,
                                  Locale locale,
                                  TimeZone timeZone)

인자로 받은 특정 key 에 대한 컨텐트를 InputStream형태로 리턴한다. 이 컨텐트는 명시된 locale과/혹은 timeZone에 의해 로컬화된다.

디폴트로 getsBytes()를 호출하고나서 결과로 얻은 바이트 배열을 input stream으로 리턴하게끔 제공된다.

Specified by:
getInputStream in interface Resources
Parameters:
key - 요청한 컨텐트에 대한 식별자
locale - 조회결과를 로컬화하기 위한 로케일, 디폴트 로케일을 사용할 경우 null
timeZone - 조회결과를 로컬화하기 위한 타임존, 디폴트 타임존을 사용할 경우 null
Throws:
ResourcesException - 요청한 컨텐트를 조회하거나 리턴할때 에러가 발생하는 경우
ResourcesKeyException - 명시된 키에 해당하는 값이 존재하지 않고 isReturnNull()false를 리턴하는 경우

getObject

public abstract Object getObject(String key,
                                 Locale locale,
                                 TimeZone timeZone)

인자로 받은 특정 key 에 대한 컨텐트를 Object형태로 리턴한다. 이 컨텐트는 명시된 locale과/혹은 timeZone에 의해 로컬화된다.

이 메소드는 기본적인 구현을 제공하지 않으므로, 실제 서브클래스가 구체적인 구현내용을 작성해야한다.

Specified by:
getObject in interface Resources
Parameters:
key - 요청한 컨텐트에 대한 식별자
locale - 조회결과를 로컬화하기 위한 로케일, 디폴트 로케일을 사용할 경우 null
timeZone - 조회결과를 로컬화하기 위한 타임존, 디폴트 타임존을 사용할 경우 null
Throws:
ResourcesException - 요청한 컨텐트를 조회하거나 리턴할때 에러가 발생하는 경우
ResourcesKeyException - 명시된 키에 해당하는 값이 존재하지 않고 isReturnNull()false를 리턴하는 경우

getReader

public Reader getReader(String key,
                        Locale locale,
                        TimeZone timeZone)

인자로 받은 특정 key 에 대한 컨텐트를 Reader형태로 리턴한다. 이 컨텐트는 명시된 locale과/혹은 timeZone에 의해 로컬화된다.

기본적으로 getString()을 호출하고 결과로 얻은 캐릭터들로 부터 reader를 생성하여 리턴하는 기능을 제공한다.

Specified by:
getReader in interface Resources
Parameters:
key - 요청한 컨텐트에 대한 식별자
locale - 조회결과를 로컬화하기 위한 로케일, 디폴트 로케일을 사용할 경우 null
timeZone - 조회결과를 로컬화하기 위한 타임존, 디폴트 타임존을 사용할 경우 null
Throws:
ResourcesException - 요청한 컨텐트를 조회하거나 리턴할때 에러가 발생하는 경우
ResourcesKeyException - 명시된 키에 해당하는 값이 존재하지 않고 isReturnNull()false를 리턴하는 경우

getString

public String getString(String key,
                        Locale locale,
                        TimeZone timeZone)

인자로 받은 특정 key 에 대한 컨텐트를 String형태로 리턴한다. 이 컨텐트는 명시된 locale과/혹은 timeZone에 의해 로컬화된다.

기본적으로 getObject()를 호출하고 필요한 경우, 결과를 String을 변환하도록 구현된다.

Specified by:
getString in interface Resources
Parameters:
key - 요청한 컨텐트에 대한 식별자
locale - 조회결과를 로컬화하기 위한 로케일, 디폴트 로케일을 사용할 경우 null
timeZone - 조회결과를 로컬화하기 위한 타임존, 디폴트 타임존을 사용할 경우 null
Throws:
ResourcesException - 요청한 컨텐트를 조회하거나 리턴할때 에러가 발생하는 경우
ResourcesKeyException - 명시된 키에 해당하는 값이 존재하지 않고 isReturnNull()false를 리턴하는 경우


Copyright © 2014. All Rights Reserved.