package org.goko.core.common.io.xml.quantity; import org.apache.commons.lang3.StringUtils; import org.goko.core.common.measure.quantity.Length; import org.goko.core.common.measure.units.Unit; import org.simpleframework.xml.transform.Transform; /** * Transform for an XmlLength object * * @author Psyko */ public class XmlLengthTransform implements Transform<XmlLength>{ /** (inheritDoc) * @see org.simpleframework.xml.transform.Transform#read(java.lang.String) */ @Override public XmlLength read(String value) throws Exception { XmlLength result = null; if(StringUtils.isNotEmpty(value)){ result = new XmlLength(Length.parse(value)); } return result; } /** (inheritDoc) * @see org.simpleframework.xml.transform.Transform#write(java.lang.Object) */ @Override public String write(XmlLength value) throws Exception { String result = null; if(value != null){ Unit<Length> unit = value.getQuantity().getUnit(); result = String.valueOf(value.getQuantity().value(unit))+unit.getSymbol(); } return result; } }