// Copyright 2000-2002 FreeHEP package org.freehep.graphicsio; import java.awt.Dimension; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintStream; import java.io.PrintWriter; import org.freehep.graphics2d.AbstractVectorGraphics; /** * This class provides specifies added methods for VectorGraphicsIO. All added * methods are declared abstract. * * @author Charles Loomis * @author Mark Donszelmann * @version $Id: VectorGraphicsIO.java,v 1.4 2009-08-17 21:44:45 murkle Exp $ */ public abstract class VectorGraphicsIO extends AbstractVectorGraphics { public VectorGraphicsIO() { super(); } public VectorGraphicsIO(VectorGraphicsIO graphics) { super(graphics); } public abstract Dimension getSize(); @Override public abstract void printComment(String comment); /** * copies the full file referenced by filenam onto the os (PrintWriter). The * file location is relative to the current class * * @param object * from which to refer to resource file * @param fileName * name of file to be copied * @param os * output to copy the file to */ public static void copyResourceTo(Object object, String fileName, PrintStream os) { copyResourceTo(object, fileName, new PrintWriter(new OutputStreamWriter(os))); } public static void copyResourceTo(Object object, String fileName, PrintWriter os) { InputStream is = null; BufferedReader br = null; try { is = object.getClass().getResourceAsStream(fileName); br = new BufferedReader(new InputStreamReader(is)); String s; while ((s = br.readLine()) != null) { os.println(s); } os.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (br != null) { br.close(); } if (is != null) { is.close(); } } catch (Exception e) { e.printStackTrace(); } } } }