2012-03-29 32 views
8

Tôi đang cố gắng tự động triển khai giao diện trong một lớp java được tạo từ tệp xsd.Siêu kết nối XJC và siêu lớp chỉ dành cho tất cả các lớp?

This có vẻ như nó có thể làm điều đó, nhưng nó sẽ chỉ thêm implements SomeInterface vào tất cả các lớp, hoàn toàn ngu ngốc. Tôi có thiếu điều gì đó hay bạn chỉ có thể làm điều này cho tất cả các lớp học? Không thực sự tạo ra quá nhiều thứ để cho tất cả các lớp được tạo ra thực hiện cùng một giao diện. Tôi chỉ có thể sử dụng tính năng này cho một lớp học?

+0

Để thêm sự xúc phạm đến thương tích, điều này có nghĩa rằng với việc thực hiện tham khảo JAXB, bạn có thể không đúng cách xác định giá trị các yếu tố bởi vì nó sẽ khiếu nại "@XmlValue không được phép trên một lớp có nguồn gốc từ một lớp khác". Đó là một hạn chế khá lớn. Vì vậy, yeah tôi đồng ý, hoàn toàn ngu ngốc. – drrob

Trả lời

4

Bạn có thể sử dụng Inheritance extension do JAXB2 Basics Plugins cung cấp. Công trình này cho các lớp học đặc biệt (ví dụ xsd:complexType s)

này cũng được mô tả trong câu trả lời của câu hỏi này: Generating a JAXB class that implements an interface

+0

Liên kết 'Gia hạn thừa kế' không khả dụng. Vui lòng cập nhật. – Everlight

+0

@ rainer198 Cập nhật đó dường như đã hoàn tất;) –

Các vấn đề liên quan