package com.datascience.utils.transformations.simple; import com.datascience.core.results.DatumContResults; import com.datascience.utils.ITransformation; import com.google.common.base.Joiner; import com.google.common.base.Splitter; import java.util.Iterator; /** * @Author: artur */ public class DatumContResultTransform implements ITransformation<DatumContResults, String> { protected Joiner joiner; protected Splitter splitter; public DatumContResultTransform(String separator){ joiner = Joiner.on(separator).useForNull("null"); splitter = Splitter.on(separator); } @Override public String transform(DatumContResults result) { return joiner.join(result.getEst_value(), result.getEst_zeta(), result.getDistributionMu(), result.getDistributionSigma()); } @Override public DatumContResults inverse(String object) { DatumContResults ret = new DatumContResults(); Iterator<String> values = splitter.split(object).iterator(); ret.setEst_value(getDoubleValue(values.next())); ret.setEst_zeta(getDoubleValue(values.next())); ret.setDistributionMu(getDoubleValue(values.next())); ret.setDistributionSigma(getDoubleValue(values.next())); return ret; } private Double getDoubleValue(String s){ return s == null || s.equals("null") ? null : Double.valueOf(s); } }