package edu.cmu.sv.arinc838.builder;
import java.io.IOException;
import com.arinc.arinc838.IntegrityDefinition;
import edu.cmu.sv.arinc838.binary.BdfFile;
import edu.cmu.sv.arinc838.dao.IntegrityDefinitionDao;
public class IntegrityDefinitionBuilder implements Builder<IntegrityDefinitionDao, IntegrityDefinition> {
@Override
public IntegrityDefinition buildXml(IntegrityDefinitionDao integDao) {
IntegrityDefinition retDef = new IntegrityDefinition();
retDef.setIntegrityType(integDao.getIntegrityType());
retDef.setIntegrityValue(integDao.getIntegrityValue());
return retDef;
}
@Override
public int buildBinary(IntegrityDefinitionDao integDao, BdfFile bdfFile) throws IOException {
int initialPosition = (int) bdfFile.getFilePointer();
bdfFile.writeUint32(integDao.getIntegrityType());
bdfFile.writeHexbin64k(integDao.getIntegrityValue());
int finalPosition = (int) bdfFile.getFilePointer();
return (int) (finalPosition - initialPosition);
}
}