Skip to content
flbulgarelli edited this page Jan 30, 2012 · 11 revisions

Quick Overview

Staccatissimo library is build from several modules, which you can add to your own project as you need - you don't have to import the whole codebase

DependencyTree

Restrictions

A library of annotations that express restrictions and properties of code, in order to augment documentation reuse, maintainability and consistency. Many of those annotations may be processed by to staccatissimo-restriction-instrument tool.
More Info:

Defs

The core Staccatisimo definitions, a minimal library of interfaces that are deliberately very abstract, with well defined but generic semantics, in order to augment code reuse. They are the glue of staccatissimo

Lang

Simple but essential abstractions for the rest of the projects, like Options and Tuples. It contains also abstract and/or concrete implementations of most of the interfaces in staccatissimo-defs, like function objets, and facilities for implementing equals, hashcode, toString and compareTo in a consistent way, without performance impacts or boilerplate code.

More Info:

Util

Optional extensions to staccatissimo-lang: Ranges, String functions, etc

More Info:

Numbers

Implementation of several number types as defined by staccatissimo-def, which allow to handle numbers polymorphically, and utilities for creating BigDecimals and BigIntegers in a succinct way

More Info:

Check

A general purpose, abstract validation ecosystem, with concrete classes for checking preconditions and postconditions, capable of throwing arbitrary exception types

More Info:

Iterators

A library of generic, reusable common iterators, and thriters, advanced powerful iterator-like objects that permit lazy iterations impossible before them.

More Info:

Collections

Dozens of class methods for iterables handling, in both a functional and a more imperative style, and Streams, the "super"-iterable - rich, lazy, and generic enough to handle much more than just collections.

More Info:

Lambda

A minimalistic and lightweight library for instantiating simple functions and predicates in a DSL style, without using anonymous classes.

More Info:

IO

Integration between the Staccato libraries and java.io.

More Info:

Instrument

  • staccatissimo-instrument: an extensible, compile-time, annotation processing tool with class-instrumentation capabilities.

Restrictions-Instrument and Restrictions Instrument Maven Plugin

More Info:

Dynamic

Control

A library for building complex, high-level control structures in a simple, consistent way, letting developers to deal with many very different third-party APIs using a set of high-level primitives. You will be able to use collections, concurrent abstractions, asynchronous web scrappers, rest apis, database queries and much more using a simple interface, and get DSL's for free by just implementing a few methods.

It uses advanced functional techniques, but you will not be required to understand them.

More Info:

Clone this wiki locally