Модульное тестирование на неизменность объекта

Я хочу убедиться, что данная группа объектов неизменна.

Я думал о чем-то вроде:

  1. проверить, является ли каждое поле закрытым final
  2. проверить if class is final
  3. проверка на наличие изменяемых членов

Итак, я предполагаю, что мой вопрос: 3. возможно ли?

Я могу рекурсивно проверить, есть ли у каждого члена класса свои поля private final , но этого недостаточно, поскольку у класса может быть метод с именем getHaha (param) , который, например, добавляет данный параметр в массив.

Есть ли хороший способ проверить, является ли объект неизменяемый или это вообще возможно?

Спасибо,

11
задан Simeon 19 July 2011 в 07:50
поделиться