이벤트 인스턴스 메타데이터 액세스

이벤트 인스턴스 메타데이터에는 Java 기반 Eclipse Modeling Framework를 통해 액세스합니다.

이벤트 오브젝트에 대한 작업에 필요한 클래스와 인터페이스를 제공하는 org.eclipse.hyades.logging.events.cbe 패키지는 EMF(Eclipse Modeling Framework)를 기반으로 합니다. EMF는 구조화 데이터 모델에 기반한 응용프로그램 코드를 생성하는 데 사용되는 Java 프레임워크로, 데이터 모델을 설명하는 메타데이터 액세스에 사용될 수 있는 생성된 코드로 인터페이스를 제공합니다. (EMF에 대한 자세한 정보는 http://www.eclipse.org/emf에서 Eclipse Modeling Framework 문서를 참조하십시오.)

이러한 인터페이스를 사용하면 EMF 호환 가능 도구는 데이터 모델에 대한 사전 지식이나 구현 액세스 없이 CommonBaseEvent 이벤트 데이터와 상호작용할 수 있습니다. 이를 통해 개발 도구는 다른 데이터 모델에서 CommonBaseEvent 모델로 데이터를 전송하는 코드를 생성할 수 있습니다. 그러면 응용프로그램 개발자는 데이터를 빌드하는 코드가 아닌 데이터를 사용하는 코드 작성에 중점을 둘 수 있습니다.

예를 들어, 네트워크 데이터를 모니터하고 자체 데이터 모델을 EMF 관점에서 설명하는 이벤트 소스를 고려해 보십시오. 데이터 모델 모두에 대한 액세스를 통해, 개발 도구는 CommonBaseEvent 데이터 모델의 필드와 함께 이벤트 소스 데이터 모델의 필드를 표시할 수 있습니다. 개발자는 그래픽 인터페이스를 사용하여 이벤트 소스 모델의 필드가 CommonBaseEvent 모델의 필드로 맵핑되는 방법을 표시할 수 있습니다. 예를 들어, 이벤트 소스 데이터 모델의 Workstation.name이라는 필드는 CommonBaseEvent 데이터 모델의 CommonBaseEvent.sourceComponentId.location 필드에 대응될 수 있습니다. 두 데이터 모델 모두 표준 EMF 인터페이스를 사용하여 설명되므로 도구는 두 모델 간의 데이터 전송을 처리하는 코드를 생성할 수 있습니다.

다음 코드 단편은 개발 도구가 EMF 인터페이스를 사용하여 CommonBaseEvent 데이터에 대한 정보를 조회한 후 해당 정보를 사용하여 이벤트 인터페이스와 상호작용하는 방법에 대한 간단한 예제입니다. 이 예는 간단한 이벤트 소비자의 일부가 될 수 있습니다. 이벤트 인스턴스의 모든 필드를 통해 반복되며, 각 예제에 대해 필드 이름 및 값을 인쇄합니다.

// event is a valid CommonBaseEvent instance

// Get list of event instance structural features (fields)
List features = event.eClass().getEAllStructuralFeatures();

// iterate through list; print names and values
for (int i = 0 ; i < features.size() ; i++)
  {
    EStructuralFeature feature = (EStructuralFeature)features.get(i);
    Object value = eObj.eGet(feature);
    System.out.println(feature.getName() + ":" + value);
  }

CommonBaseEvent 데이터 모델은 EMF 파일 cbe.ecore 및 cbe.genmodel에 설명되어 있습니다. 이러한 파일은 공통 이벤트 하부 구조 SDK에 포함됩니다. 이 파일을 Eclipse 기반 개발 환경으로 가져오고 EMF를 사용하여 CommonBaseEvent 오브젝트와 상호작용하는 코드를 생성할 수 있습니다.


이용약관 |

최종 갱신: Fri Jun 2 2006

(c) Copyright IBM Corporation 2005.
이 Information Center는 Eclipse 기술을 기반으로 합니다. (http://www.eclipse.org)