모델에서 모델로 변환에서,
조건을 지정할 경우 지정된 Java™ 코드가
true 부울 값을 리턴하는 경우에만 입력 요소의
인스턴스에 맵핑 규칙이 적용됩니다.
조건을 지정하지 않는 경우 사용자가 변환을 실행할 때
항상 맵핑 규칙이 적용됩니다.
Eclipse가
제공하는 OCL(Object Constraint Language) API를 사용하여 시맨틱 정제를
지정할 수 있습니다.시작하기 전에
맵핑 모델이
열려 있어야 합니다. 맵핑 모델의
파일 이름 확장자는 .mapping입니다. 맵핑 모델에는
하나 이상의 맵핑 선언이 있어야 합니다,
여기에는 하나 이상의 이동 또는 서브맵 맵핑
규칙이 있어야 합니다.
이 태스크 정보
이동 또는 서브맵 맵핑 규칙에 대한 조건을 지정하려면 다음을 수행하십시오.
- 편집기 영역에서 맵핑 규칙을
마우스 오른쪽 단추로 클릭한 후 특성에 표시를 클릭하십시오.
- 특성 보기에서 조건 탭을 클릭하십시오.
- 조건을 작성하려면 이 변환에 조건
적용 선택란을 선택하십시오.
- 조건의 구현 세부사항을 지정하려면 다음 단계 중
하나를 완료하십시오.
- 사용자가 변환을 실행할 때 인라인으로 실행되는
Java 코드를 지정하려면
코드 옵션 아래에 있는 텍스트 영역에서
인라인을 클릭하십시오. 인라인 단추 아래에 있는 텍스트 영역에서
Java 소스 코드를 지정한 후
적용을 클릭하십시오. 지정하는 코드는 부울 값을 리턴해야 합니다.
팁: 올바른 변수 이름 목록을 표시하려면
인라인 단추 아래에 있는 텍스트 영역에서
Ctrl+Space를 누르십시오.
- Java 클래스에 있는 코드를 지정하려면
외부를 클릭하십시오. 클래스 필드에서,
코드가 있는 Java 클래스를 지정하십시오.
작업공간에서 올바른 클래스를 선택하려면 찾아보기를
클릭하십시오.
주: 사용자가 지정하는 Java 클래스는
org.eclipse.emf.query.conditions.Condition 클래스를 확장해야 합니다.
지정하는 클래스의 isSatisfied() 메소드는
입력 요소의 인스턴스로 호출되고 메소드는 부울 값을 리턴합니다.
팁: 조건을 구현하는
Java 클래스를 작성하려면
새로 작성을 클릭한 후 새 Java 클래스 창에서 필드를 완료하십시오.
- 을 클릭하십시오.