/** * */ package org.goko.gcode.rs274ngcv3.xml.loader.modifier; import org.goko.core.common.exception.GkException; import org.goko.core.common.io.xml.quantity.XmlAngle; import org.goko.core.common.io.xml.quantity.XmlLength; import org.goko.core.common.measure.quantity.Angle; import org.goko.core.gcode.rs274ngcv3.modifier.translate.TranslateModifier; import org.goko.core.workspace.service.IMapperService; import org.goko.gcode.rs274ngcv3.xml.bean.modifier.XmlTranslateModifier; /** * @author PsyKo * @date 16 f�vr. 2016 */ public class TranslateModifierLoader extends AbstractModifierLoader<XmlTranslateModifier, TranslateModifier> { /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getOutputClass() */ @Override public Class<TranslateModifier> getOutputClass() { return TranslateModifier.class; } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getInputClass() */ @Override public Class<XmlTranslateModifier> getInputClass() { return XmlTranslateModifier.class; } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.io.loader.modifier.AbstractModifierLoader#loadModifierData(org.goko.core.gcode.rs274ngcv3.element.IModifier, org.goko.gcode.rs274ngcv3.ui.workspace.io.XmlGCodeModifier, org.goko.core.workspace.service.IMapperService) */ @Override protected void loadModifierData(TranslateModifier output, XmlTranslateModifier input, IMapperService mapperService) throws GkException { output.setTranslationX(XmlLength.valueOf(input.getX())); output.setTranslationY(XmlLength.valueOf(input.getY())); output.setTranslationZ(XmlLength.valueOf(input.getZ())); // Null check for backward compatibility if(input.getA() != null){ output.setTranslationA(XmlAngle.valueOf(input.getA())); }else{ output.setTranslationA(Angle.ZERO); } // Null check for backward compatibility if(input.getB() != null){ output.setTranslationB(XmlAngle.valueOf(input.getB())); }else{ output.setTranslationB(Angle.ZERO); } // Null check for backward compatibility if(input.getC() != null){ output.setTranslationC(XmlAngle.valueOf(input.getC())); }else{ output.setTranslationC(Angle.ZERO); } } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.io.loader.modifier.AbstractModifierLoader#createOutputInstance() */ @Override protected TranslateModifier createOutputInstance() { return new TranslateModifier(); } }