UML에서 Java로 변환으로 UML 요소 해석

변환에서 생성되는 Java™ 요소는 소스 UML 요소와 해당되는 특성에 따라 결정됩니다.

다음 표에서는 변환이 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 필드에 다른 클래스나 기본 유형이 될 수 있는 지정된 유형이 있음
주: 공백과 같은 일부 문자는 JavaID에서 올바르지 않습니다. 변환은 올바르지 않은 문자를 밑줄(_)로 바꿔서 올바른 ID를 작성합니다. 이러한 바꾸기는 변환에서 중복 클래스와 인터페이스가 생성되지 못하도록 하는 이름 충돌을 발생할 수 있습니다. 이러한 바꾸기 문제가 발생하지 않도록 하려면 요소 이름을 바꾸거나 맵핑 기능을 사용하여 소스 모델을 수정하지 않는 대체 이름을 지정하십시오.

다음 표에서는 변환이 특정 다중성으로 매개변수와 특성을 처리하는 방법을 나열합니다. 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

UML 문서

변환은 UML 요소의 UML 문서 필드에 있는 텍스트를 복사하여 요소에 대해 변환이 생성하는 Java 코드의 다음 태그 사이에 위치시킵니다.
/*
 * <!-- begin-UML-doc -->
 * <!-- end-UML-doc -->
 */

피드백