변환 구성의 파일 이름 확장자는 .tc이며 이 변환 구성에는 사용자가 예상하는 출력을 생성하기 위해 변환이 사용하는 정보가 들어 있습니다. 또한 변환 구성에는 특정 유형의 변환에 대한 특정 정보도 들어 있습니다. 기존의 변환 구성을 편집하려면, 작업공간 자원을 표시하는 보기에서 변환 구성 편집기를 여는 변환 구성 파일을 두 번 클릭하십시오.
이 옵션은 역변환에서 Getter 및 Setter 메소드 생성 옵션과 같은 변환 특성을 수정합니다. 선택란 중 하나를 선택하면 다른 선택란에서 선택 표시를 지우는 것과 같습니다. 역변환을 실행할 때 Java getter 및 setter를 생성하지만 순방향 변환을 실행할 때는 대상 UML 모델에서 Java getter 및 setter에 대한 UML 오퍼레이션을 표시하지 않으려는 경우 이 선택란에서 선택 표시를 지우십시오.
변환 대상이 기존의 UML 모델인 경우 대상 모델과 동일한 패키지 구조를 지정해야 합니다. 그러면 변환이 생성하는 임시 모델과 대상 모델 사이에 해결해야 하는 차이점 수를 줄일 수 있습니다.
예를 들어, 소스 Java 프로젝트에 a.b.Y 및 a.b.c.Z 클래스가 있다고 가정합니다. 선택란을 선택하면 변환은 UML 패키지 a.b 및 a.b.c를 생성합니다. 이 패키지는 계층 구조가 아닙니다. UML 클래스 Y는 UML 패키지 a.b에서 작성되고 UML 클래스 Z는 UML 패키지 a.b.c에서 작성됩니다. 선택란에서 선택 표시를 지우면 UML 패키지 a가 작성되고, UML 패키지 b는 패키지 a에서 작성되며, UML 패키지 c는 패키지 b에서 작성됩니다. UML 클래스 Z는 패키지 c에서, UML 클래스 Y는 패키지 b에서 작성됩니다.
로그 파일은 소스 요소, 대상 요소, 그리고 변환이 소스 요소를 변환하기 위해 적용하는 규칙에 대한 정보를 제공합니다. 변환이 많은 요소를 변환하는 경우 변환이 로그 파일을 생성하는 동안 성능이 저하될 수 있으므로 디버깅 목적으로만 로그 파일을 생성해야 합니다.
변환을 자동 모드에서 실행하면 변환에서 생성되는 모든 대화 상자가 억제됩니다. 변환은 기본 규칙 및 동작을 적용하며 예상하지 못했거나 올바르지 않은 변환 출력이 생성될 수 있습니다. 변환 출력의 유효성을 검증하는 대신 변환 실행의 유효성을 검증해야 할 경우에만 변환을 자동 모드에서 실행해야 합니다. 예를 들어, 자동화된 타스크나 자동화된 테스트 스위트의 일부로 자동 모드에서 변환을 실행할 수 있습니다.
변환이 자동 모드에서 실행되도록 설정하면 사용자가 지정하는 파일 겹쳐쓰기 옵션이 대체되고 필요에 따라 파일 위에 겹쳐씁니다.
UML에서 Java로(UML-to-Java) 변환이 사용 가능한 경우 역방향 변환 자동 실행 선택란을 선택할 수 있습니다. UML에서 Java로(UML-to-Java) 변환이나 역변환이 자동 모드에서 실행되도록 지정하면 변환 구성에서 지정하는 파일 겹쳐쓰기 옵션이 대체됩니다. UML에서 Java로(UML-to-Java) 변환은 필요에 따라 파일을 겹쳐씁니다.
추적 관계와 시각적 개발 도구를 사용하여 소스 모델 요소 및 변환 출력 사이의 관계를 이해할 수 있습니다. 이 기능은 여러 개의 모델과 변환 구성을 포함할 수 있는 대형 프로젝트에서 유용합니다. 변환에서는 소스 모델이 변경되지 않습니다.
열거 리터럴의 이름 및 값을 보존하는 UML 열거를 생성하려면 com.ibm.xtools.transform.java.enumext.j2u.transform 선택란을 선택하십시오. 사용자 정의 Java 열거의 특성은 UML로 변환할 때 보존됩니다.
소스 프로젝트의 Java 콜렉션 유형마다 변환이 생성하는 UML 콜렉션 유형을 지정할 수 있습니다. 하나의 Java 콜렉션 유형을 하나의 UML 콜렉션 유형에 맵핑할 수 있습니다. 기본 선택사항은 Java Collection, SortedSet, List 및 Set classes를 UML Bag, OrderedSet, Sequence 및 Set collection 유형에 맵핑합니다. 변환을 실행할 때 변환이 코드에서 Java 콜렉션 또는 배열을 식별하고 콜렉션 또는 배열의 유형을 식별할 수 있는 경우, 변환은 «JavaCollection» 또는 «JavaArray» 스테레오타입을 생성된 UML 요소에 적용하고 스테레오타입 특성의 값을 채웁니다. 그렇지 않은 경우 변환은 적응 가능한 참조사항을 생성하고 생성된 UML 요소에 스테레오타입을 적용하지 않습니다.
예를 들어, Java 벡터 클래스를 UML 시퀀스로 변환하려면 Java 목록 클래스 대신 시퀀스 목록에서 java.util.Vector를 선택하십시오. 소스 Java 프로젝트의 Java 목록 클래스마다, 변환은 대상 UML 모델에서 적응 가능한 참조를 생성하고 생성된 UML 모델의 Is Ordered 및 Is Unique 특성을 false로 설정합니다. 이 예제에서 변환은 이 특성을 false로 설정합니다. Java 목록 콜렉션 유형을 UML 콜렉션 유형으로 변환하지 않기 때문입니다.
변환이 Java 콜렉션을 변환할 때 UML 콜렉션 특성을 채우는 방법에 대한 자세한 정보는 아래에서 관련 참조 주제를 참조하십시오.
Java에서 UML로 변환은 맵핑 모델을 사용하여, 변환에서 생성되는 UML 요소에 대한 적절한 이름을 판별합니다. 예를 들어, UML 모델에는 PackageA가, PackageA에는 Class1이 있습니다. UML에서 Java로(UML-to-Java) 변환에 대한 맵핑 모델을 작성할 때 Class1에 대체 파일 이름 MappedClass1이 있는 것을 지정할 수 있습니다. UML에서 Java로(UML-to-Java) 변환을 실행할 때 변환은 PackageA.MappedClass1.java라고 하는 Java 파일을 생성합니다. Java에서 UML로 변환을 실행할 때 변환은 Java 요소에 대한 원래의 UML 경로가 PackageA.Class1인지 판별하고 PackageA라는 UML 패키지에서 Class1 UML 클래스를 생성합니다.
맵핑 모델에서 지정하는 아티팩트 파일 이름이 올바른 Java 파일 이름이 아니면, 변환은 Java 코드 요소를 작성할 때 파일의 이름을 수정합니다. 예를 들어, 맵핑 모델이 MappedClass1 대신 대체 파일 이름 "Mapped Class1"을 지정하는 경우, 변환은 Java 파일 Mapped_Class1.java를 생성합니다. 변환은 이 수정사항의 레코드를 보존하지 않으므로 Java에서 UML로 변환은 Mapped_Class1 파일을 원래의 UML 요소에 맵핑할 수 없습니다. 이 예제에서, Java에서 UML로 변환은 Mapped_Class1 Java 소스 오브젝트를 Class1 대신 Mapped_Class1 UML 클래스로 변환합니다.