Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
What Is poi-5.2.3.jar?
What Is poi-5.2.3.jar?
✍: FYIcenter.com
poi-5.2.3.jar is one of the JAR files for Apache POI 5.2.3, which provides an API for Microsoft document files of Word, Excel, PowerPoint, and Visio.
poi-5.2.3.jar supports Apache POI components that read and write Microsoft's OLE 2 Compound document format, which is used in early versions of Microsoft Office tools like Word 97, Excel 97, PowerPoint 97, etc.
poi-5.2.3.jar is distributed as part of the poi-bin-5.2.3-20220909.zip download file.
JAR File Size and Download Location:
JAR name: poi-5.2.3.jar Target JDK version: 9 File name: poi.jar, poi-5.2.3.jar File size: 2964641 bytes Release date: 09-09-2022 Download: Apache POI Website
Here are Java Source Code files for poi-5.2.3.jar:
⏎ org/apache/poi/poifs/filesystem/POIFSDocumentPath.java
/* ==================================================================== 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 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ==================================================================== */ package org.apache.poi.poifs.filesystem; import java.io.File; import java.util.Arrays; import java.util.Objects; import java.util.function.Predicate; import java.util.stream.Stream; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * Class POIFSDocumentPath */ public class POIFSDocumentPath { private static final Logger LOGGER = LogManager.getLogger(POIFSDocumentPath.class); private final String[] components; private int hashcode; //lazy-compute hashCode /** * simple constructor for the path of a document that is in the root of the POIFSFileSystem. * The constructor that takes an array of Strings can also be used to create such a * POIFSDocumentPath by passing it a null or empty String array */ public POIFSDocumentPath() { components = new String[0]; } /** * constructor for the path of a document that is not in the root of the POIFSFileSystem * * @param components the Strings making up the path to a document. * The Strings must be ordered as they appear in the directory hierarchy of the document. * The first string must be the name of a directory in the root of the POIFSFileSystem, and * every Nth (for N > 1) string thereafter must be the name of a directory in the directory * identified by the (N-1)th string.<p> * If the components parameter is null or has zero length, the POIFSDocumentPath is appropriate * for a document that is in the root of a POIFSFileSystem * * @throws IllegalArgumentException * if any of the elements in the components parameter are null or have zero length */ public POIFSDocumentPath(final String [] components) throws IllegalArgumentException { this(null, components); } /** * constructor that adds additional subdirectories to an existing path * * @param path the existing path * @param components the additional subdirectory names to be added * * @throws IllegalArgumentException * if any of the Strings in components is null or zero length */ public POIFSDocumentPath(final POIFSDocumentPath path, final String[] components) throws IllegalArgumentException { String[] s1 = (path == null) ? new String[0] : path.components; String[] s2 = (components == null) ? new String[0] : components; // TODO: Although the Javadoc says empty strings are forbidden, the adapted legacy // implementation allowed it in case a path was specified... Predicate<String> p = (path != null) ? Objects::isNull : (s) -> (s == null || s.isEmpty()); if (Stream.of(s2).anyMatch(p)) { throw new IllegalArgumentException("components cannot contain null or empty strings"); } this.components = Stream.concat(Stream.of(s1),Stream.of(s2)).toArray(String[]::new); } /** * Two POIFSDocumentPath instances are equal if they have the same number of component Strings, * and if each component String is equal to its corresponding component String * * @param o the object we're checking equality for * * @return true if the object is equal to this object */ public boolean equals(final Object o) { if (this == o) { return true; } if ((o != null) && (o.getClass() == this.getClass())) { POIFSDocumentPath path = ( POIFSDocumentPath ) o; return Arrays.equals(this.components, path.components); } return false; } /** * calculate and return the hashcode * * @return hashcode */ public int hashCode() { return (hashcode == 0) ? (hashcode = Arrays.hashCode(components)) : hashcode; } /** * @return the number of components */ public int length() { return components.length; } /** * get the specified component * * @param n which component (0 ... length() - 1) * * @return the nth component; * * @throws ArrayIndexOutOfBoundsException if n < 0 or n >= length() */ public String getComponent(int n) throws ArrayIndexOutOfBoundsException { return components[ n ]; } /** * <p>Returns the path's parent or <code>null</code> if this path * is the root path.</p> * * @since 2002-01-24 * @return path of parent, or null if this path is the root path */ public POIFSDocumentPath getParent() { return (components.length == 0) ? null : new POIFSDocumentPath(Arrays.copyOf(components, components.length - 1)); } /** * <p>Returns the last name in the document path's name sequence. * If the document path's name sequence is empty, then the empty string is returned.</p> * * @since 2016-04-09 * @return The last name in the document path's name sequence, or empty string if this is the root path */ public String getName() { return components.length == 0 ? "" : components[components.length - 1]; } /** * <p>Returns a string representation of the path. Components are * separated by the platform-specific file separator {@link File#separatorChar}</p> * * @return string representation * * @since 2002-01-24 */ public String toString() { return File.separatorChar + String.join(String.valueOf(File.separatorChar), components); } }
⏎ org/apache/poi/poifs/filesystem/POIFSDocumentPath.java
Or download all of them as a single archive file:
File name: poi-5.2.3-src.zip File size: 2479830 bytes Release date: 2022-09-09 Download
⇒ What Is poi-ooxml-5.2.3.jar?
⇐ What Is poi-bin-5.2.3-20220909.zip?
2017-04-04, 55254👍, 0💬
Popular Posts:
MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but c...
The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of a...
Java Architecture for XML Binding (JAXB) is a Java API that allows Java developers to map Java class...
Java Servlet 3.0 Specification API. JAR File Size and Download Location: File name: servlet-api.jar,...
Apache Log4j Core Implementation provides the functional components of the logging system. Users are...