Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## tle.framework.component.impl.rp.handler
Class CommandHandlerFactory

    java.lang.Object
      tle.framework.component.impl.rp.handler.CommandHandlerFactory

public class CommandHandlerFactory
extends java.lang.Object

RequestInfo에 알맞은 CommandHandler를 생성해주는 팩토리.

Since:
  2.0
Author:
  최범균

Constructor Summary
`CommandHandlerFactory(DefaultRPConfiguration configuration)` DefaultRPConfiguration에서 <핸들러ID, 핸들러클래스> 매핑 정보를 읽어와 핸들러 클래스의 인스턴스를 생성한다.

Method Summary
`CommandHandler` | `createCommandHandler(RequestInfo requestInfo)` 요청 정보에 알맞은 CommandHandler를 리턴한다.
`void` | `init(DefaultRPConfiguration configuration)` initHandler() 메소드를 호출하여 핸들러 목록을 생성하고 initCommandHandlerMapping() 메소드를 호출하여 명령어와 핸들러 사이의 매핑 정보를 다시 생성한다.
`void` | `reloadHandlerClasses(DefaultRPConfiguration configuration)` 핸들러 클래스를 리로딩한다.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CommandHandlerFactory

    public CommandHandlerFactory(DefaultRPConfiguration configuration)

  DefaultRPConfiguration에서 <핸들러ID, 핸들러클래스> 매핑 정보를 읽어와 핸들러 클래스의 인스턴스를 생성한다.

  별도의 클래스 로더를 사용할 경우 CommandHandlerClassLoader 를 사용하여 클래스의 인스턴스를 생성한다.

Method Detail

### init

    public void init(DefaultRPConfiguration configuration)

  initHandler() 메소드를 호출하여 핸들러 목록을 생성하고 initCommandHandlerMapping() 메소드를 호출하여 명령어와 핸들러 사이의 매핑 정보를 다시 생성한다.

  Parameters:
    `configuration` - 설정 정보

### createCommandHandler

    public CommandHandler createCommandHandler(RequestInfo requestInfo)

  요청 정보에 알맞은 CommandHandler를 리턴한다. 만약 요청 정보에 해당하는 CommandHandler가 없다면 기본핸들러를 리턴한다. (기본 핸들러는 설정 파일에서 명시한다.

  Parameters:
    `requestInfo` -
  Returns:
    요청 정보에 해당하는 명령어 핸들러

### reloadHandlerClasses

    public void reloadHandlerClasses(DefaultRPConfiguration configuration)

  핸들러 클래스를 리로딩한다.

  단, CommandHandlerClassLoader를 클래스로더로 사용하는 경우에만 핸들러 클래스 리로딩이 가능하다.

  핸들러 클래스를 리로딩할 때에는 먼저 클래스로더를 새롭게 생성하고, 그 뒤에 initHandler() 메소드를 호출한다.

  Parameters:
    `configuration` - 설정 정보
  Throws:
    `java.lang.UnsupportedOperationException` - 핸들러 리로딩을 지원하지 않는 경우에 발생한다.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD