| Package | Description |
|---|---|
| org.organicdesign.fp |
A data definition language, and other tools for writing functional Java.
|
| org.organicdesign.fp.collections |
Type-safe versions of the immutable Clojure collections, plus unmodifiable and immutable
collection interfaces that extend the java.util collections, deprecating the mutate-in-place
methods (Unmod____) and adding methods that return a new, immutable, modified version of the
collection (Im____).
|
| org.organicdesign.fp.tuple |
Immutable, type-safe, heterogeneous containers - ML calls these "records."
ML, Haskell, and Scala use tuples - why not Java?
Actually, tuples are *more* important in Java because Java does not have type aliases.
|
| org.organicdesign.fp.xform |
Immutable descriptions of data transformations (Transformable), and a highly efficient
single-pass, short-circuiting implementation that carries out those transforms in a single pass
(Xform).
|
| Class and Description |
|---|
| ImList
Holds Immutable "modification" methods that return a new ImList reflecting the modification while
sharing as much data structure with the previous ImList as possible (for performance).
|
| ImMap
An immutable map with no guarantees about its ordering.
|
| ImSet
An immutable set interface
|
| ImSortedMap
An immutable sorted map.
|
| ImSortedSet
An immutable sorted set interface
|
| MutableList
You could think of this as a builder for an immutable map.
|
| MutableUnsortedMap
Interface for mutable (hash) map builder.
|
| MutableUnsortedSet
Declare your set as MutableUnsortedSet, call mutable(), build it, then call
mySet = mySet.immutable() without having to declare a new variable.
|
| Sized |
| UnmodCollection
Don't implement this interface directly if you don't have to.
|
| UnmodIterable
An unmodifiable Iterable, without any guarantee about order.
|
| UnmodIterator
A one-time use, mutable, not-thread-safe way to get each value of the underling collection in
turn.
|
| UnmodList
An unmodifiable version of
List which formalizes the return type of
Collections.unmodifiableList() |
| UnmodListIterator
An unmodifiable ListIterator
|
| UnmodMap
An unmodifiable map.
|
| UnmodMap.UnEntry
A map entry (key-value pair).
|
| UnmodSet
An unmodifiable set
|
| UnmodSortedCollection |
| UnmodSortedIterable
An unmodifiable Iterable, with guaranteed order.
|
| UnmodSortedIterator
This represents an iterator with a guaranteed ordering.
|
| UnmodSortedMap
An unmodifiable SortedMap.
|
| UnmodSortedSet
An unmodifiable SortedSet.
|
| Class and Description |
|---|
| ComparisonContext
Implement compare() and hash() and you get a 100% compatible eq() for free.
|
| ComparisonContext.CompCtx |
| Equator
An Equator represents an equality context in a way that is analgous to the java.util.Comparator
interface.
|
| Equator.Comp |
| Equator.Equat |
| ImList
Holds Immutable "modification" methods that return a new ImList reflecting the modification while
sharing as much data structure with the previous ImList as possible (for performance).
|
| ImMap
An immutable map with no guarantees about its ordering.
|
| ImSet
An immutable set interface
|
| ImSortedMap
An immutable sorted map.
|
| ImSortedSet
An immutable sorted set interface
|
| ImUnsortedMap
Interface for unsorted (today that probably means "hash") maps.
|
| ImUnsortedSet
The super-interface of PersistentHashSet (excludes TreeSet).
|
| KeyVal
Deprecated.
|
| MutableList
You could think of this as a builder for an immutable map.
|
| MutableUnsortedMap
Interface for mutable (hash) map builder.
|
| MutableUnsortedSet
Declare your set as MutableUnsortedSet, call mutable(), build it, then call
mySet = mySet.immutable() without having to declare a new variable.
|
| PersistentHashMap
Rich Hickey's immutable rendition of Phil Bagwell's Hash Array Mapped Trie.
|
| PersistentHashMap.MutableHashMap |
| PersistentHashSet
A wrapper that turns a PersistentTreeMap into a set.
|
| PersistentHashSet.MutableHashSet |
| PersistentTreeMap
Persistent Red Black Tree.
|
| PersistentTreeSet
A wrapper that turns a PersistentTreeMap into a set.
|
| PersistentVector
This started out as Rich Hickey's PersistentVector class from Clojure in late 2014.
|
| PersistentVector.MutableVector |
| RangeOfInt
An efficient (in both time and memory) implementation of List.
|
| RangeOfInt.Equat |
| Sized |
| UnmodCollection
Don't implement this interface directly if you don't have to.
|
| UnmodIterable
An unmodifiable Iterable, without any guarantee about order.
|
| UnmodIterable.AbstractUnmodIterable
Implements equals and hashCode() methods compatible with all java.util collections (this
algorithm is not order-dependent) and toString which takes the name of the sub-class.
|
| UnmodIterator
A one-time use, mutable, not-thread-safe way to get each value of the underling collection in
turn.
|
| UnmodList
An unmodifiable version of
List which formalizes the return type of
Collections.unmodifiableList() |
| UnmodList.AbstractUnmodList
Implements equals and hashCode() methods compatible with java.util.Set (which ignores order)
to make defining unmod sets easier, especially for implementing Map.keySet() and such.
|
| UnmodListIterator
An unmodifiable ListIterator
|
| UnmodMap
An unmodifiable map.
|
| UnmodMap.AbstractUnmodMap
Implements equals and hashCode() methods compatible with java.util.Map (which ignores order)
to make defining unmod Maps easier.
|
| UnmodMap.UnEntry
A map entry (key-value pair).
|
| UnmodMap.UnEntry.EntryToUnEntryIter |
| UnmodMap.UnEntry.UnmodKeyIter |
| UnmodMap.UnEntry.UnmodValIter |
| UnmodSet
An unmodifiable set
|
| UnmodSet.AbstractUnmodSet
Implements equals and hashCode() methods compatible with java.util.Set (which ignores order)
to make defining unmod sets easier, especially for implementing Map.keySet() and such.
|
| UnmodSortedCollection |
| UnmodSortedIterable
An unmodifiable Iterable, with guaranteed order.
|
| UnmodSortedIterator
This represents an iterator with a guaranteed ordering.
|
| UnmodSortedMap
An unmodifiable SortedMap.
|
| UnmodSortedSet
An unmodifiable SortedSet.
|
| Class and Description |
|---|
| UnmodMap.UnEntry
A map entry (key-value pair).
|
| Class and Description |
|---|
| ImList
Holds Immutable "modification" methods that return a new ImList reflecting the modification while
sharing as much data structure with the previous ImList as possible (for performance).
|
| ImMap
An immutable map with no guarantees about its ordering.
|
| ImSet
An immutable set interface
|
| ImSortedMap
An immutable sorted map.
|
| ImSortedSet
An immutable sorted set interface
|
| UnmodIterable
An unmodifiable Iterable, without any guarantee about order.
|
| UnmodIterator
A one-time use, mutable, not-thread-safe way to get each value of the underling collection in
turn.
|
Copyright © 2017. All rights reserved.