## Package org.apache.poi.util

Top-level util package are classes that are useful throughout the project.

See:
Description

Interface Summary
DelayableLittleEndianOutput: Implementors of this interface allow client code to 'delay' writing to a certain section of a data output stream. A typical application is for writing BIFF records when the size is not known until well after the header has been written.
FixedField: behavior of a field at a fixed location within a byte array
LittleEndianConsts: a repository for constants shared by classes within this package
LittleEndianInput
LittleEndianOutput

Class Summary
ArrayUtil: Utility classes for dealing with arrays.
BinaryTree: Red-Black tree-based implementation of Map.
BitField: Manage operations dealing with bit-mapped fields.
BitFieldFactory: Returns immutable Btfield instances.
BlockingInputStream: Implementation of a BlockingInputStream to provide data to RawDataBlock that expects data in 512 byte chunks.
ByteField: representation of a byte (8-bit) field at a fixed location within a byte array
CloseIgnoringInputStream: A wrapper around an `InputStream`, which ignores close requests made to it.
CommonsLogger: A logger class that strives to make it as easy as possible for developers to write log calls, while simultaneously making those calls as cheap as possible by performing lazy evaluation of the log message.
DrawingDump: Dump out the aggregated escher records
FontMetricsDumper
HexDump: dump data in hexadecimal format; derived from a HexDump utility I wrote in June 2001.
HexRead: Utilities to read hex from files.
IdentifierManager: 24.08.2009
IntegerField: representation of an integer (32-bit) field at a fixed location within a byte array

IntList

A List of int's; as full an implementation of the java.util.List interface as possible, with an eye toward minimal creation of objects the mimicry of List is as follows: if possible, operations designated 'optional' in the List interface are attempted wherever the List interface refers to an Object, substitute int wherever the List interface refers to a Collection or List, substitute IntList the mimicry is not perfect, however: operations involving Iterators or ListIterators are not supported remove(Object) becomes removeValue to distinguish it from remove(int index) subList is not supported

IntMapper<T>: A List of objects that are indexed AND keyed by an int; also allows for getting the index of a value in the list
IOUtils
LittleEndian: a utility class for handling little-endian numbers, which the 80x86 world is replete with.
LittleEndianByteArrayInputStream: Adapts a plain byte array to `LittleEndianInput`
LittleEndianByteArrayOutputStream: Adapts a plain byte array to `LittleEndianOutput`
LittleEndianInputStream: Wraps an `InputStream` providing `LittleEndianInput` This class does not buffer any input, so the stream read position maintained by this class is consistent with that of the inner stream.
LittleEndianOutputStream
LongField: representation of a long (16-bit) field at a fixed location within a byte array
LZWDecompresser: This class provides common functionality for the various LZW implementations in the different file formats.
NullLogger: A logger class that strives to make it as easy as possible for developers to write log calls, while simultaneously making those calls as cheap as possible by performing lazy evaluation of the log message.
OOXMLLite: Build a 'lite' version of the ooxml-schemas.jar
PackageHelper: Provides handy methods to work with OOXML packages
POILogFactory: Provides logging without clients having to mess with configuration/initialization.
POILogger: A logger interface that strives to make it as easy as possible for developers to write log calls, while simultaneously making those calls as cheap as possible by performing lazy evaluation of the log message.
ShortField: representation of a short (16-bit) field at a fixed location within a byte array

ShortList

A List of short's; as full an implementation of the java.util.List interface as possible, with an eye toward minimal creation of objects the mimicry of List is as follows: if possible, operations designated 'optional' in the List interface are attempted wherever the List interface refers to an Object, substitute short wherever the List interface refers to a Collection or List, substitute ShortList the mimicry is not perfect, however: operations involving Iterators or ListIterators are not supported remove(Object) becomes removeValue to distinguish it from remove(short index) subList is not supported

StringUtil: Title: String Utility Description: Collection of string handling utilities Note - none of the methods in this class deals with `ContinueRecord`s.
StringUtil.StringsIterator: An Iterator over an array of Strings.
SystemOutLogger: A logger class that strives to make it as easy as possible for developers to write log calls, while simultaneously making those calls as cheap as possible by performing lazy evaluation of the log message.
TempFile: Interface for creating temporary files.
Units

Exception Summary
LittleEndian.BufferUnderrunException: Exception to handle buffer underruns
RecordFormatException: A common exception thrown by our binary format parsers (especially HSSF and DDF), when they hit invalid format or data when processing a record.

Annotation Types Summary
Beta: Signifies that a public API (public class, method or field) is subject to incompatible changes, or even removal, in a future release.
Internal: Program elements annotated @Internal are intended for POI internal use only.

## Package org.apache.poi.util Description

Top-level util package are classes that are useful throughout the project. These classes are generally generic enough to be useful in any project and should be contributed elsewhere!

## Related Documentation

For overviews, tutorials, examples, guides, and tool documentation, please see:

- Apache POI Project

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.