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
Class DefaultRequestProcessor

    java.lang.Object
      tle.framework.component.impl.ComponentBase
          tle.framework.component.impl.rp.DefaultRequestProcessor

All Implemented Interfaces:
  Component, ComponentMBean, DefaultRequestProcessorMBean, RequestProcessor

    public class DefaultRequestProcessor

extends ComponentBase
implements RequestProcessor, DefaultRequestProcessorMBean

RequestProcessor의 기본 구현체.

TLEFramework의 초기 설정 파일의 "configFile" 초기화 파라미터로 명시한 파일로부터 초기 설정 정보를 읽어온다. 만약 "configFile" 초기화 프로퍼티를 명시하지 않았을 경우에는 사용자 홈 디렉토리의 "DefaultRequestProcessor.xml" 파일을 사용한다.

Since:
  2.0
Author:
  최범균

Field Summary

Fields inherited from class tle.framework.component.impl.ComponentBase
`componentState, config`

Constructor Summary
`DefaultRequestProcessor()`

Method Summary
`java.lang.String` | `getConfigFilePath()` 설정 파일의 경로를 리턴한다.
`java.lang.String` | `getHandlerFullName(java.lang.String handlerID)` 핸들러 ID에 해당하는 핸들러의 완전한 이름을 구한다.
`java.lang.String` | `getHandlerIDForCommandID(java.lang.String commandID)` 지정한 커맨드 ID를 처리하는 핸들러 ID를 리턴한다.
`java.lang.String[]` | `getHandlerIndependentClassPath()` 독립적인 클래스 패스를 사용해서 핸들러 클래스를 읽어올 경우 사용하는 클래스 패스를 리턴한다.
`protected void` | `initing(ComponentConfig config)` 설정 파일로부터 정보를 읽어와 CommandHandlerFactory를 생성한다.
`boolean` | `isUseDefaultOnInvalidMapping()` 설정 파일의 command-handler-mapping 태그의 useDefaultOnInvalidMapping 속성값을 구한다.
`boolean` | `isUsingHandlerIndependentClassPath()` 클라이언트의 요청을 처리하는 핸들러 클래스가 독립적인 클래스 패스에 존재할 경우 true를 리턴한다.
`Result` | `process(RequestInfo ri)` 명령어를 처리하는 CommandHandler를 사용하여 클라이언트의 요청을 처리한 뒤 그 결과인 DefaultResult를 리턴한다.
`void` | `reloadConfiguration()` 설정 파일을 리로딩한다.
`void` | `reloadHandlerClasses()` 핸들러 클래스를 위한 독립적인 클래스 패스를 사용하는 경우, CommandHandlerFactory.reloadHandlerClasses() 메소드를 호출한다.

Methods inherited from class tle.framework.component.impl.ComponentBase
`close, closing, getDescription, getID, getState, init, isClosed, isClosing, isCreated, isErrorOccured, isInited, isIniting, isResuming, isRunning, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, resuming, start, starting, stop, stopping, suspend, suspending`

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

Methods inherited from interface tle.framework.component.Component
`close, getID, init, isClosed, isClosing, isCreated, isErrorOccured, isInited, isIniting, isResuming, isRunning, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, start, stop, suspend`

Methods inherited from interface tle.framework.component.ComponentMBean
`getDescription, getID, getState`

Constructor Detail

### DefaultRequestProcessor

    public DefaultRequestProcessor()

Method Detail

### getConfigFilePath

    public java.lang.String getConfigFilePath()

  Description copied from interface: `DefaultRequestProcessorMBean`
  설정 파일의 경로를 리턴한다.

  Specified by:
    `getConfigFilePath` in interface `DefaultRequestProcessorMBean`
  Returns:
    설정 파일 경로
  See Also:
    `DefaultRequestProcessorMBean.getConfigFilePath()`

### isUsingHandlerIndependentClassPath

    public boolean isUsingHandlerIndependentClassPath()

  Description copied from interface: `DefaultRequestProcessorMBean`
  클라이언트의 요청을 처리하는 핸들러 클래스가 독립적인 클래스 패스에 존재할 경우 true를 리턴한다.

  Specified by:
    `isUsingHandlerIndependentClassPath` in interface `DefaultRequestProcessorMBean`
  Returns:
    독립적인 클래스 패스를 사용할 경우 true
  See Also:
    `DefaultRequestProcessorMBean.isUsingHandlerIndependentClassPath()`

