как удалить свойство из объекта - PullRequest
2 голосов
/ 24 мая 2011

предположим, у меня есть класс домена MyClass:

class MyClass {
  String prop1
  String prop2
  String prop3
}

Интересно, есть ли способ удалить, например, свойство prop1 из объекта MyClass?

1 Ответ

4 голосов
/ 24 мая 2011

Единственный способ действительно удалить свойство - удалить его из исходного файла. Однако вы можете предпринять попытки доступа к свойству, демонстрирующее то же поведение, что и попытка доступа к несуществующему свойству.

class MyClass {

  String prop1
  String prop2
  String prop3
}

MyClass.metaClass {
  // Intercept attempts to get the property
  getProp1 = {-> throw new MissingPropertyException("can't get prop1")}
  // Intercept attempts to set the property
  setProp1 = {throw new MissingPropertyException("can't set prop1")}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...