Не уверен, что это то, что вы ищете.Если у вас есть ...
component persistent="true" entityName="Foo"
{
property a;
property b;
}
Вы можете передать структуру во 2-м параметре для инициализации сущности (я полагаю, добавлен в CF9.0.1)
EntityNew("Foo", {a="1",b="2"});
Для заполнения Fooдругой объект, вы можете использовать шаблон Memento и реализовать для вашего объекта функцию GetMemento()
, которая возвращает структуру всех его свойств.
EntityNew("Foo", bar.getMemento());
Однако CF НЕ вызывает ваши пользовательские установщики!Если вы хотите установить их с помощью установщиков, вы можете добавить вызовы к установщикам в конструкторе init()
или использовать выбранную среду MVC для заполнения компонента.В Model-Glue это makeEventBean()
.
Обновление: Или ... Вот хак ...
EntityNew("Foo", DeserializeJSON(SerializeJSON(valueObject)));
Используйте это на свой страх и риск.JSON может делать странные вещи с вашими числами и строками 'yes', 'no', 'true', 'false'.:)