Skip navigation links
Experiments in Java, from Apriori Enterprises.

See: Description

Packages 
Package Description
com.bluegosling.apt
APIs to simplify implementation of annotation processors and annotation processing tools.
com.bluegosling.apt.reflect
This package provides an alternate set of APIs for interacting with annotations and types from an annotation processor.
com.bluegosling.apt.testing
Tools for unit testing annotation processors using JUnit4.
com.bluegosling.buildgen
Tools for analyzing file and package dependencies in Java source code and generating Pants BUILD files based on those dependencies.
com.bluegosling.choice
APIs for tagged union types.
com.bluegosling.collections
Various utilities that extend the Java Collections Framework (JCF).
com.bluegosling.collections.bits
This package contains an alternative to the standard BitSet that provides an immutable view of a sequence of bits and includes mechanisms to navigate the sequence in arbitrarily-sized chunks of bits.
com.bluegosling.collections.concurrent
New implementations of concurrent data structures.
com.bluegosling.collections.immutable
Immutable and persistent collections.
com.bluegosling.collections.lists
New interfaces and implementations related to the standard Java List interface.
com.bluegosling.collections.maps
New interfaces and implementations related to the standard Java Map interface.
com.bluegosling.collections.primitive
Primitive specializations of collections.
com.bluegosling.collections.queues
New interfaces and implementations related to the standard Java Queue interface.
com.bluegosling.collections.sets
New interfaces and implementations related to the standard Java Set interface.
com.bluegosling.collections.sorting
Implementations of sorting algorithms.
com.bluegosling.collections.tables
Multi-dimensional tables and nested maps.
com.bluegosling.collections.tries
General trie container types for Java.
com.bluegosling.concurrent
Classes that extend and enhance the API provided by the java.util.concurrent package.
com.bluegosling.concurrent.atoms
A set of classes for managing mutable thread-safe references.
com.bluegosling.concurrent.contended
Classes that provide similar functionality to com java.util.concurrent.atomic, except using padded values to prevent cache contention (false sharing).
com.bluegosling.concurrent.executors
Implementations and variations of Executors.
com.bluegosling.concurrent.extras
Additional concurrency-related APIs.
com.bluegosling.concurrent.fluent
This package contains the über-Future.
com.bluegosling.concurrent.futures
Utilities and new classes related to using CompletableFuture and CompletionStage.
com.bluegosling.concurrent.locks
New types of locks and synchronizers.
com.bluegosling.concurrent.scheduler
A ScheduledTaskManager API, which provides lots of scheduled task and job management functionality.
com.bluegosling.derivations
A simple tool for analyzing derivations and computing indirect/transitive derivation relationships.
com.bluegosling.function
Interfaces and classes that complement the standard java.util.function package.
com.bluegosling.generator
Utilities for simulating generators in Java.
com.bluegosling.graph
APIs for representing complex processes as a dependency graph.
com.bluegosling.possible
Objects that may or may not have a value.
com.bluegosling.processors
Annotation processors.
com.bluegosling.reflect
Utilities to aid in runtime type reflection code, including the use of proxies.
com.bluegosling.reflect.blaster
An API that allows a single proxy to be used as a broadcasting proxy -- to "blast" method invocations out to multiple delegates.
com.bluegosling.reflect.caster
An API that leverages reflection to dynamically cast an object to an arbitrary interface.
com.bluegosling.reflect.model
Extensions of elements and type mirrors for use with core reflection.
com.bluegosling.reflect.scanner
A package scanner that uses reflection to enumerate the contents of a package.
com.bluegosling.result
A simple value type that can represent either the value of a successful operation or the cause of failure for an unsuccessful one.
com.bluegosling.streams
An alternate stream implementation that includes additional operations, including simple mechanisms to define new operators.
com.bluegosling.testing
Tools for testing implementations of interfaces.
com.bluegosling.tuples
APIs for type-safe tuples.
com.bluegosling.util
Miscellaneous utility classes.
com.bluegosling.vars
This package contains simple, mutable "holders" for reference types and primitives.
Experiments in Java, from Apriori Enterprises.

These packages contain a wide variety of interesting and useful tools for Java programming, ranging from new collection implementations, to testing tools, to runtime reflection tools.

Skip navigation links