답변

2

쉬운 방법은 최상위 노드의 "모델 기능 기본값"섹션에서 GenModel 옵션 "EMF 유형 억제"를 설정하는 것입니다. 관련 옵션의 구멍이 있습니다. 자세한 내용은 EMF 서적 (2 판)을 참조하십시오.

JET를 사용하여 ECore 모델에서 자신의 Java 코드를 생성 할 수도 있습니다. 자세한 설명은 "Metamodeling with EMF: Generating concrete, reusable Java snippets"을보십시오.

+0

"Suppress EMF Types"는 모든 종속성을 제거하지는 않습니다. 감사합니다. – seeebown

+1

다른 사람들에게도 도움이 될 수 있습니다. http://wiki.eclipse.org/EMF/Recipes#Recipe:_Generating_Pure_API_With_No_Visible_EMF_Dependencies – seeebown

+0

EMF 모델 편집기를 사용하여 모든 것을 제거 할 수있는 것은 아닙니다. #eSet, #eGet 등의 메소드는 기본 템플릿에서 제거해야합니다. eInvoke 메서드는 "Operation Reflection"= false 설정을 통해 제거 할 수 있습니다. util 패키지는 패키지 레벨 설정 "Adapter Factory"= false로 제거 할 수 있습니다. 너는 다른 사람들이다. 현재 List를 사용하는 법을 배우고 있습니다. EList :-( – wmorrison365

0

EMF 모델 편집기를 사용하여 모든 것을 제거 할 수있는 것은 아닙니다. #eSet, #eGet 등의 메서드는 기본 템플릿에서 제거해야합니다. eInvoke 메서드는 "Operation Reflection"= false 설정을 통해 제거 할 수 있습니다. util 패키지는 패키지 레벨 설정 "Adapter Factory"= false로 제거 할 수 있습니다. genmodel 구성에서 관리 할 수있는 다른 변경 사항이 있습니다. 자세한 내용은 EMF Modeling Framework 서적, 12.3.1 절을 참조하십시오. "억제 EMF 유형은"EOperationEReference getter 및 setter에서 EMF 형식을 제거하는 것이

주 만이 아니라 선언 바르거나 (리스트가 null의 경우) 게터에 사용 된 생성자에서. 클래스 - Class.javajet에서 변경해야합니다. 핵심 EMF 템플릿을 바꾸는 방법에 대한 자세한 내용은 using-dynamic-templates-in-emf을 참조하십시오. 바르 들어

, Feature#getImportedType하지 Feature#getImportedInternalType 사용

protected <%=genFeature.getImportedType(genClass)%> <%=genFeature.getSafeName()%>; 

을이 라인은 isListType 테스트 내에 다음이 포함 된 주석 섹션에 다음과 접근에 대한

<%} else if (genFeature.isListType() || genFeature.isReferenceType()) {%> 
    <%if (genClass.isField(genFeature)) {%> 
/** 
* The cached value of the '{@link #<%=genFeature.getGetAccessor()%>() <em><%=genFeature.getFormattedName()%></em>}' <%=genFeature.getFeatureKind()%>. 
* <!-- begin-user-doc --> 
* <!-- end-user-doc --> 

를, 무언가를 사용 다음과 같이 EMF EList impl을 ArrayList으로 바꿉니다.

<%=genFeature.getSafeName()%> = new <%=genModel.getImportedName("java.util.ArrayList")%><<%=genFeature.getListItemTy‌​pe()%>>(); 

instead of: 
<%=genFeature.getSafeName()%> = new <%=genClass.getListConstructor(genFeature)%>; 
+1

이 정도까지 템플릿을 변경해야한다면 EMF를 사용해서는 안됩니다 :-) – wmorrison365