Red Hat Training

A Red Hat training course is available for Red Hat Fuse

4.40. Programmatic Value Binding Example

The value binder can be programmatically configured using the org.milyn.javabean.Value object:
// Create Smooks. normally done globally!
Smooks smooks = new Smooks();
 
// Create the Value visitors
Value customerNumberValue = new Value( "customerNumber", "customer/@number").setDecoder("Integer");
Value customerNameValue = new Value( "customerName", "customer").setDefault("Unknown");
 
// Add the Value visitors
smooks.addVisitors(customerNumberValue);
smooks.addVisitors(customerNameValue);
 
// And the execution code: 
JavaResult result = new JavaResult();
 
smooks.filterSource(new StreamSource(orderMessageStream), result);
Integer customerNumber = (Integer) result.getBean("customerNumber");
String customerName = (String) result.getBean("customerName");