Java의 최종 클래스는 다른 클래스에서 확장 할 수 없다는 것을 의미합니다. -Items.xml에서 데이터 모델을 정의하면서 하이브리드에서 어떻게 처리합니까?Hybris에서 -items.xml의 최종 클래스 생성
답변
SAP Hybris 플랫폼은 OOTB (Out Of The Box) final
데이터 모델 클래스 생성을 지원하지 않습니다. 해당 메커니즘을 재정의 할 수는 없지만 src
디렉토리에있는 생성 된 클래스는 수정할 수 있습니다. final
데이터 모델 클래스 (예 : Foo)가 필요한 경우이 수정자를 수동으로 추가 할 수 있습니다.
<itemtypes>
<itemtype code="Foo" jaloclass="org.example.Foo">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
파일 구조 :
src/org/example/Foo
가 ← 당신은 이
(클래스 Foo
이 GeneratedFoo
를 확장)이 클래스
final
gensrc/org/example/GeneratedFoo
로이 클래스를 표시 할 수 있습니다Foo
을 확장하는 모든 확장명은 빌드 단계에서 실패합니다.
<itemtypes>
<itemtype code="Foo" abstract="true">
<attributes>
<!-- attributes -->
</attributes>
</itemtype>
</itemtypes>
생성 된 Java 파일을 수정하는 것이 좋거나 나쁘지 않습니까? –
생성 된 파일은 개발자가 추가 동작을 추가 할 수 있도록'src' 디렉토리에 있습니다. 수정의 유무는 변경 유형에 따라 다릅니다. 나는 final 수정자를 추가하는 것이 좋은 변화가 아니라고 생각합니다. – agabrys
을 특히 당신이하고 싶은 이유 :
SAP Hybris 플랫폼 만
abstract
이true
에 동일한 속성을 사용하여abstract
수정을 설정할 수 있습니다? – KilleKat그냥 호기심 : D. 미래의 목적을 위해 –