this.customConverterParam = attribute;
}
public void build() {
// TODO Check Map to Map mapping
FieldMap result;
if (srcField.isMapTypeCustomGetterSetterField() || destField.isMapTypeCustomGetterSetterField()
|| classMap.isSrcClassMapTypeCustomGetterSetter() || classMap.isDestClassMapTypeCustomGetterSetter()) {
result = new MapFieldMap(classMap);
} else if (srcField.isCustomGetterSetterField() || destField.isCustomGetterSetterField()) {
result = new CustomGetSetMethodFieldMap(classMap);
} else {
result = new GenericFieldMap(classMap);
}
result.setSrcField(srcField);
result.setDestField(destField);
result.setType(type);
result.setRelationshipType(relationshipType);
result.setRemoveOrphans(removeOrphans);
result.setSrcHintContainer(srcHintContainer);
result.setDestHintContainer(destHintContainer);
result.setSrcDeepIndexHintContainer(srcDeepIndexHintContainer);
result.setDestDeepIndexHintContainer(destDeepIndexHintContainer);
if (copyByReferenceSet) {
result.setCopyByReference(copyByReference);
}
result.setMapId(mapId);
result.setCustomConverter(customConverter);
result.setCustomConverterId(customConverterId);
result.setCustomConverterParam(customConverterParam);
classMap.addFieldMapping(result);
}