private static void appendResponseData(final Element element, final ResponseData responseData) {
switch (responseData.getType()) {
case STRING:
final StringResponseData stringResponseData = (StringResponseData) responseData;
for (final String responseDatum : stringResponseData.getResponseData()) {
XmlMarshallerCore.maybeAppendTextElement(element, "string", responseDatum);
}
break;
case FILE:
final FileResponseData fileResponseData = (FileResponseData) responseData;
final Element fileElement = XmlMarshallerCore.appendElement(element, "file");
fileElement.setAttribute("contentType", fileResponseData.getContentType());
fileElement.setAttribute("fileName", fileResponseData.getFileName());
fileElement.setAttribute("absoluteFilePath", fileResponseData.getFile().getAbsolutePath());
break;
default:
throw new QtiLogicException("Unexpected switch case " + responseData.getType());
}
}