1 43 44 package org.jfree.xml.factory.objects; 45 46 import java.awt.geom.Line2D ; 47 48 53 public class Line2DObjectDescription extends AbstractObjectDescription { 54 55 58 public Line2DObjectDescription() { 59 super(Line2D .class); 60 setParameterDefinition("x1", Float .class); 61 setParameterDefinition("x2", Float .class); 62 setParameterDefinition("y1", Float .class); 63 setParameterDefinition("y2", Float .class); 64 } 65 66 71 public Object createObject() { 72 final Line2D line = new Line2D.Float (); 73 74 final float x1 = getFloatParameter("x1"); 75 final float x2 = getFloatParameter("x2"); 76 final float y1 = getFloatParameter("y1"); 77 final float y2 = getFloatParameter("y2"); 78 line.setLine(x1, y1, x2, y2); 79 return line; 80 } 81 82 89 private float getFloatParameter(final String param) { 90 final Float p = (Float ) getParameter(param); 91 if (p == null) { 92 return 0; 93 } 94 return p.floatValue(); 95 } 96 97 104 public void setParameterFromObject(final Object o) throws ObjectFactoryException { 105 if (!(o instanceof Line2D )) { 106 throw new ObjectFactoryException("The given object is no java.awt.geom.Line2D."); 107 } 108 final Line2D line = (Line2D ) o; 109 final float x1 = (float) line.getX1(); 110 final float x2 = (float) line.getX2(); 111 final float y1 = (float) line.getY1(); 112 final float y2 = (float) line.getY2(); 113 114 setParameter("x1", new Float (x1)); 115 setParameter("x2", new Float (x2)); 116 setParameter("y1", new Float (y1)); 117 setParameter("y2", new Float (y2)); 118 } 119 } 120 | Popular Tags |