### getHandlerIndependentClassPath

    public java.lang.String[] getHandlerIndependentClassPath()

  Description copied from interface: `DefaultRequestProcessorMBean`
  독립적인 클래스 패스를 사용해서 핸들러 클래스를 읽어올 경우 사용하는 클래스 패스를 리턴한다.

  Specified by:
    `getHandlerIndependentClassPath` in interface `DefaultRequestProcessorMBean`
  Returns:
    독립적으로 사용하는 핸들러 클래스들의 클래스 패스
  See Also:
    `DefaultRequestProcessorMBean.getHandlerIndependentClassPath()`

### reloadHandlerClasses

    public void reloadHandlerClasses()
                              throws ComponentException

  핸들러 클래스를 위한 독립적인 클래스 패스를 사용하는 경우, CommandHandlerFactory.reloadHandlerClasses() 메소드를 호출한다.

  Specified by:
    `reloadHandlerClasses` in interface `DefaultRequestProcessorMBean`
  Throws:
    `ComponentException`
    `java.lang.UnsupportedOperationException` - 독립적인 클래스 패스를 사용하지 않는 걸로 설정되어 있는 경우 발생한다.
  See Also:
    `DefaultRequestProcessorMBean.reloadHandlerClasses()`

### reloadConfiguration

    public void reloadConfiguration()
                             throws ComponentException

  설정 파일을 리로딩한다.

  핸들러 클래스 목록을 다시 생성하고 명령어와 핸들러 사이의 매핑 정보도 다시 생성한다.

  Specified by:
    `reloadConfiguration` in interface `DefaultRequestProcessorMBean`
  Throws:
    `ComponentException`
  See Also:
    `DefaultRequestProcessorMBean.reloadConfiguration()`

### initing

    protected void initing(ComponentConfig config)
                    throws ComponentException

  설정 파일로부터 정보를 읽어와 CommandHandlerFactory를 생성한다.

  설정 파일의 경로는 configFile 초기화 파라미터로부터 가져온다.

  Overrides:
    `initing` in class `ComponentBase`
  Parameters:
    `config` - 컴포넌트 초기화 설정 정보를 담고 있는 객체
  Throws:
    `ComponentException`
  See Also:
    `ComponentBase.initing(tle.framework.component.ComponentConfig)`

### process

    public Result process(RequestInfo ri)
                   throws ComponentException

  명령어를 처리하는 CommandHandler를 사용하여 클라이언트의 요청을 처리한 뒤 그 결과인 DefaultResult를 리턴한다.

  CommandHandler는 가급적이면 process() 메소드에서 클라이언트의 요청을 처리하는 과정에서 발생한 예외의 경우 리턴하는 Result에 명시해주어야 하며 예외를 발생시키면 안 된다.

  Specified by:
    `process` in interface `RequestProcessor`
  Parameters:
    `ri` - 요청 분석 정보
  Returns:
    처리 결과
  Throws:
    `ComponentException` - 명령어 ID에 해당하는 CommandHandler가 NoHandlerCommandHandler인 경우에 발생한다.
  See Also:
    `RequestProcessor.process(tle.framework.component.spi.ra.RequestInfo)`

### getHandlerIDForCommandID

    public java.lang.String getHandlerIDForCommandID(java.lang.String commandID)

  Description copied from interface: `DefaultRequestProcessorMBean`
  지정한 커맨드 ID를 처리하는 핸들러 ID를 리턴한다. 기본 핸들러와 매핑된 경우 기본 핸들러의 클래스 이름을 리턴한다.

  Specified by:
    `getHandlerIDForCommandID` in interface `DefaultRequestProcessorMBean`
  Returns:
  See Also:
    `DefaultRequestProcessorMBean.getHandlerIDForCommandID(java.lang.String)`

### getHandlerFullName

    public java.lang.String getHandlerFullName(java.lang.String handlerID)

  Description copied from interface: `DefaultRequestProcessorMBean`
  핸들러 ID에 해당하는 핸들러의 완전한 이름을 구한다. 핸들러가 존재하지 않을 경우 null을 리턴한다.

  Specified by:
    `getHandlerFullName` in interface `DefaultRequestProcessorMBean`
  Returns:
  See Also:
    `DefaultRequestProcessorMBean.getHandlerFullName(java.lang.String)`

### isUseDefaultOnInvalidMapping

    public boolean isUseDefaultOnInvalidMapping()

  Description copied from interface: `DefaultRequestProcessorMBean`
  설정 파일의 command-handler-mapping 태그의 useDefaultOnInvalidMapping 속성값을 구한다.

  Specified by:
    `isUseDefaultOnInvalidMapping` in interface `DefaultRequestProcessorMBean`
  Returns:
  See Also:
    `DefaultRequestProcessorMBean.isUseDefaultOnInvalidMapping()`

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