|
|
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
коллеги подскажите кто знает. у меня в проекте предусмотренна периодическая генерация классов из XSD-Схемы при помощи JAXB. Эти классы используются в тестах и принимают участия в коллекциях, что ведет к их автоматическому использованию equals() метода. В отдельных случаях я использую фишку eclipse для генерации equals() / hashCode(). Однако когда речь заходит о большом количестве классов, для которых нужно сгенерить эти методы, в ручную выполнять эту работу как-то влом. Не встречалься ли кто-нибудь с задачей массовой генерацией этих методов ? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:07 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
https://projectlombok.org/ Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:42 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
Atum1 https://projectlombok.org/ Код: java 1. 2. ИМХО, Это самый убогий "фреймворк" в джаве)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 14:50 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
Atum1 https://projectlombok.org/ Код: java 1. 2. спасибо. игрушка прикольная. Но не подойдет, потому что надо в каждый класс в ручную впихивать аннотацию @Data. К тому же тогда надо специально JAXB объяснять чтобы он включил в декларацию класса эту аннотацию. Короче тут "овчинка выделки не стоит" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 15:31 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 16:29 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
Ну зачем в ручную... Самое простое написать свой мавен плагин. Котрый так же как и ломбок будет вставлять во все классы что вам нужно Это просто идея. У вас в руках самый мощный инструмент java... Неужели вы забыли как раньше сборку делали через Ант и писали руками билд скрипты? Тут тоже самое .... уважение к платформе... Укажите папку и что нужно делать с вашим кодом. И всё. Как вариант просто создать ещё одни базовый абстрактный класс и через всю ту же рефлексию в нем определить два ваших метода в которых бежать по полям реального класса . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2016, 15:26 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
ИМХО, сильно стрёмный момент в общем случае - доверять автоматике реализацию этих методов с обходом всех полей. В полях могут быть коллекции объектов, к примеру. Если речь идёт о приёме каких-то готовых сущностей через веб-сервис - тогда ещё куда ни шло, а если будет двунаправленный обмен сложными, вложенными объектами, то я бы делал эти методы руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 15:40 |
|
||
|
batch generation of equals() and hashCode()
|
|||
|---|---|---|---|
|
#18+
задача решилась путем использования плагина Код: xml 1. 2. вот цитата из pom: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 17:16 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39323920&tid=2123629]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 373ms |

| 0 / 0 |
