/*
* Copyright (c) 2012 Chris Ellison, Mike Deats, Liron Yahdav, Ryan Neal,
* Brandon Sutherlin, Scott Griffin
*
* This software is released under the MIT license
* (http://www.opensource.org/licenses/mit-license.php)
*
* Created on Feb 28, 2012
*/
package edu.cmu.sv.arinc838.writer;
import java.io.File;
import edu.cmu.sv.arinc838.binary.BdfFile;
import edu.cmu.sv.arinc838.builder.BuilderFactory;
import edu.cmu.sv.arinc838.builder.SoftwareDefinitionFileBuilder;
import edu.cmu.sv.arinc838.dao.SoftwareDefinitionFileDao;
public class BdfWriter implements SdfWriter {
@Override
public void write(String path, SoftwareDefinitionFileDao sdfDao)
throws Exception {
File fileOnDisk = new File(path + sdfDao.getBinaryFileName());
BdfFile file = new BdfFile(fileOnDisk);
// This file must be empty
file.setLength(0);
SoftwareDefinitionFileBuilder builder = new SoftwareDefinitionFileBuilder(
new BuilderFactory());
write(file, builder, sdfDao);
}
public void write(BdfFile file, SoftwareDefinitionFileBuilder builder,
SoftwareDefinitionFileDao sdfDao) throws Exception {
builder.buildBinary(sdfDao, file);
file.close();
}
@Override
public String getFilename(SoftwareDefinitionFileDao sdfDao) {
return sdfDao.getBinaryFileName();
}
}