Eclipse 플러그인 모델의 클래스 중 하나는 완전히 다른 모델 및 플러그인에서 다른 클래스를 참조해야합니다.Eclipse EMF - tostring()을 저장하지 않고도 다른 Eclipse 플러그인에서 모델의 일부인 클래스를 참조 할 수 있습니까?
그렇게하려면 thread으로 edatatype을 사용하고 인스턴스 유형을 연결해야하는 유형으로 초기화하는 것이 좋습니다. 내가 다른 모델에 내 클래스에 연결하려고 할 때 그러나, 그것은 다음과 같은 예를 들어 나는 두 개의 서로 다른 외부 클래스 CapabilityDescriptorImpl 및 ResourceDescriptorImpl에 연결하고이 예에서는
<tasks description="" id="p1.tsk4" label="1" type="place" time="10">
<requiredCapabilityDescriptor>[email protected] (description: , id: cap2, label:) (parent: null)</requiredCapabilityDescriptor>
<involvedResource>[email protected] (description: null, id: null, label: null) (cad: null, material: null, pointySurface: <unset>, sharpEdges: <unset>, thumbnail: null, weight: <unset>) (changeCost: null, generic: <unset>, investCost: null, manufacturer: null)</involvedResource>
</tasks>
처럼 클래스 있으며, toString을 절약 할 수 있습니다. 저장소와 가독성면에서 불편한 tostring이 저장되어 있음을 알 수 있듯이 이러한 경우 일관성 처리에 대해서는 확신 할 수 없습니다 (참조 된 인스턴스의 삭제, 편집을 의미). 스레드에 따르면 직렬화 할 데이터 형식을 선택했기 때문에 tostring이 작성되었으므로 직렬화 할 수 없도록 시도했지만 작동하지 않습니다.
그래서 나는 가독성 및 스토리지의 측면에서 훨씬 더
<tasks description="" id="p1.tsk4" label="1" type="place" time="10">
<requiredCapabilityDescriptor xsi:type="CoD:CapabilityDescriptor" description="" id="cap2" label=""/>
<involvedResource xsi:type="CoD:ResourceDescriptor"/>
</tasks>
가되기 위해 저장하는 문자열을 최소화 eReference를 사용하여 다른 접근 방식을 시도,하지만 난 정말 실제 기준이 의심 원래 인스턴스를 참조 할 수있는 것을 포함하지 않습니다. 사실 그것은 어떤 컨테이너를 보여주지 않기 때문에 그것이 원래의 물건을 언급하지 않고 있다고 확신합니다. 그리고 일관성 문제로 다시.
내가 생각할 수있는 마지막 옵션은 참조 된 개체의 URI를 저장하는 것이지만이 경우 모든 일관성 문제를 직접 관리해야합니다.
그래서 내 질문은 "이 외부 클래스를 참조하는 데 더 좋은 방법이 있습니까?"