Package fj
Class Equal<A>
- java.lang.Object
-
- fj.Equal<A>
-
public final class Equal<A> extends java.lang.ObjectTests for equality between two objects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceEqual.AltDefinition<A>Primitives functions of Equal: alternative minimal definition and overridable methods.static interfaceEqual.Definition<A>Primitives functions of Equal: minimal definition and overridable methods.
-
Field Summary
Fields Modifier and Type Field Description static Equal<java.math.BigDecimal>bigdecimalEqualAn equal instance for theBigDecimaltype.static Equal<java.math.BigInteger>bigintEqualAn equal instance for theBigIntegertype.static Equal<BitSet>bitSetSequalAn equal instance for theBitSettype.static Equal<java.lang.Boolean>booleanEqualAn equal instance for thebooleantype.static Equal<java.lang.Byte>byteEqualAn equal instance for thebytetype.static Equal<java.lang.Character>charEqualAn equal instance for thechartype.private Equal.Definition<A>defstatic Equal<java.lang.Double>doubleEqualAn equal instance for thedoubletype.static Equal<LazyString>eqAn equal instance for lazy strings.static Equal<java.lang.Float>floatEqualAn equal instance for thefloattype.static Equal<HList.HNil>hListEqualAn equal instance for the empty heterogeneous list.static Equal<java.lang.Integer>intEqualAn equal instance for theinttype.static Equal<java.lang.Long>longEqualAn equal instance for thelongtype.static Equal<Natural>naturalEqualAn equal instance for theNaturaltype.static Equal<java.lang.Short>shortEqualAn equal instance for theshorttype.static Equal<java.lang.StringBuffer>stringBufferEqualAn equal instance for theStringBuffertype.static Equal<java.lang.StringBuilder>stringBuilderEqualAn equal instance for theStringBuildertype.static Equal<java.lang.String>stringEqualAn equal instance for theStringtype.
-
Constructor Summary
Constructors Modifier Constructor Description privateEqual(Equal.Definition<A> def)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <A> Equal<A>anyEqual()Returns an equal instance that uses theObject.equals(Object)method to test for equality.static <A> Equal<Array<A>>arrayEqual(Equal<A> ea)An equal instance for theArraytype.static <A,B>
Equal<A>contramap(F<A,B> f, Equal<B> eq)Static version ofcontramap(F)<B> Equal<B>contramap(F<B,A> f)Maps the given function across this equal as a contra-variant functor.private static <A,B>
Equal.Definition<B>contramapDef(F<B,A> f, Equal.Definition<A> aEqDef)static <A,B,C>
Equal<Either3<A,B,C>>either3Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec)static <A,B>
Equal<Either<A,B>>eitherEqual(Equal<A> ea, Equal<B> eb)An equal instance for theEithertype.F2<A,A,java.lang.Boolean>eq()First-class equality check.F<A,java.lang.Boolean>eq(A a)Partially applied equality check.booleaneq(A a1, A a2)Returnstrueif the two given arguments are equal,falseotherwise.static <A> Equal<A>equal(F<A,F<A,java.lang.Boolean>> f)Constructs an equal instance from the given function.static <A> Equal<A>equal(F2<A,A,java.lang.Boolean> f)Constructs an equal instance from the given function.static <A> Equal<A>equalDef(Equal.AltDefinition<A> definition)Constructs an equal instance from the given (alternative) definition.static <A> Equal<A>equalDef(Equal.Definition<A> definition)Constructs an equal instance from the given definition.static <A> booleanequals0(java.lang.Class<? super A> clazz, A self, java.lang.Object other, Equal<A> equal)Helper method to implementObject.equals(Object)correctly.static <A> booleanequals0(java.lang.Class<? super A> clazz, A self, java.lang.Object other, F0<Equal<A>> equal)Helper method to implementObject.equals(Object)correctly.static <E,L extends HList<L>>
Equal<HList.HCons<E,L>>hListEqual(Equal<E> e, Equal<L> l)An equal instance for heterogeneous lists.static <A> Equal<List<A>>listEqual(Equal<A> ea)An equal instance for theListtype.static <A> Equal<NonEmptyList<A>>nonEmptyListEqual(Equal<A> ea)An equal instance for theNonEmptyListtype.Equal<A>not()An equal instance, which reverts equality for selfbooleannotEq(A a1, A a2)Returnstrueif the two given arguments are not equal,falseotherwise.static <A,B>
Equal.Definition<A>on(F<A,B> f, Equal<B> eq)Begin definition of an equal instance.static <A> Equal<Option<A>>optionEqual(Equal<A> ea)An equal instance for theOptiontype.static <A> Equal<P1<A>>p1Equal(Equal<A> ea)An equal instance for a product-1.static <A,B>
Equal<P2<A,B>>p2Equal(Equal<A> ea, Equal<B> eb)An equal instance for a product-2.static <A,B,C>
Equal<P3<A,B,C>>p3Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec)An equal instance for a product-3.static <A,B,C,D>
Equal<P4<A,B,C,D>>p4Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed)An equal instance for a product-4.static <A,B,C,D,E>
Equal<P5<A,B,C,D,E>>p5Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee)An equal instance for a product-5.static <A,B,C,D,E,F$>
Equal<P6<A,B,C,D,E,F$>>p6Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef)An equal instance for a product-6.static <A,B,C,D,E,F$,G>
Equal<P7<A,B,C,D,E,F$,G>>p7Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef, Equal<G> eg)An equal instance for a product-7.static <A,B,C,D,E,F$,G,H>
Equal<P8<A,B,C,D,E,F$,G,H>>p8Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef, Equal<G> eg, Equal<H> eh)An equal instance for a product-8.static <I,A>
Equal<Result<I,A>>resultEqual(Equal<A> ea, Equal<I> ei)static <A> Equal<Seq<A>>seqEqual(Equal<A> e)static <A> Equal<Set<A>>setEqual(Equal<A> e)Equal instance for sets.static <A> Equal<Stream<A>>streamEqual(Equal<A> ea)An equal instance for theStreamtype.static <A> Equal<Tree<A>>treeEqual(Equal<A> ea)An equal instance for theTreetype.static <K,V>
Equal<TreeMap<K,V>>treeMapEqual(Equal<K> k, Equal<V> v)static <A> Equal<TreeZipper<A>>treeZipperEqual(Equal<A> ea)An equal instance for theTreeZippertype.static <A> Equal<V2<A>>v2Equal(Equal<A> ea)An equal instance for a vector-2.static <A> Equal<V3<A>>v3Equal(Equal<A> ea)An equal instance for a vector-3.static <A> Equal<V4<A>>v4Equal(Equal<A> ea)An equal instance for a vector-4.static <A> Equal<V5<A>>v5Equal(Equal<A> ea)An equal instance for a vector-5.static <A> Equal<V6<A>>v6Equal(Equal<A> ea)An equal instance for a vector-6.static <A> Equal<V7<A>>v7Equal(Equal<A> ea)An equal instance for a vector-7.static <A> Equal<V8<A>>v8Equal(Equal<A> ea)An equal instance for a vector-8.static <A,B>
Equal<Validation<A,B>>validationEqual(Equal<A> ea, Equal<B> eb)An equal instance for theValidationtype.static <A,B>
Equal<Writer<A,B>>writerEqual(Equal<A> eq1, Equal<B> eq2)static <A> Equal<Zipper<A>>zipperEqual(Equal<A> ea)An equal instance for theZippertype.
-
-
-
Field Detail
-
def
private final Equal.Definition<A> def
-
booleanEqual
public static final Equal<java.lang.Boolean> booleanEqual
An equal instance for thebooleantype.
-
byteEqual
public static final Equal<java.lang.Byte> byteEqual
An equal instance for thebytetype.
-
charEqual
public static final Equal<java.lang.Character> charEqual
An equal instance for thechartype.
-
doubleEqual
public static final Equal<java.lang.Double> doubleEqual
An equal instance for thedoubletype.
-
floatEqual
public static final Equal<java.lang.Float> floatEqual
An equal instance for thefloattype.
-
intEqual
public static final Equal<java.lang.Integer> intEqual
An equal instance for theinttype.
-
bigintEqual
public static final Equal<java.math.BigInteger> bigintEqual
An equal instance for theBigIntegertype.
-
bigdecimalEqual
public static final Equal<java.math.BigDecimal> bigdecimalEqual
An equal instance for theBigDecimaltype.
-
longEqual
public static final Equal<java.lang.Long> longEqual
An equal instance for thelongtype.
-
shortEqual
public static final Equal<java.lang.Short> shortEqual
An equal instance for theshorttype.
-
naturalEqual
public static final Equal<Natural> naturalEqual
An equal instance for theNaturaltype.
-
stringEqual
public static final Equal<java.lang.String> stringEqual
An equal instance for theStringtype.
-
stringBufferEqual
public static final Equal<java.lang.StringBuffer> stringBufferEqual
An equal instance for theStringBuffertype.
-
stringBuilderEqual
public static final Equal<java.lang.StringBuilder> stringBuilderEqual
An equal instance for theStringBuildertype.
-
eq
public static final Equal<LazyString> eq
An equal instance for lazy strings.
-
hListEqual
public static final Equal<HList.HNil> hListEqual
An equal instance for the empty heterogeneous list.
-
-
Constructor Detail
-
Equal
private Equal(Equal.Definition<A> def)
-
-
Method Detail
-
eq
public boolean eq(A a1, A a2)
Returnstrueif the two given arguments are equal,falseotherwise.- Parameters:
a1- An object to test for equality against another.a2- An object to test for equality against another.- Returns:
trueif the two given arguments are equal,falseotherwise.
-
notEq
public boolean notEq(A a1, A a2)
Returnstrueif the two given arguments are not equal,falseotherwise.- Parameters:
a1- An object to test for inequality against another.a2- An object to test for inequality against another.- Returns:
trueif the two given arguments are not equal,falseotherwise.
-
eq
public F2<A,A,java.lang.Boolean> eq()
First-class equality check.- Returns:
- A function that returns
trueif the two given arguments are equal.
-
eq
public F<A,java.lang.Boolean> eq(A a)
Partially applied equality check.- Parameters:
a- An object to test for equality against another.- Returns:
- A function that returns
trueif the given argument equals the argument to this method.
-
contramap
public <B> Equal<B> contramap(F<B,A> f)
Maps the given function across this equal as a contra-variant functor.- Parameters:
f- The function to map.- Returns:
- A new equal.
-
not
public final Equal<A> not()
An equal instance, which reverts equality for self- Returns:
- A new equal instance
-
contramapDef
private static <A,B> Equal.Definition<B> contramapDef(F<B,A> f, Equal.Definition<A> aEqDef)
-
contramap
public static <A,B> Equal<A> contramap(F<A,B> f, Equal<B> eq)
Static version ofcontramap(F)
-
on
public static <A,B> Equal.Definition<A> on(F<A,B> f, Equal<B> eq)
Begin definition of an equal instance.- See Also:
Equal.Definition.then(F, Equal)
-
equal
public static <A> Equal<A> equal(F<A,F<A,java.lang.Boolean>> f)
Constructs an equal instance from the given function. Java 8+ users: useequalDef(Definition)instead.- Parameters:
f- The function to construct the equal with.- Returns:
- An equal instance from the given function.
-
equal
public static <A> Equal<A> equal(F2<A,A,java.lang.Boolean> f)
Constructs an equal instance from the given function. Java 8+ users: useequalDef(AltDefinition)instead.- Parameters:
f- The function to construct the equal with.- Returns:
- An equal instance from the given function.
-
equalDef
public static <A> Equal<A> equalDef(Equal.Definition<A> definition)
Constructs an equal instance from the given definition.- Parameters:
definition- a definition of the equal instance.- Returns:
- An equal instance from the given function.
-
equalDef
public static <A> Equal<A> equalDef(Equal.AltDefinition<A> definition)
Constructs an equal instance from the given (alternative) definition.- Parameters:
definition- a definition of the equal instance.- Returns:
- An equal instance from the given function.
-
anyEqual
public static <A> Equal<A> anyEqual()
Returns an equal instance that uses theObject.equals(Object)method to test for equality.- Returns:
- An equal instance that uses the
Object.equals(Object)method to test for equality.
-
eitherEqual
public static <A,B> Equal<Either<A,B>> eitherEqual(Equal<A> ea, Equal<B> eb)
An equal instance for theEithertype.
-
either3Equal
public static <A,B,C> Equal<Either3<A,B,C>> either3Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec)
-
validationEqual
public static <A,B> Equal<Validation<A,B>> validationEqual(Equal<A> ea, Equal<B> eb)
An equal instance for theValidationtype.- Parameters:
ea- Equality across the failing side ofValidation.eb- Equality across the succeeding side ofValidation.- Returns:
- An equal instance for the
Validationtype.
-
listEqual
public static <A> Equal<List<A>> listEqual(Equal<A> ea)
An equal instance for theListtype.- Parameters:
ea- Equality across the elements of the list.- Returns:
- An equal instance for the
Listtype.
-
nonEmptyListEqual
public static <A> Equal<NonEmptyList<A>> nonEmptyListEqual(Equal<A> ea)
An equal instance for theNonEmptyListtype.- Parameters:
ea- Equality across the elements of the non-empty list.- Returns:
- An equal instance for the
NonEmptyListtype.
-
optionEqual
public static <A> Equal<Option<A>> optionEqual(Equal<A> ea)
An equal instance for theOptiontype.- Parameters:
ea- Equality across the element of the option.- Returns:
- An equal instance for the
Optiontype.
-
streamEqual
public static <A> Equal<Stream<A>> streamEqual(Equal<A> ea)
An equal instance for theStreamtype.- Parameters:
ea- Equality across the elements of the stream.- Returns:
- An equal instance for the
Streamtype.
-
zipperEqual
public static <A> Equal<Zipper<A>> zipperEqual(Equal<A> ea)
An equal instance for theZippertype.- Parameters:
ea- Equality across the elements of the zipper.- Returns:
- An equal instance for the
Zippertype.
-
treeZipperEqual
public static <A> Equal<TreeZipper<A>> treeZipperEqual(Equal<A> ea)
An equal instance for theTreeZippertype.- Parameters:
ea- Equality across the elements of the tree zipper.- Returns:
- An equal instance for the
TreeZippertype.
-
arrayEqual
public static <A> Equal<Array<A>> arrayEqual(Equal<A> ea)
An equal instance for theArraytype.- Parameters:
ea- Equality across the elements of the array.- Returns:
- An equal instance for the
Arraytype.
-
treeEqual
public static <A> Equal<Tree<A>> treeEqual(Equal<A> ea)
An equal instance for theTreetype.- Parameters:
ea- Equality across the elements of the tree.- Returns:
- An equal instance for the
Treetype.
-
p1Equal
public static <A> Equal<P1<A>> p1Equal(Equal<A> ea)
An equal instance for a product-1.- Parameters:
ea- Equality across the first element of the product.- Returns:
- An equal instance for a product-1.
-
p2Equal
public static <A,B> Equal<P2<A,B>> p2Equal(Equal<A> ea, Equal<B> eb)
An equal instance for a product-2.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.- Returns:
- An equal instance for a product-2.
-
p3Equal
public static <A,B,C> Equal<P3<A,B,C>> p3Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec)
An equal instance for a product-3.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.- Returns:
- An equal instance for a product-3.
-
p4Equal
public static <A,B,C,D> Equal<P4<A,B,C,D>> p4Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed)
An equal instance for a product-4.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.ed- Equality across the fourth element of the product.- Returns:
- An equal instance for a product-4.
-
p5Equal
public static <A,B,C,D,E> Equal<P5<A,B,C,D,E>> p5Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee)
An equal instance for a product-5.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.ed- Equality across the fourth element of the product.ee- Equality across the fifth element of the product.- Returns:
- An equal instance for a product-5.
-
p6Equal
public static <A,B,C,D,E,F$> Equal<P6<A,B,C,D,E,F$>> p6Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef)
An equal instance for a product-6.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.ed- Equality across the fourth element of the product.ee- Equality across the fifth element of the product.ef- Equality across the sixth element of the product.- Returns:
- An equal instance for a product-6.
-
p7Equal
public static <A,B,C,D,E,F$,G> Equal<P7<A,B,C,D,E,F$,G>> p7Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef, Equal<G> eg)
An equal instance for a product-7.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.ed- Equality across the fourth element of the product.ee- Equality across the fifth element of the product.ef- Equality across the sixth element of the product.eg- Equality across the seventh element of the product.- Returns:
- An equal instance for a product-7.
-
p8Equal
public static <A,B,C,D,E,F$,G,H> Equal<P8<A,B,C,D,E,F$,G,H>> p8Equal(Equal<A> ea, Equal<B> eb, Equal<C> ec, Equal<D> ed, Equal<E> ee, Equal<F$> ef, Equal<G> eg, Equal<H> eh)
An equal instance for a product-8.- Parameters:
ea- Equality across the first element of the product.eb- Equality across the second element of the product.ec- Equality across the third element of the product.ed- Equality across the fourth element of the product.ee- Equality across the fifth element of the product.ef- Equality across the sixth element of the product.eg- Equality across the seventh element of the product.eh- Equality across the eighth element of the product.- Returns:
- An equal instance for a product-8.
-
v2Equal
public static <A> Equal<V2<A>> v2Equal(Equal<A> ea)
An equal instance for a vector-2.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-2.
-
v3Equal
public static <A> Equal<V3<A>> v3Equal(Equal<A> ea)
An equal instance for a vector-3.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-3.
-
v4Equal
public static <A> Equal<V4<A>> v4Equal(Equal<A> ea)
An equal instance for a vector-4.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-4.
-
v5Equal
public static <A> Equal<V5<A>> v5Equal(Equal<A> ea)
An equal instance for a vector-5.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-5.
-
v6Equal
public static <A> Equal<V6<A>> v6Equal(Equal<A> ea)
An equal instance for a vector-6.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-6.
-
v7Equal
public static <A> Equal<V7<A>> v7Equal(Equal<A> ea)
An equal instance for a vector-7.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-7.
-
v8Equal
public static <A> Equal<V8<A>> v8Equal(Equal<A> ea)
An equal instance for a vector-8.- Parameters:
ea- Equality across the elements of the vector.- Returns:
- An equal instance for a vector-8.
-
hListEqual
public static <E,L extends HList<L>> Equal<HList.HCons<E,L>> hListEqual(Equal<E> e, Equal<L> l)
An equal instance for heterogeneous lists.- Parameters:
e- Equality for the first element of the list.l- Equality for the rest of the list.- Returns:
- an equal instance for a heterogeneous list.
-
setEqual
public static <A> Equal<Set<A>> setEqual(Equal<A> e)
Equal instance for sets.- Parameters:
e- Equality for the set elements.- Returns:
- An equal instance for sets.
-
equals0
public static <A> boolean equals0(java.lang.Class<? super A> clazz, A self, java.lang.Object other, Equal<A> equal)Helper method to implementObject.equals(Object)correctly. DO NOT USE it for any other purpose.- Parameters:
clazz- the class in which theObject.equals(Object)is implementedself- a reference to 'this'other- the other object of the comparisonequal- an equal instance for the type of self (that useanyEqual()if generic type).- Returns:
- true if self and other are equal
-
equals0
public static <A> boolean equals0(java.lang.Class<? super A> clazz, A self, java.lang.Object other, F0<Equal<A>> equal)Helper method to implementObject.equals(Object)correctly. DO NOT USE it for any other purpose.- Parameters:
clazz- the class in which theObject.equals(Object)is implementedself- a reference to 'this'other- the other object of the comparisonequal- a lazy equal instance for the type (that useanyEqual()if generic type)..- Returns:
- true if self and other are equal
-
-