2012-01-10 34 views
5

Tôi đang cố gắng viết trình tạo mã để ánh xạ giữa bất kỳ hai lớp nào bằng Eclipse. Ý tưởng là trình bày một Wizard nơi người dùng chọn hai lớp có thuộc tính cần được ánh xạ. Sau đó hiển thị tất cả các kết quả phù hợp và nếu người dùng không sao thì tạo một lớp ClassMapper nơi chúng ta sẽ chỉ có một sơ đồ phương thức sẽ thực hiện Class1.setXXX (Class2.getXXX()) được yêu cầu;Trình tạo mã Eclipse để tạo trình ánh xạ Lớp

Bất kỳ con trỏ nào về cách chúng tôi có thể thực hiện việc này?

Cảm ơn

+0

Bạn có chắc chắn rằng khung công cụ lập bản đồ bean như Dozer (http://dozer.sourceforge.net/) sẽ không hoạt động cho bạn? – Daff

+0

funny .. Tôi sẽ viết một chương trình swing để làm điều đó .. vì tôi không tìm thấy bất kỳ plug in eclipse nào. Man .. số lần bạn phải thiết lập điều này từ nhận được rằng .. Vì vậy, nhiều đánh máy .. Nhưng dừng lại vì nó không có giá trị rắc rối .. Hãy cho tôi biết nếu bạn tìm thấy một .. – sethu

+0

Dozer dường như làm những gì chúng tôi cả hai đều cần .. Nhưng nó là ánh xạ tĩnh từ lớp này sang lớp khác .. Nếu bạn cần ánh xạ biến giữa nhiều lớp thì bạn sẽ cần phải viết/tạo mã – sethu

Trả lời

2

này những gì bạn sẽ làm cung cấp chức năng tương tự như Dozer, nhưng mã tĩnh có ưu thế này, rằng nó là nhanh hơn, nó chứa logic duy nhất ở mã, và nó dễ dàng hơn để tìm cách sử dụng lĩnh vực thông qua phân cấp cuộc gọi trong IDE.

Nói chung plugin Eclipse sẽ là cách tốt nhất để bắt đầu, bởi vì bạn chỉ có thể chiếu GUI và hiển thị được thực hiện bởi chính Eclipse, và bạn cũng có thể truy cập vào các công cụ tuyệt vời để làm việc với mã java.

Tôi nghĩ, tuy nhiên, phần tồi tệ hơn sẽ là cấu hình. Dozer có bản đồ nguyên thủy của nó (nguyên thủy theo cách nó chuyển đổi giữa các kiểu nguyên gốc và java nguyên gốc;) xử lý hầu hết các chuyển đổi điển hình giữa các loại tiêu chuẩn, tuy nhiên có cần phải cấu hình nó. Ví dụ, các chuỗi đại diện cho boolean có thể là 't' và 'f', hoặc 'true' và 'false' hoặc '1' và '0' hoặc các từ từ ngôn ngữ khác. Ngày tháng có thể có các định dạng khác nhau, v.v. Vì vậy, bạn sẽ cần phải cấu hình trong plugin này người lập bản đồ khác nhau, được hỗ trợ bởi các phương tiện xác định đoạn mã riêng để xử lý chuyển đổi cụ thể.

Tuy nhiên, nếu bạn làm điều này, bạn sẽ được đánh giá cao. Gần đây tôi đã tìm kiếm một thứ gì đó, điều đó có thể làm nhiều hơn nữa, ý tôi là nó có thể tạo bản đồ và mã dto của mã sẽ được khớp, với khả năng kết hợp phân cấp lớp cho thiết kế, khi các kiểu con của đối tượng được biểu diễn bởi các lớp khác nhau, phẳng lớp duy nhất, tốt hơn cho giao thông vận tải json, tuy nhiên, không có kết quả.

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