/** * Create a binding configuration to bind the data, selected from the message by the * dataSelector, to the target Collection/array Bean beanclass instance. * * @param dataSelector The data selector for the data value to be bound. * @return <code>this</code> Bean configuration instance. */ public Bean bindTo(String dataSelector) { return bindTo(dataSelector, (DataDecoder) null); }
/** * Create a binding configuration to bind the data, selected from the message by the * dataSelector, to the specified bindingMember (field/method). * <p/> * Discovers the {@link org.dhatim.javabean.DataDecoder} through the specified * bindingMember. * * @param bindingMember The name of the binding member. This is a bean property (field) * or method name. * @param dataSelector The data selector for the data value to be bound. * @return The Bean configuration instance. */ public Bean bindTo(String bindingMember, String dataSelector) { return bindTo(bindingMember, dataSelector, null); }
private void addFieldBindings(Bean bean) { for (Field field1 : fields) { String field = field1.getName(); if (!field.equals(IGNORE_FIELD)) { bean.bindTo(field, recordElementName + "/" + field); } } }
private void addFieldBindings(Bean bean) { for(Field field : fields) { if(!field.ignore()) { bean.bindTo(field.getName(), recordElementName + "/" + field.getName()); } } }
private void addFieldBindings(Bean bean) { for (FieldMetaData fieldMetaData : vfRecordMetaData.getRecordMetaData().getFields()) { if (!fieldMetaData.ignore()) { bean.bindTo(fieldMetaData.getName(), recordElementName + "/" + fieldMetaData.getName()); } } }
public void addVisitors(VisitorConfigMap visitorMap) { if(bindBeanId != null && bindBeanClass != null) { Bean bean; if(bindingType == CSVBindingType.LIST) { Bean listBean = new Bean(ArrayList.class, bindBeanId, "$document"); bean = listBean.newBean(bindBeanClass, recordElementName); listBean.bindTo(bean); addFieldBindings(bean); listBean.addVisitors(visitorMap); } else if(bindingType == CSVBindingType.MAP) { if(bindMapKeyField == null) { throw new SmooksConfigurationException("CSV 'MAP' Binding must specify a 'keyField' property on the binding configuration."); } assertValidFieldName(bindMapKeyField); Bean mapBean = new Bean(LinkedHashMap.class, bindBeanId, "$document"); Bean recordBean = new Bean(bindBeanClass, RECORD_BEAN, recordElementName); MapBindingWiringVisitor wiringVisitor = new MapBindingWiringVisitor(bindMapKeyField, bindBeanId); addFieldBindings(recordBean); mapBean.addVisitors(visitorMap); recordBean.addVisitors(visitorMap); visitorMap.addVisitor(wiringVisitor, recordElementName, null, false); } else { bean = new Bean(bindBeanClass, bindBeanId, recordElementName); addFieldBindings(bean); bean.addVisitors(visitorMap); } } }
public void addVisitors(VisitorConfigMap visitorMap) { initialize(); if(bindBeanId != null && bindBeanClass != null) { Bean bean; if(bindingType == FixedLengthBindingType.LIST) { Bean listBean = new Bean(ArrayList.class, bindBeanId, "$document"); bean = listBean.newBean(bindBeanClass, recordElementName); listBean.bindTo(bean); addFieldBindings(bean); listBean.addVisitors(visitorMap); } else if(bindingType == FixedLengthBindingType.MAP) { if(bindMapKeyField == null) { throw new SmooksConfigurationException("FixedLenght 'MAP' Binding must specify a 'keyField' property on the binding configuration."); } assertValidFieldName(bindMapKeyField); Bean mapBean = new Bean(LinkedHashMap.class, bindBeanId, "$document"); Bean recordBean = new Bean(bindBeanClass, RECORD_BEAN, recordElementName); MapBindingWiringVisitor wiringVisitor = new MapBindingWiringVisitor(bindMapKeyField, bindBeanId); addFieldBindings(recordBean); mapBean.addVisitors(visitorMap); recordBean.addVisitors(visitorMap); visitorMap.addVisitor(wiringVisitor, recordElementName, null, false); } else { bean = new Bean(bindBeanClass, bindBeanId, recordElementName); addFieldBindings(bean); bean.addVisitors(visitorMap); } } }
listBean.bindTo(bean); addFieldBindings(bean);