다음 표에서는 변환이 UML 요소를 Java 요소로 변환하는 방법을 나열합니다.
| UML 요소 | Java 요소 |
|---|---|
| 패키지 | 동일한 이름의 Java 패키지 |
| «perspective» 스테레오타입이 있는 패키지 | 무시됨 |
| «analysis» 또는 «Analysis» 키워드가 있는 패키지 | 무시됨 |
| 클래스 | 이름 및 가시성이 같은 Java 클래스 |
| Is Leaf 특성이 있는 클래스 | true인 경우 Java 클래스는 final임 |
| Is Abstract 특성이 있는 클래스 | true인 경우 Java 클래스는 abstract임 |
| 일반화 관계가 있는 클래스 | Java 클래스가 지정된 수퍼클래스를 확장함 |
| 인터페이스 실현(realization) 또는 클래스 및 인터페이스 사이의 실현 관계 | Java 클래스가 지정된 인터페이스를 구현함 |
| 인터페이스 | 이름 및 가시성이 같은 Java 인터페이스 |
| 일반화 관계가 있는 인터페이스 | Java 인터페이스가 지정된 인터페이스를 확장함 |
| 열거 | Java 열거 J2SE 5.0과 호환 가능한 코드를 생성하도록 변환을 구성하지 않은 경우 변환은 이름과 가시성이 동일한 Java 인터페이스를 생성합니다. |
| 열거 리터럴 | 열거자 |
| 오퍼레이션 | 이름 및 가시성이 같은 Java 메소드 |
| Is Static 특성이 있는 오퍼레이션 | true인 경우 Java 메소드는 static임 |
| Is Abstract 특성이 있는 오퍼레이션 | true인 경우 Java 메소드는 abstract임 |
| Is Leaf 특성이 있는 오퍼레이션 | true인 경우 Java 메소드는 final임 |
| 해당 클래스와 이름이 같은 오퍼레이션 | Java 생성자 |
| «create» 스테레오타입이 있는 오퍼레이션 | Java 생성자 |
| 하나 이상의 UML 클래스가 RaisedException 특성에 지정된 오퍼레이션 | 뒤에 throwable 클래스 목록이 있는 Java throws문 |
| 매개변수 | 동일한 이름의 Java 매개변수 |
| type 특성이 있는 매개변수 | Java 매개변수에 다른 클래스나 기본 유형이 될 수 있는 지정된 유형이 있음 |
| direction 특성이 있는 매개변수 | return으로 설정된 경우
Java 메소드에 return <param type>이 있음 return으로 설정되지 않은 경우 해당 메소드 서명에 <param type> <param name>이 있는 Java 메소드 |
| 다중성이 있는 매개변수 또는 특성: | |
| 0..1 | 속성 또는 참조 |
| 1 | 속성 |
| N (N>1) | 배열 |
| 1..*, * 또는 x..y | 다음 표 참조 |
| 특성 | 이름 및 가시성이 같은 Java 필드 |
| Is Static 특성이 있는 특성 | true인 경우 Java 필드는 static임 |
| Is Leaf 특성이 있는 특성 | true인 경우 Java 필드는 final임 |
| type 특성이 있는 특성 | Java 필드에 다른 클래스나 기본 유형이 될 수 있는 지정된 유형이 있음 |
다음 표에서는 변환이 특정 다중성으로 매개변수와 특성을 처리하는 방법을 나열합니다. UML에서 Java로(UML-to-Java) 변환 구성을 작성하거나 구성할 때 변환이 다른 Java 콜렉션 유형을 생성하도록 지정할 수 있습니다.
| isOrdered 특성 | isUnique 특성 | UML 콜렉션 | 생성된 Java 유형 |
|---|---|---|---|
| true | true | Ordered set | java.util.SortedSet |
| true | false | Sequence | java.util.List |
| false | true | Set | java.util.Set |
| false | false | Bag | java.util.Collection |
/* * <!-- begin-UML-doc --> * <!-- end-UML-doc --> */