Package com.linkedin.alpini.base.misc
package com.linkedin.alpini.base.misc
-
ClassDescriptionArrayMap<K,
V> Utilities for Classes / reflection.DoublyLinkedList<E extends DoublyLinkedList.Entry<E>>Linked list implementation of the List interface.DoublyLinkedList.Entry<E extends DoublyLinkedList.Entry<E>>In order to maintain a doubly-linked list, each element needs to establish links to its adjacent elements.Client-facing exception for HTTP/2 too many active streams exception with a clearer message for the clients.ImmutableMapEntry<K,V> Utility methods forIterator
s.Utility methods for JDBC.General purpose object reference leak detector with recovery.Message holder object for use with lazy logging.Pair<F,S> A simple container for a pair of (2) values.Utility methods for precondition checks.Utility methods for Processes.Imported this implementation from netty 3.2.4 because the implementation within 3.5.11 will corrupt uri paths, converting ';' semicolons into '&' ampersands.A non-thread safe counter that should be used and increased in a single thread env when the increment is calledA VERY simple JSON mapper.SlowFieldAccessor<T,V> Field accessor using Reflection.Helper class for theSlowFieldAccessor
implementation.This class provides thread-local variables withSoftReference
semantics.AnExecutorService
that executes each submitted task using one of possibly several pooled threads, normally configured usingExecutors
factory methods.Utility methods for time travelling and freezing time.This utility class provides methods to format and parse a timespan in a human readable form.AThreadPoolExecutor
that can additionally schedule commands to run after a given delay, or to execute periodically.A class to encapsulate time values along with their measurement units Works for both timestamps as well as time durations.TypedFieldAccessor<T,V> Interface for a generic typed field accessor.Helper class to determine at run time which implementation to use.Copies of the implementation ofURLEncoder.encode(String, String)
andURLDecoder.decode(String, String)
except with the following changes: Accept aCharset
argument for the character set instead of a string which would causeCharset.forName(String)
to be called. Internally useStringBuilder
instead ofStringBuffer
. These methods no longer throw a checked exception because it no longer callsCharset.forName(String)
. These methods are annotated withNonnull
annotations.