package edu.cmu.sv.arinc838.builder;
import java.io.IOException;
import com.arinc.arinc838.SoftwareDescription;
import edu.cmu.sv.arinc838.binary.BdfFile;
import edu.cmu.sv.arinc838.dao.SoftwareDescriptionDao;
public class SoftwareDescriptionBuilder implements
Builder<SoftwareDescriptionDao, SoftwareDescription> {
@Override
public SoftwareDescription buildXml(SoftwareDescriptionDao softwareDescription) {
SoftwareDescription desc = new SoftwareDescription();
desc.setSoftwarePartnumber(softwareDescription.getSoftwarePartnumber());
desc.setSoftwareTypeDescription(softwareDescription.getSoftwareTypeDescription());
desc.setSoftwareTypeId(softwareDescription.getSoftwareTypeId());
return desc;
}
@Override
public int buildBinary(SoftwareDescriptionDao softwareDescription, BdfFile file) throws IOException {
int initialPosition = (int) file.getFilePointer();
file.writeSoftwareDescriptionPointer();
file.writeStr64k(softwareDescription.getSoftwarePartnumber());
file.writeStr64k(softwareDescription.getSoftwareTypeDescription());
file.writeHexbin32(softwareDescription.getSoftwareTypeId());
return (int) (file.getFilePointer() - initialPosition);
}
}