package org.goko.core.common.io.xml.bean; import org.apache.commons.lang3.StringUtils; import org.simpleframework.xml.transform.Transform; /** * Transform for an XmlColor object * * @author Psyko */ public class XmlColorTransform implements Transform<XmlColor>{ /** (inheritDoc) * @see org.simpleframework.xml.transform.Transform#read(java.lang.String) */ @Override public XmlColor read(String value) throws Exception { XmlColor result = null; if(StringUtils.isNotEmpty(value)){ if(value.matches("rgb\\(([0-9]*),([0-9]*),([0-9]*)\\)")){ String rgb = value.substring(4, value.length() - 1); String[] arr = rgb.split(","); int r = Integer.valueOf(arr[0]); int g = Integer.valueOf(arr[1]); int b = Integer.valueOf(arr[2]); result = new XmlColor(r, g, b); } } return result; } /** (inheritDoc) * @see org.simpleframework.xml.transform.Transform#write(java.lang.Object) */ @Override public String write(XmlColor value) throws Exception { String result = null; if(value != null){ result = "rgb("+value.getRed()+","+value.getGreen()+","+value.getBlue()+")"; } return result; } }