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

    java.lang.Object
      tle.framework.ComponentManager

public class ComponentManager
extends java.lang.Object

틀 프레임워크의 모든 컴포넌트를 관리한다.

ComponentManager는 MBeanServerWrapper 클래스를 사용해서 컴포넌트를 등록/제거한다.

Since:
  2.0
Author:
  최범균

Method Summary
`(package private) Component` | `getComponent(java.lang.String componentID)` 지정한 아이디의 컴포넌트를 리턴한다.
`(package private) static ComponentManager` | `getInstance()` ComponentManager의 singleton 인스턴스를 리턴한다.
`(package private) void` | `registComponent(Component component, ComponentConfig config)` 외부에서 직접 생성한 컴포넌트를 등록한다.
`(package private) void` | `registComponent(ComponentConfig config)` 컴포넌트 설정 정보로부터 컴포넌트 인스턴스를 생성한 뒤, registComponent(Component, ComponentConfig) 메소드를 호출해서 컴포넌트를 등록한다.
`(package private) void` | `unregistAllComponent()` ComponentManager를 통해서 등록된 모든 컴포넌트를 제거한다.
`(package private) void` | `unregistComponent(java.lang.String componentID)` 컴포넌트를 제거한다.

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

Method Detail

### getInstance

    static ComponentManager getInstance()

  ComponentManager의 singleton 인스턴스를 리턴한다.

  Returns:
    singleton 인스턴스

### getComponent

    Component getComponent(java.lang.String componentID)
                     throws ComponentNotFoundException

  지정한 아이디의 컴포넌트를 리턴한다.

  Returns:
  Throws:
    `ComponentNotFoundException`

### registComponent

    void registComponent(Component component,
                         ComponentConfig config)
                   throws ComponentException

  외부에서 직접 생성한 컴포넌트를 등록한다.

  등록하는 과정은 다음과 같다.

  1. component.isCreate() 메소드가 true이면 component.init() 메소드를 호출하여 컴포넌트를 초기화한다.
  2. component.isInited() 메소드가 true이면 component.start() 메소드를 호출하여 컴포넌트를 시작한다.
  즉, 위의 과정은 이미 컴포넌트가 초기화되어 있다면 초기화 과정을 반복하지 않고 곧바로 컴포넌트를 구동한다는 것을 의미한다.

  Parameters:
    `component` - 등록할 컴포넌트
    `config` - 초기화 정보
  Throws:
    `ComponentException`

### registComponent

    void registComponent(ComponentConfig config)
                   throws ComponentException

  컴포넌트 설정 정보로부터 컴포넌트 인스턴스를 생성한 뒤, registComponent(Component, ComponentConfig) 메소드를 호출해서 컴포넌트를 등록한다.

  Parameters:
    `config` - 컴포넌트 설정 정보
  Throws:
    `ComponentException`

### unregistComponent

    void unregistComponent(java.lang.String componentID)
                     throws ComponentException

  컴포넌트를 제거한다.

  컴포넌트가 실행중이거나 정지됨 상태인 경우 컴포넌트를 중지하고 종료한 뒤에 컴포넌트를 제거한다. 컴포넌트 제거 과정은 다음과 같다.

  1. 컴포넌트가 동작중이거나 일시정지중인 상태이면 컴포넌트를 정지(stop) 한다.
  2. 컴포넌트를 종료(close)한다.
  3. 컴포넌트를 MBeanServer에서 제거한다.

  Throws:
    `ComponentException`

### unregistAllComponent

    void unregistAllComponent()

  ComponentManager를 통해서 등록된 모든 컴포넌트를 제거한다.

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