Package com.complexible.common.base
package com.complexible.common.base
This package defines a set of classes primarily working with Java core objects or other basic operations. Many
are a supplement to what is found in Guava.
-
ClassDescriptionComparator to order sorted maps.AtomicState<S extends Enum<S>>Represents a mutable state that can be updated exclusively through
AtomicState.beginTransitionFrom(Enum[])andAtomicState.endTransition()calls.This class is an equivalent of Guava'sCloser, that supportsAutoCloseables.A special kind ofDisposablethat keeps track of references to it and disposes the object automatically when there are no references left.Three-valued (true, false, unknown) boolean type.Class which represents a logical change to a resource.An ordered list ofchangesto some resource.The type of aChange.Interface for an object that can be copied.Utility methods for copying collections ofCopyableobjects.DataKey<E>An object that maps keys to values in a type-safe manner.Utility methods for working with the Date objectImmutable representation of date time.ADisposableis an object data that can be disposed once it is not needed anymore.Utility for tracking and massDisposable.dispose()ofDisposableresources.Immutable representation of a duration.Simple extension toResourceBundlethat handles message formatting viaMessageFormatfor values in the resource bundle.Functional utilitiesAn adapter for converting push-based data processing (aka handler-based) to pull-based data processing (aka iterator-based).Can be thrown out ofConsumer.accept(Object)to indicate that theproducermust stop generating data.Simple -javaagent compatible instrumentor.IOFunction<T,R> Function which performs I/O which declares throwing IOExceptionMath-related utilsUtility class for memory related information.Object utilities not provided byObjects.Option<V>Represents a configuration option.Native memory usage info collected from OS.Pair<K1,K2> Tuple with 2 elementsRead-Only interface for progress info.Immutable default implementation of a progressA multi-thread safe progress monitor implementation that prints progress percent and elapsed time at specified percent increments.Builder class for a customizable progress monitorChain more than one monitor / reporterInterface for progress reportingSimple builder class for creating instances ofPropertiesA series of basic Reflect based utility functions.A utility class to help with reporting progress at predefined intervals.A report interval extension that also handles tracking progress.SizeFunction<T>An interface for computing (typically approximate) size of a specific kind of object.Implementation of size computation for commonly used object types.Sorter<T>This class performs merge sort over an array but allocates the additional array used in merge sort upfront so if the arrays of same size will be sorted repeatedly this sorter can be reused to minimize garbage collection with the price of having memory for extra array always being used.Sorter implementation for QuickSort.Utility for streamsStreams.CheckedBiFunction<In1,In2, Out> Streams.CheckedFunction<In,Out> Exception indicating that Checked* threw an exception and the default handler was usedString utilities not provided byStrings.Utility methods for working withSystem, particularly safe, default value supported lookups intoSystem.getProperty(java.lang.String)and other OS/system level calls.