Как скрыть свойство metaClass в классе Groovy - PullRequest
3 голосов
/ 05 мая 2009

Я создаю несколько простых классных классов, например,

class Person {
    int age
    String name
}

, которые используются в методе Java, который использует отражение для извлечения свойств объекта, например, возраст и имя. Проблема в том, что метакласс также отображается как свойство. Обновление метода Java, чтобы игнорировать это свойство, не вариант. Я попытался установить для свойства metaClass значение null, но это не сработало.

Ответы [ 2 ]

1 голос
/ 12 мая 2011

Если вы используете эти классы из Java и Groovy, почему бы просто не создать POJO в Java, а не Groovy. Я знаю, что это не отвечает на ваш вопрос, но было бы неплохо узнать, почему решение использовать Groovy для POJO

0 голосов
/ 18 марта 2011

MetaClass вводится для класса Groovy во время создания. ИМХО, я не думаю, что вы можете установить его в Null. Метод setMetaClass, который вы вызвали, устанавливает для любого пользовательского метакласса, который вы могли установить в своем классе, значение Null, а не тот, который вводится во время построения.

...