모델에서 모델로 변환 맵핑
프로젝트에서, 맵핑 선언에서 지정하는 맵핑 규칙을
정제할 수 있습니다. 이 기능을 사용하면 맵핑 규칙의 동작을
사용자 정의할 수 있습니다.
시작하기 전에
맵핑 모델이
열려 있어야 합니다. 맵핑 모델의
파일 이름 확장자는 .mapping입니다. 맵핑 모델에는
하나 이상의 맵핑 선언이 있어야 합니다
그리고 맵핑 규칙은
맵핑 선언에서 정의해야 합니다.
모델에서 모델로 변환에 대한 맵핑 템플리트 관리
맵핑 템플리트를 작성, 편집 또는 제거할 수 있습니다. 맵핑 템플리트를
사용하여, 맵핑 규칙 조건, 추출기, 입력 필터 또는 출력
필터에 대한 코드를 지정할 때 최근에 사용된 코드 패턴을 삽입할 수 있습니다.
기본 템플리트가 제공되지만 사용자가 다른 템플리트를 작성하거나 가져올 수 있습니다.
이동 및 서브맵 맵핑 규칙에 대한 조건 지정 모델에서 모델로 변환에서,
조건을 지정할 경우 지정된 Java™ 코드가
true 부울 값을 리턴하는 경우에만 입력 요소의
인스턴스에 맵핑 규칙이 적용됩니다.
조건을 지정하지 않는 경우 사용자가 변환을 실행할 때
항상 맵핑 규칙이 적용됩니다. Eclipse가
제공하는 OCL(Object Constraint Language) API를 사용하여 시맨틱 정제를
지정할 수 있습니다.
서브맵 맵핑 규칙에서 맵핑 파일 정보 지정
모델에서 모델로 변환에서
서브맵 맵핑 규칙이 호출하는 맵핑 선언(맵이라고도 함)을
지정할 수 있습니다. 서브맵 규칙은 독립 맵핑 파일에 존재하는 맵핑 선언을
적용할 수 있습니다.
서브맵 맵핑 규칙에서 입력 오브젝트 및 출력 오브젝트 필터 지정 입력 및 출력 오브젝트의
속성은 기타 오브젝트의 콜렉션이 될 수 있습니다. 맵핑 선언에서
서브맵 맵핑 규칙을 지정할 때 속성 콜렉션에서 요소에 적용되는
입력 및 출력 필터를 작성할 수 있습니다. 변환을 실행할 때
콜렉션의 각 요소에 필터가 적용됩니다. 필터가 요소에 대해 true를
리턴하면 요소가 변환됩니다.
소스 오브젝트와의 직접 대응 없이 오브젝트 작성
기본적으로, 맵핑 편집기를 사용하여 단일 소스 컨테이너의 요소에서
단일 대상 컨테이너의 요소로 맵핑할 수 있습니다. 그러나 맵핑 대상과
다른 대상 컨테이너에서도 오브젝트를 작성할 수 있도록 생성된 변환을
수정할 수 있습니다.
서브맵 맵핑 규칙에서 사용자 정의 추출기 지정
서브맵 맵핑 규칙에 대한
변환 소스 코드는 다른 변환을 호출합니다. 서브맵 맵핑 규칙의 입력
속성이 오브젝트 콜렉션을 표시하는 경우 서브맵 규칙에 지정된
변환은 콜렉션에 있는 오브젝트마다 한 번씩 실행됩니다. 입력 필터나
사용자 정의 추출기를 지정하여 이 기본 동작을 수정할 수 있습니다.
생성된 변환 코드를 실행할 때 사용자 정의 추출기가 리턴하는
오브젝트의 콜렉션은 입력 속성 콜렉션 대신 사용됩니다.