Show Table of Contents
4.31. Extracting a List Object with MVEL
To use MVEL to extract a List object from an existing bean in the bean context, see the example below. (The Order object in this example has a method that returns a list which we must use to add order lines.)
<smooks-resource-list
xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd"
xmlns:jb="http://www.milyn.org/xsd/smooks/javabean-1.4.xsd">
<jb:bean
beanId="order"
class="some.package.Order"
createOnElement="order"
>
<!-- ... bindings -->
</jb:bean>
<!--
The factory attribute uses MVEL to access the order
object in the bean context and calls its getOrderLines()
method to get the List. This list is then added to the bean
context under the beanId 'orderLines'
-->
<jb:bean
BeanId="orderLines"
class="java.util.List"
factory="mvel:order.getOrderLines()"
createOnElement="order"
>
<jb:wiring BeanIdRef="orderLine" />
</jb:bean>
<jb:bean
BeanId="orderLine"
class="java.util.List"
createOnElement="order-line"
>
<!-- ... bindings -->
</jb:bean>
</smooks-resource-list>
Note
Array objects are not supported. If a factory returns an array then Smooks will throw an exception.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.