创建一个对象并将其添加到列表中应该是两个独立的方法。
创建:假设您按照您提供的链接的配方,您应该在客户 BOM 类上有一个名为 createCustomer() 的 BOM 方法。由于没有 XOM 支持该 BOM 方法,因此您必须为该方法提供 B2X 代码。大多数人将这种方法称为虚拟 BOM 方法。查看该方法的 B2X 代码会很有帮助。您的 BOM 和 XOM 类是同一类型吗?如果不是,您应该为 Customer BOM 类指定一个执行名称。在这种情况下,您可能需要将 createCustomer() BOM 方法的返回值转换为 Customer BOM 类。
// 表述为:新客户
Customer Customer.createCustomer()
return (Customer) new OtherCustomerClassFromXOM();
Add:在某个类上定义另一个虚拟 BOM 方法,并将方法命名为 addCustomer(Customer customer)。通常它会在包含列表变量作为成员的类上。但如果列表变量是全局变量(即规则集变量),那么该方法可以是任何类的静态成员,甚至是您的 Customer 类。
// 表述为:将 {0} 添加到 {1}
void Customer.addCustomer(Customer customer, java.util.Collection customerList)
if (customerList == null) {
customerList = new java.util.ArrayList();
}
customerList.add(customer);