package parser; import java.util.Iterator; import java.util.Vector; import container.ContainerInclude; import container.ContainerObject; import database.Db; public class Export { /** * @see Export # open_File * only if a file with this name does not yet exist it will create a new one otherwiese it will open the old one * @author SamyStyle * @version 0.1 * @param File_Path * @return OutputStream * @throws java.io.FileNotFoundException */ FileConnector f = new FileConnector(); String data; boolean returnValue; public boolean exportToFile (Db theDb, String to, String file_Path){ // Adds a file ending if there is none yet if (file_Path.endsWith(".bib")) { } else if (!file_Path.endsWith(".xtx")) { file_Path = file_Path.concat(".xtx"); } f.createFile(file_Path); f.openStreamOut(); if (to == "xtx") { returnValue = exportCrosstexFile (theDb); } else if (to == "bib") { returnValue = exportBibtexFile (theDb); } else { returnValue = false; } f.closeStreamOut(); return returnValue; } private boolean exportCrosstexFile (Db theDb){ //include Vector<ContainerInclude> allInclude = theDb.getAllInclude(); Iterator<ContainerInclude> includeIterator = allInclude.iterator(); while (includeIterator.hasNext()){ f.write("@include " + includeIterator.next().getValue()); } Vector<ContainerObject> allObject = theDb.getAllObject(); Iterator<ContainerObject> myIterator = allObject.iterator(); ContainerObject obj = null; while (myIterator.hasNext()){ obj = myIterator.next(); f.write((new ParseToString(theDb, obj)).getXtx() + "\n"); } return true; } private boolean exportBibtexFile (Db theDb){ //include Vector<ContainerInclude> allInclude = theDb.getAllInclude(); Iterator<ContainerInclude> includeIterator = allInclude.iterator(); while (includeIterator.hasNext()){ f.write("@include " + includeIterator.next().getValue()); } Vector<ContainerObject> allObject = theDb.getAllObject(); Iterator<ContainerObject> myIterator = allObject.iterator(); ContainerObject obj = null; while (myIterator.hasNext()){ obj = myIterator.next(); f.write((new ParseToString(theDb, obj)).getBib() + "\n"); } return true; } }