Как заполнить Cmd Object подмножеством свойств из класса Domain? - PullRequest
0 голосов
/ 16 ноября 2010

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

Я борюсь с тем, как заполнить «свойства» каждого объекта команды только соответствующими свойствами из класса домена.

Имееткто-нибудь имел опыт работы с этим и знает, как этого добиться?

Спасибо

Дейв

1 Ответ

3 голосов
/ 18 ноября 2010

Вы можете сделать следующее:

class Domain {
    String lastName
    String firstName
    int age
}

class Command {
    String lastName
    int age
}

def domain = new Domain(lastName:'last', firstName:'first', age:33)

def command = new Command()
command.properties.findAll{ !["metaClass","class"].contains(it.key)}.each { k,v ->
   command[k] = domain[k]
}

assert 33 == command.age
assert 'last' == command.lastName    

Проблема с .properties заключается в том, что он включает в себя 'class' и 'metaClass'. Задавать этим двум плохую идею, чтобы они отфильтровывались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...