/* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ package org.openoffice.xmerge.converter.xml.sxc.pexcel; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import org.openoffice.xmerge.ConvertData; import org.openoffice.xmerge.converter.xml.sxc.SpreadsheetDecoder; import org.openoffice.xmerge.converter.xml.sxc.SxcDocumentDeserializer; import org.openoffice.xmerge.converter.xml.sxc.pexcel.records.Workbook; import org.openoffice.xmerge.util.Debug; /** *
Pocket Excel implementation of DocumentDeserializer
* for the {@link
* org.openoffice.xmerge.converter.xml.sxc.pexcel.PluginFactoryImpl
* PluginFactoryImpl}.
This converts a set of files in Pocket Excel PXL format to a StarOffice DOM.
* * @author Mark Murnane */ public final class SxcDocumentDeserializerImpl extends SxcDocumentDeserializer { /** * Creates newSxcDocumentDeserializerImpl
.
*
* @param cd ConvertData
Input data to convert.
*/
public SxcDocumentDeserializerImpl(ConvertData cd) {
super(cd);
}
/**
* This method will be implemented by concrete subclasses and will
* return an application-specific decoder.
*
* @param workbook The WorkBook name.
* @param worksheetNames An array of WorkSheet names.
* @param password The password.
*
* @return An application-specific SpreadsheetDecoder
.
*/
public SpreadsheetDecoder createDecoder(String workbook,
String[] worksheetNames, String password) throws IOException {
return new PocketExcelDecoder(workbook, worksheetNames, password);
}
/**
* This method will return the name of the WorkBook from the
* ConvertData
. Allows for situations where the
* WorkBook name differs from the PDB name.
*
* Implemented in the Deserializer as the Decoder's constructor
* requires a name.
*
* @param cd The ConvertData
.
*
* @return The name of the WorkBook.
*/
protected String getWorkbookName(ConvertData cd)
throws IOException {
Iterator