package com.revolsys.gis.converter.process;
import org.springframework.core.convert.converter.Converter;
import com.revolsys.record.Record;
public class SourceValueConverter extends AbstractSourceToTargetProcess<Record, Record> {
private Converter<Record, ? extends Object> sourceValueConverter;
private String targetFieldName;
public SourceValueConverter() {
}
public SourceValueConverter(final String targetFieldName,
final Converter<Record, ? extends Object> sourceValueConverter) {
this.targetFieldName = targetFieldName;
this.sourceValueConverter = sourceValueConverter;
}
@Override
public void process(final Record source, final Record target) {
final Object value = this.sourceValueConverter.convert(source);
if (value != null && (!(value instanceof String) || !"".equals(value))) {
target.setValueByPath(this.targetFieldName, value);
}
}
@Override
public String toString() {
return "set " + this.targetFieldName + "=" + this.sourceValueConverter;
}
}