API 문서에 달리 명시되어 있지 않는 이상 javadoc 참조에
표시된 API만 프로그래밍에 사용할 수 있습니다. javadoc의 API는 안정적이므로 버전과 관계 없이 제거되지 않습니다. 향후 릴리스에서는
CARMA API가 더 이상 사용되지 않지만 문서에 정의된 대로 앞으로도
프로그래머가 계속 사용할 수 있어야 합니다. CARMA 플러그인에
다른 API도 있지만 지원되지 않는 것으로 간주되며
향후 릴리스에서 변경될 예정입니다.
CARMA 모델 API(com.ibm.carma.model 패키지)는 프로그래머의 관점에서 읽기만 수행할 수 있습니다.
예를 들어 프로그래머가 CARMA 모델에서 수동으로 항목을
작성/추가/이동할 수 없습니다. 계층 구조의 오브젝트는 refreshXXX() 및 createXXX() 메소드를 통해 갱신됩니다.
API 메소드를 사용하지 않고 모델 오브젝트를 작성할 수는 없습니다. API 메소드를
사용하지 않고 모델 오브젝트를 작성하는 경우 불일치가 발생할 수
있습니다.
모든 저장소 자원은 필터 문자열과 연관된 모델에
나열됩니다. 기본 필터 문자열은 “*”입니다.
대부분의 CARMA 모델 메소드의 경우 실행될 때
CARMA 호스트와의 연결이 활성화되어야 합니다. 연결이 활성화되지 않으면
com.ibm.carma.transport.NotConnected 예외가 발생합니다.
CARMA 호스트 연결을 활성화해야 하는 CARMA 메소드에는 메소드 서명의 org.eclipse.core.runtime.IProgressMonitor
매개변수가 있습니다. 메소드 실행을 취소하기 위해 오랜 시간이 소요되는 메소드 실행 중에 선택되는 IProgressMonitor.isCancelled() 메소드를 사용합니다.
CARMA 모델은 CARMA 계층 구조의 데이터 캐시 역할을 수행합니다. 프로그래머는
모델에서 refreshXXX() 메소드를 사용하여 캐시를 최신 상태로
유지해야 합니다.
CARMA 모델 캐시를 초기화해야 합니다. 캐시되지 않은
CARMA 계층 구조 부분에 액세스하게 되면 com.ibm.carma.transport.NotSynchronizedException이
발생합니다. 예외를 복구하려면 오브젝트에서 refreshXXX() 메소드를
실행하십시오.
CARMA 모델 캐시의 오브젝트는 CARMA 호스트와의 연결이
끊어지면 사용할 수 있습니다. CARMA 호스트에 액세스하는 캐시 오브젝트에 대해
메소드를 실행하려면 CARMA 호스트를 활성으로 연결해야 합니다.
모델 변경사항은 알림을 통해 리스너로 전달됩니다. 이 알림은
모델 오브젝트를 수신 대기하는 모든 어댑터에 전달됩니다. org.eclipse.emf.common.notify.Adapter를
확장하는 클래스를 사용하여 리스너를 모델에 추가해야 합니다.
이것이 EMF(Eclipse Modeling Framework) 알림 메소드입니다. 어댑터 알림에 대한
자세한 정보는 EMF 문서를 참조하십시오.
기본 CARMA UI(구체화된 com.ibm.carma.ui.* API 포함)는 조치와 작업을 조합하여 CARMA 모델에서
메소드를 실행합니다. 조치(org.eclipse.ui.IAction 또는 org.eclipse.ui.IActionDelegate 확장)는
모델 메소드를 실행하기 위해 필요한 데이터를 수집합니다. 수집된 데이터는 CARMA UI 작업에 전달되며 이 UI 작업은 자원을 사용할 수 있을 때 배경에서 실행될 예정입니다. 모델 메소드로 인해
CARMA 계층 구조가 갱신되면 모델에서 리스너로 알림이 전달되어
필요에 따라 UI를 갱신합니다.