From: Nick Burch Date: Wed, 26 Jun 2013 14:57:36 +0000 (+0000) Subject: Ensure the indenting is consistent within the file, and then make some minor updates... X-Git-Tag: REL_3_10_BETA2~64 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2a1726144dcd54fc3258dec20e63d9ac55047323;p=poi.git Ensure the indenting is consistent within the file, and then make some minor updates to the JavaDocs (language, clarity etc) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1496952 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/ooxml/java/org/apache/poi/ss/usermodel/WorkbookFactory.java b/src/ooxml/java/org/apache/poi/ss/usermodel/WorkbookFactory.java index 56a9f89028..a2d487c5e1 100644 --- a/src/ooxml/java/org/apache/poi/ss/usermodel/WorkbookFactory.java +++ b/src/ooxml/java/org/apache/poi/ss/usermodel/WorkbookFactory.java @@ -33,62 +33,69 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; /** * Factory for creating the appropriate kind of Workbook - * (be it HSSFWorkbook or XSSFWorkbook), from the given input + * (be it {@link HSSFWorkbook} or {@link XSSFWorkbook}), + * by auto-detecting from the supplied input. */ public class WorkbookFactory { - /** - * Creates an HSSFWorkbook from the given POIFSFileSystem - */ - public static Workbook create(POIFSFileSystem fs) throws IOException { - return new HSSFWorkbook(fs); - } - /** - * Creates an HSSFWorkbook from the given NPOIFSFileSystem - */ - public static Workbook create(NPOIFSFileSystem fs) throws IOException { - return new HSSFWorkbook(fs.getRoot(), true); - } - /** - * Creates an XSSFWorkbook from the given OOXML Package - */ - public static Workbook create(OPCPackage pkg) throws IOException { - return new XSSFWorkbook(pkg); - } - /** - * Creates the appropriate HSSFWorkbook / XSSFWorkbook from - * the given InputStream. - * Your input stream MUST either support mark/reset, or - * be wrapped as a {@link PushbackInputStream}! - */ - public static Workbook create(InputStream inp) throws IOException, InvalidFormatException { - // If clearly doesn't do mark/reset, wrap up - if(! inp.markSupported()) { - inp = new PushbackInputStream(inp, 8); - } - - if(POIFSFileSystem.hasPOIFSHeader(inp)) { - return new HSSFWorkbook(inp); - } - if(POIXMLDocument.hasOOXMLHeader(inp)) { - return new XSSFWorkbook(OPCPackage.open(inp)); - } - throw new IllegalArgumentException("Your InputStream was neither an OLE2 stream, nor an OOXML stream"); - } - /** - * Creates the appropriate HSSFWorkbook / XSSFWorkbook from - * the given File, which must exist and be readable. - */ - public static Workbook create(File file) throws IOException, InvalidFormatException { - if(! file.exists()) { - throw new FileNotFoundException(file.toString()); - } - - try { - NPOIFSFileSystem fs = new NPOIFSFileSystem(file); - return new HSSFWorkbook(fs.getRoot(), true); - } catch(OfficeXmlFileException e) { - OPCPackage pkg = OPCPackage.open(file); - return new XSSFWorkbook(pkg); - } - } + /** + * Creates a HSSFWorkbook from the given POIFSFileSystem + */ + public static Workbook create(POIFSFileSystem fs) throws IOException { + return new HSSFWorkbook(fs); + } + + /** + * Creates a HSSFWorkbook from the given NPOIFSFileSystem + */ + public static Workbook create(NPOIFSFileSystem fs) throws IOException { + return new HSSFWorkbook(fs.getRoot(), true); + } + + /** + * Creates a XSSFWorkbook from the given OOXML Package + */ + public static Workbook create(OPCPackage pkg) throws IOException { + return new XSSFWorkbook(pkg); + } + + /** + * Creates the appropriate HSSFWorkbook / XSSFWorkbook from + * the given InputStream. + *

Your input stream MUST either support mark/reset, or + * be wrapped as a {@link PushbackInputStream}! Note that + * using an {@link InputStream} has a higher memory footprint + * than using a {@link File}.

+ */ + public static Workbook create(InputStream inp) throws IOException, InvalidFormatException { + // If clearly doesn't do mark/reset, wrap up + if (! inp.markSupported()) { + inp = new PushbackInputStream(inp, 8); + } + + if (POIFSFileSystem.hasPOIFSHeader(inp)) { + return new HSSFWorkbook(inp); + } + if (POIXMLDocument.hasOOXMLHeader(inp)) { + return new XSSFWorkbook(OPCPackage.open(inp)); + } + throw new IllegalArgumentException("Your InputStream was neither an OLE2 stream, nor an OOXML stream"); + } + + /** + * Creates the appropriate HSSFWorkbook / XSSFWorkbook from + * the given File, which must exist and be readable. + */ + public static Workbook create(File file) throws IOException, InvalidFormatException { + if (! file.exists()) { + throw new FileNotFoundException(file.toString()); + } + + try { + NPOIFSFileSystem fs = new NPOIFSFileSystem(file); + return new HSSFWorkbook(fs.getRoot(), true); + } catch(OfficeXmlFileException e) { + OPCPackage pkg = OPCPackage.open(file); + return new XSSFWorkbook(pkg); + } + } }