# Package uk.ac.starlink.util

Miscellaneous utility classes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Cleaner.Cleanable | Cleanable represents an object and a cleaning action registered in a Cleaner.
  Destination | Defines an object which can return an output stream, and hence represents the potential destination of a stream of data.
  IOConsumer<T> | Consumer-like interface that allows an IOException to be thrown.
  IODoubleSupplier | DoubleSupplier-like interface that allows an IOException to be thrown.
  IOFunction<T,R> | Function-like interface that allows an IOException to be thrown.
  IORunnable | Runnable-like interface that allows an IOException to be thrown.
  IOSupplier<T> | Supplier-like interface that allows an IOException to be thrown.
  NodeDescendants.Visitor | The `Visitor` processes a single node in a tree.
  Sequence | Utility sub-interface of Splittable suitable for use with splittable data that can be iterated over.
  SplitCollector<S extends Splittable<S>,A> | Defines an object that can collect values from a Splittable into an accumulator.
  Splittable<S extends Splittable<S>> | Defines an object which can be split into two for subdivided processing.
  Wrapper | Mixin interface which indicates an object built on top of a base object.
  XMLEncodeDecode | Interface for objects that can encode and decode their internal configuration within the content of an `Element`.

- Class Summary
  Class | Description
  --- | ---
  AsciiFileParser | Generalised parser for data stored as a table in a plain text file.
  AuxClassLoader | This class provides a ClassLoader which looks on a given class path.
  Base64InputStream | Reads in base-64 encoded input and spits out the raw binary decoding.
  BeanConfig | Utility class for configuring dynamically loaded objects.
  BeanConfig.Setting | Represents an object configuration operation.
  Bi<A,B> | Aggregates two typed objects of different types.
  BufferedBase64OutputStream | OutputStream that encodes to Base64 with buffering.
  ByteArrayDataSource | DataSource implementation that uses an internal byte buffer to store the data.
  ByteList | Extendable array of bytes.
  CgiQuery | Utility class for constructing CGI query strings.
  Cleaner | Manages a set of object references and corresponding cleaning actions.
  Compression | Characterises the compression status of a stream, and provides methods for decompressing it.
  ContentCoding | Defines a policy for Content Codings used in HTTP connections.
  ContentType | Represents a Content Type (MIME type) string.
  CountInputStream | Filter input stream that counts the number of bytes read.
  CountMap<T> | Keeps track of the number of times an item of type T has been added.
  CustomURLStreamHandlerFactory | Customisable implementation of `URLStreamHandlerFactory`.
  DataBufferedInputStream | InputStream which provides buffering and an efficient DataInput implementation.
  DataBufferedOutputStream | BufferedOutputStream subclass implementing the DataOutput interface.
  DataSource | Represents a stream-like source of data.
  DOMUtils | Provides convenience methods for handling DOMs.
  DoubleList | Extendable array of doubles.
  FileDataSource | A DataSource implementation based on a `File`.
  FloatList | Extendable array of floats.
  GenericNioBuffer | Convenience class which wraps one of the NIO <Type>Buffer classes to provide generic functionality.
  HeadBufferInputStream | Filter input stream that records the first few bytes read from its base stream for later examination.
  IconUtils | Utility functions related to Icons.
  IntList | Extendable array of integers.
  IOUtils | Provides static methods which do miscellaneous input/output tasks.
  LineReader | Class containing methods for reading strings from the user (standard input).
  Loader | Provides utilities associated with loading resources.
  LogUtils | Utilities for working with logging.
  LongList | Extendable array of longs..
  MapGroup<K,V> | Represents an ordered list of `Map`s containing related data.
  MultiplexInvocationHandler<T> | Used to generate a proxy instance which implements a given interface and delegates its calls to each of a given list of target implementations.
  NodeDescendants | Represents the set of Nodes in the tree rooted at a particular DOM Node.
  ObjectFactory<T> | Manages dynamic creation of objects from a known set of classes.
  Pair<T> | Aggregates two objects of the same type.
  PhysicalConstants | Class of physical and astronomical constants.
  PipeReaderThread | Thread which reads data from a pipe.
  PrimitiveList | Provides an extendable list of primitive values.
  PrimitiveXMLEncodeDecode | An abstract base-class for objects that want to encode and decode themselves from an XML stream.
  ProcessDataSource | DataSource that uses the standard output of a System process.
  PropertyAuthenticator | Authenticator implementation which uses system properties to set fixed username and passwords for HTTP Basic Authentication.
  ProxySetup | A singleton class for controlling the configuration of the web proxy system properties.
  ResourceDataSource | A DataSource which represents a resource available from the class loader's `ClassLoader.getResourceAsStream(java.lang.String)` method.
  ShortList | Extendable array of shorts.
  SourceReader | Convenience class to manipulate XML Sources.
  SplitPolicy | Defines the details of a concurrency policy as used by SplitProcessor.
  SplitProcessor<S extends Splittable<S>> | Invokes processing on Splittables.
  StarEntityResolver | Provides specialised XML entity resolution.
  StreamUtil | Utilities for use with java Streams.
  SuperJar | Utility to generate a single jar file containing all the resources referenced by a given jar file.
  TemporaryFileDataSource | A DataSource which stores its data in a temporary file.
  TestCase | This class extends `TestCase`, providing some additional assertions and methods for providing test data for convenience.
  UncompressInputStream | This class decompresses an input stream containing data compressed with the unix "compress" utility (LZC, a LZW variant).
  URLDataSource | A DataSource implementation based on a `URL`.
  URLUtils | Provides convenience methods for resolving URLs.
  Util | General class containing utility methods.
  ValueWatcher | Looks out for an unused value in a sequence of submitted numbers.
  WrapUtils | Utilities relating to the `Wrapper` class.
  XmlWriter | Provides methods for writing XML output to a stream.

- Exception Summary
  Exception | Description
  --- | ---
  LoadException | Exception thrown if an object creation fails for reasonable reasons.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ConfigMethod | Annotation that prepares a mutator method for use and documentation by the `BeanConfig` class.

## Package uk.ac.starlink.util Description

Miscellaneous utility classes.