Package fj
Class Hash<A>
java.lang.Object
fj.Hash<A>
Produces a hash code for an object which should attempt uniqueness.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Hash
<BigDecimal> A hash instance for theBigDecimal
type.static final Hash
<BigInteger> A hash instance for theBigInteger
type.A hash instance for theboolean
type.A hash instance for thebyte
type.A hash instance for thechar
type.A hash instance for thedouble
type.A hash instance for thefloat
type.A hash instance for theint
type.A hash instance for thelong
type.A hash instance for theNatural
type.A hash instance for theshort
type.static final Hash
<StringBuffer> A hash instance for theStringBuffer
type.static final Hash
<StringBuilder> A hash instance for theStringBuilder
type.A hash instance for theString
type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <A> Hash
<A> anyHash()
A hash that usesObject.hashCode()
.A hash instance for theArray
type.<B> Hash
<B> Maps the given function across this hash as a contra-variant functor.either3Hash
(Hash<A> ha, Hash<B> hb, Hash<C> hc) eitherHash
(Hash<A> ha, Hash<B> hb) A hash instance for theEither
type.int
Compute the hash of the given value.static <A> Hash
<A> Construct a hash with the given hash function.A hash instance for theList
type.static <A> Hash
<NonEmptyList<A>> nonEmptyListHash
(Hash<A> ha) A hash instance for theNonEmptyList
type.optionHash
(Hash<A> ha) A hash instance for theOption
type.A hash instance for a product-1.A hash instance for a product-2.A hash instance for a product-3.A hash instance for a product-4.A hash instance for a product-5.A hash instance for a product-6.A hash instance for a product-7.p8Hash
(Hash<A> ha, Hash<B> hb, Hash<C> hc, Hash<D> hd, Hash<E> he, Hash<F$> hf, Hash<G> hg, Hash<H> hh) A hash instance for a product-8.resultHash
(Hash<A> ha, Hash<I> hi) A hash instance for theResult
type.streamHash
(Hash<A> ha) A hash instance for theStream
type.A hash instance for theTree
type.treeMapHash
(Hash<K> h, Hash<V> v) static <A> Hash
<TreeZipper<A>> treeZipperHash
(Hash<A> ha) A hash instance for theTreeZipper
type.A hash instance for a vector-2.A hash instance for a vector-3.A hash instance for a vector-4.A hash instance for a vector-5.A hash instance for a vector-6.A hash instance for a vector-7.A hash instance for a vector-8.static <A,
B> Hash <Validation<A, B>> validationHash
(Hash<A> ha, Hash<B> hb) A hash instance for theValidation
type.zipperHash
(Hash<A> ha) A hash instance for theZipper
type.
-
Field Details
-
f
-
booleanHash
A hash instance for theboolean
type. -
byteHash
A hash instance for thebyte
type. -
charHash
A hash instance for thechar
type. -
doubleHash
A hash instance for thedouble
type. -
floatHash
A hash instance for thefloat
type. -
intHash
A hash instance for theint
type. -
longHash
A hash instance for thelong
type. -
shortHash
A hash instance for theshort
type. -
bigintHash
A hash instance for theBigInteger
type. -
bigdecimalHash
A hash instance for theBigDecimal
type. -
naturalHash
A hash instance for theNatural
type. -
stringHash
A hash instance for theString
type. -
stringBufferHash
A hash instance for theStringBuffer
type. -
stringBuilderHash
A hash instance for theStringBuilder
type.
-
-
Constructor Details
-
Hash
-
-
Method Details
-
hash
Compute the hash of the given value.- Parameters:
a
- The value to compute the hash value for.- Returns:
- The hash value.
-
contramap
Maps the given function across this hash as a contra-variant functor.- Parameters:
g
- The function to map.- Returns:
- A new hash.
-
hash
Construct a hash with the given hash function.- Parameters:
f
- The function to construct the hash with.- Returns:
- A hash that uses the given function.
-
anyHash
A hash that usesObject.hashCode()
.- Returns:
- A hash that uses
Object.hashCode()
.
-
eitherHash
A hash instance for theEither
type.- Parameters:
ha
- Hash the left side ofEither
.hb
- Hash the right side ofEither
.- Returns:
- A hash instance for the
Either
type.
-
either3Hash
-
resultHash
A hash instance for theResult
type.- Parameters:
ha
- Hash theResult
value.hi
- Hash theResult
remainder.- Returns:
- A hash instance for the
Result
type.
-
validationHash
A hash instance for theValidation
type.- Parameters:
ha
- Hash the failing side ofValidation
.hb
- Hash the succeeding side ofValidation
.- Returns:
- A hash instance for the
Validation
type.
-
listHash
A hash instance for theList
type.- Parameters:
ha
- A hash for the elements of the list.- Returns:
- A hash instance for the
List
type.
-
nonEmptyListHash
A hash instance for theNonEmptyList
type.- Parameters:
ha
- A hash for the elements of the non-empty list.- Returns:
- A hash instance for the
NonEmptyList
type.
-
optionHash
A hash instance for theOption
type.- Parameters:
ha
- A hash for the element of the optional value.- Returns:
- A hash instance for the
Option
type.
-
seqHash
-
setHash
-
streamHash
A hash instance for theStream
type.- Parameters:
ha
- A hash for the elements of the stream.- Returns:
- A hash instance for the
Stream
type.
-
arrayHash
A hash instance for theArray
type.- Parameters:
ha
- A hash for the elements of the array.- Returns:
- A hash instance for the
Array
type.
-
zipperHash
A hash instance for theZipper
type.- Parameters:
ha
- A hash for the elements of the zipper.- Returns:
- A hash instance for the
Zipper
type.
-
treeZipperHash
A hash instance for theTreeZipper
type.- Parameters:
ha
- A hash for the elements of the tree zipper.- Returns:
- A hash instance for the
TreeZipper
type.
-
treeHash
A hash instance for theTree
type.- Parameters:
ha
- A hash for the elements of the tree.- Returns:
- A hash instance for the
Tree
type.
-
treeMapHash
-
p1Hash
A hash instance for a product-1.- Parameters:
ha
- A hash for the first element of the product.- Returns:
- A hash instance for a product-1.
-
p2Hash
A hash instance for a product-2.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.- Returns:
- A hash instance for a product-2.
-
p3Hash
A hash instance for a product-3.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.- Returns:
- A hash instance for a product-3.
-
p4Hash
A hash instance for a product-4.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.hd
- A hash for the fourth element of the product.- Returns:
- A hash instance for a product-4.
-
p5Hash
public static <A,B, Hash<P5<A,C, D, E> B, p5HashC, D, E>> (Hash<A> ha, Hash<B> hb, Hash<C> hc, Hash<D> hd, Hash<E> he) A hash instance for a product-5.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.hd
- A hash for the fourth element of the product.he
- A hash for the fifth element of the product.- Returns:
- A hash instance for a product-5.
-
p6Hash
public static <A,B, Hash<P6<A,C, D, E, F$> B, p6HashC, D, E, F$>> (Hash<A> ha, Hash<B> hb, Hash<C> hc, Hash<D> hd, Hash<E> he, Hash<F$> hf) A hash instance for a product-6.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.hd
- A hash for the fourth element of the product.he
- A hash for the fifth element of the product.hf
- A hash for the sixth element of the product.- Returns:
- A hash instance for a product-6.
-
p7Hash
public static <A,B, Hash<P7<A,C, D, E, F$, G> B, p7HashC, D, E, F$, G>> (Hash<A> ha, Hash<B> hb, Hash<C> hc, Hash<D> hd, Hash<E> he, Hash<F$> hf, Hash<G> hg) A hash instance for a product-7.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.hd
- A hash for the fourth element of the product.he
- A hash for the fifth element of the product.hf
- A hash for the sixth element of the product.hg
- A hash for the seventh element of the product.- Returns:
- A hash instance for a product-7.
-
p8Hash
public static <A,B, Hash<P8<A,C, D, E, F$, G, H> B, p8HashC, D, E, F$, G, H>> (Hash<A> ha, Hash<B> hb, Hash<C> hc, Hash<D> hd, Hash<E> he, Hash<F$> hf, Hash<G> hg, Hash<H> hh) A hash instance for a product-8.- Parameters:
ha
- A hash for the first element of the product.hb
- A hash for the second element of the product.hc
- A hash for the third element of the product.hd
- A hash for the fourth element of the product.he
- A hash for the fifth element of the product.hf
- A hash for the sixth element of the product.hg
- A hash for the seventh element of the product.hh
- A hash for the eighth element of the product.- Returns:
- A hash instance for a product-8.
-
v2Hash
A hash instance for a vector-2.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-2.
-
v3Hash
A hash instance for a vector-3.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-3.
-
v4Hash
A hash instance for a vector-4.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-4.
-
v5Hash
A hash instance for a vector-5.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-5.
-
v6Hash
A hash instance for a vector-6.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-6.
-
v7Hash
A hash instance for a vector-7.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-7.
-
v8Hash
A hash instance for a vector-8.- Parameters:
ea
- A hash for the elements of the vector.- Returns:
- A hash instance for a vector-8.
-