1 43 44 package org.jfree.xml.writer.coretypes; 45 46 import java.awt.BasicStroke ; 47 import java.io.IOException ; 48 49 import org.jfree.xml.writer.AbstractXmlWriteHandler; 50 import org.jfree.xml.writer.AttributeList; 51 import org.jfree.xml.writer.XMLWriter; 52 import org.jfree.xml.writer.XMLWriterException; 53 54 57 public class BasicStrokeWriteHandler extends AbstractXmlWriteHandler { 58 59 62 public BasicStrokeWriteHandler() { 63 super(); 64 } 65 66 78 public void write(final String tagName, final Object object, final XMLWriter writer, 79 final String mPlexAttribute, final String mPlexValue) 80 throws IOException , XMLWriterException { 81 final BasicStroke stroke = (BasicStroke ) object; 82 final float[] dashArray = stroke.getDashArray(); 83 final float dashPhase = stroke.getDashPhase(); 84 final int endCap = stroke.getEndCap(); 85 final int lineJoin = stroke.getLineJoin(); 86 final float lineWidth = stroke.getLineWidth(); 87 final float miterLimit = stroke.getMiterLimit(); 88 final AttributeList attribs = new AttributeList(); 89 if (mPlexAttribute != null) { 90 attribs.setAttribute(mPlexAttribute, mPlexValue); 91 } 92 attribs.setAttribute("type", "basic"); 93 attribs.setAttribute("endCap", String.valueOf(endCap)); 94 attribs.setAttribute("lineJoin", String.valueOf(lineJoin)); 95 attribs.setAttribute("lineWidth", String.valueOf(lineWidth)); 96 attribs.setAttribute("miterLimit", String.valueOf(miterLimit)); 97 if (dashArray != null) { 98 attribs.setAttribute("dashArray", toString(dashArray)); 99 attribs.setAttribute("dashPhase", String.valueOf(dashPhase)); 100 } 101 writer.writeTag(tagName, attribs, true); 102 } 103 104 112 private String toString(final float[] dashArray) { 113 final StringBuffer buffer = new StringBuffer (); 114 for (int i = 0; i < dashArray.length; i++) { 115 final float f = dashArray[i]; 116 if (i != 0) { 117 buffer.append(','); 118 } 119 buffer.append(f); 120 } 121 return buffer.toString(); 122 } 123 124 } 125 | Popular Tags |