2017-10-05 9 views
2

Java의 최종 클래스는 다른 클래스에서 확장 할 수 없다는 것을 의미합니다. -Items.xml에서 데이터 모델을 정의하면서 하이브리드에서 어떻게 처리합니까?Hybris에서 -items.xml의 최종 클래스 생성

+0

을 특히 당신이하고 싶은 이유 :


SAP Hybris 플랫폼 만 abstracttrue에 동일한 속성을 사용하여 abstract 수정을 설정할 수 있습니다? – KilleKat

+0

그냥 호기심 : D. 미래의 목적을 위해 –

답변

1

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가 ← 당신은

(클래스 FooGeneratedFoo를 확장)이 클래스

을 수정할 수 없습니다 ← final
  • gensrc/org/example/GeneratedFoo로이 클래스를 표시 할 수 있습니다

    Foo을 확장하는 모든 확장명은 빌드 단계에서 실패합니다.

    <itemtypes> 
        <itemtype code="Foo" abstract="true"> 
         <attributes> 
          <!-- attributes --> 
         </attributes> 
        </itemtype> 
    </itemtypes> 
    
  • +0

    생성 된 Java 파일을 수정하는 것이 좋거나 나쁘지 않습니까? –

    +0

    생성 된 파일은 개발자가 추가 동작을 추가 할 수 있도록'src' 디렉토리에 있습니다. 수정의 유무는 변경 유형에 따라 다릅니다. 나는 final 수정자를 추가하는 것이 좋은 변화가 아니라고 생각합니다. – agabrys