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

java.lang.Object
  extended by kr.co.hit.live.resources.impl.ResourcesFactoryBase
All Implemented Interfaces:
ResourcesFactory
Direct Known Subclasses:
DatabaseResourcesFactory, PropertyResourcesFactory, ResourceBundleResourcesFactory, XMLResourcesFactory

public abstract class ResourcesFactoryBase
extends Object
implements ResourcesFactory

ResourcesFactory를 편리하게 구현할 수 있도록 제공되는 베이스 클래스이다. 이 클래스를 기반으로 구현된 클래스는 protected 메소드인 createResources()에 의해 리턴된 Resources 인스턴스를 캐슁한다. createResources() 메소드는 서브클래스에 의해 구현되어야 한다.

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

Field Summary
protected  Map<String,Resources> resources
           해당 ResourcesFactory에 의해 생성된 Resources 인스턴스의 집합.
protected  boolean returnNull
           팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값
 
Constructor Summary
ResourcesFactoryBase()
           
 
Method Summary
protected abstract  Resources createResources(String name, String base)
           명시된 논리명을 기반으로 새로운 Resources 인스턴스를 생성하여 리턴한다.
 Resources getResources(String name)
           명시된 이름과 디폴트 configuration 정보에 준하여 Resources 인스턴스를 생성하여 리턴한다.
 Resources getResources(String name, String base)
           명시된 논리명과 configuration 스트링 기반의 configuration 정보를 가지고 Resources 인스턴스를 (필요한경우)생성하고 리턴한다.
 boolean isReturnNull()
           팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값을 리턴한다.
 void release()
           이전에 리턴되었던 Resources에 대한 내부 레퍼런스를 해제한다.
 void release(String name)
          이전에 리턴되었던 Resources인스턴스에 대한 내부 레퍼런스를 해제한다.
 void setReturnNull(boolean returnNull)
           팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값을 설정한다.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resources

protected Map<String,Resources> resources

해당 ResourcesFactory에 의해 생성된 Resources 인스턴스의 집합. 이름을 key로하여 식별된다.


returnNull

protected boolean returnNull

팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값

Constructor Detail

ResourcesFactoryBase

public ResourcesFactoryBase()
Method Detail

isReturnNull

public boolean isReturnNull()

팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값을 리턴한다.

Specified by:
isReturnNull in interface ResourcesFactory

setReturnNull

public void setReturnNull(boolean returnNull)

팩토리에 의해 생성된 Resources 인스턴스에 설정될 returnNull 프로퍼티의 값을 설정한다.

Specified by:
setReturnNull in interface ResourcesFactory
Parameters:
returnNull - 설정될 새로운 값

getResources

public Resources getResources(String name)
                       throws ResourcesException

명시된 이름과 디폴트 configuration 정보에 준하여 Resources 인스턴스를 생성하여 리턴한다. 기본적으로 이 메소드는 전달된 리소스 인스턴스의 이름을 configuration 문자열로 취급하여 내부적으로 getResources(String,String) 메소드를 호출한다.

Specified by:
getResources in interface ResourcesFactory
Parameters:
name - 리턴되어야 하는 Resources 인스턴스의 이름(logical name)
Throws:
ResourcesException - 명시된 이름의 Resources 인스턴스가 리턴될 수 없는 경우

getResources

public Resources getResources(String name,
                              String base)
                       throws ResourcesException

명시된 논리명과 configuration 스트링 기반의 configuration 정보를 가지고 Resources 인스턴스를 (필요한경우)생성하고 리턴한다.

Specified by:
getResources in interface ResourcesFactory
Parameters:
name - 리턴되어야 하는 Resources 인스턴스의 논리명
base - 해당 리소스 구현에 대한 Configuration 스트링. 디폴트 설정을 사용하는 경우 null
Throws:
ResourcesException - 명시된 논리명을 갖는 Resources인스턴스가 리턴될 수 없는 경우

release

public void release()
             throws ResourcesException

이전에 리턴되었던 Resources에 대한 내부 레퍼런스를 해제한다. 이때 각 인스턴스들에 대해 destroy() 메소드가 호출된다.

Specified by:
release in interface ResourcesFactory
Throws:
ResourcesException - 해제 도중에 에러가 발생한 경우

release

public void release(String name)
             throws ResourcesException
Description copied from interface: ResourcesFactory
이전에 리턴되었던 Resources인스턴스에 대한 내부 레퍼런스를 해제한다. name으로 주어진 해당 인스턴스의 destroy()메소드가 호출된다.

Specified by:
release in interface ResourcesFactory
Throws:
ResourcesException

createResources

protected abstract Resources createResources(String name,
                                             String base)
                                      throws ResourcesException

명시된 논리명을 기반으로 새로운 Resources 인스턴스를 생성하여 리턴한다. 내부적으로 init() 메소드의 수행 후에 관련 프로퍼티를 위임한다. 실제로 사용될 서브클래스는 이 메소드를 반드시 구현해야 한다.

Parameters:
name - 생성할 Resources 인스턴스에 대한 논리명
Throws:
ResourcesException - 명시된 논리명의 Resources 인스턴스가 생성될 수 없는 경우


Copyright © 2014. All Rights Reserved.