Package fj
Class Ord<A>
- java.lang.Object
-
- fj.Ord<A>
-
public final class Ord<A> extends java.lang.ObjectTests for ordering between two objects.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceOrd.AltDefinition<A>Primitives functions of Ord: alternative minimal definition and overridable methods.static interfaceOrd.Definition<A>Primitives functions of Ord: minimal definition and overridable methods.(package private) classOrd.OrdComparator
-
Field Summary
Fields Modifier and Type Field Description static Ord<java.math.BigDecimal>bigdecimalOrdAn order instance for theBigDecimaltype.static Ord<java.math.BigInteger>bigintOrdAn order instance for theBigIntegertype.static Ord<java.lang.Boolean>booleanOrdAn order instance for thebooleantype.static Ord<java.lang.Byte>byteOrdAn order instance for thebytetype.static Ord<java.lang.Character>charOrdAn order instance for thechartype.private Ord.Definition<A>defstatic Ord<java.lang.Double>doubleOrdAn order instance for thedoubletype.static Ord<java.lang.Float>floatOrdAn order instance for thefloattype.static Ord<java.lang.Integer>intOrdAn order instance for theinttype.static Ord<java.lang.Long>longOrdAn order instance for thelongtype.F<A,F<A,A>>maxA function that returns the greater of its two arguments.F<A,F<A,A>>minA function that returns the lesser of its two arguments.static Ord<Natural>naturalOrdAn order instance for theNaturaltype.static Ord<Ordering>orderingOrdAn order instance for theOrderingtype.static Ord<java.lang.Short>shortOrdAn order instance for theshorttype.static Ord<java.lang.StringBuffer>stringBufferOrdAn order instance for theStringBuffertype.static Ord<java.lang.StringBuilder>stringBuilderOrdAn order instance for theStringBuffertype.static Ord<java.lang.String>stringOrdAn order instance for theStringtype.static Ord<Unit>unitOrdAn order instance for theUnittype.
-
Constructor Summary
Constructors Modifier Constructor Description privateOrd(Ord.Definition<A> def)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <A> Ord<Array<A>>arrayOrd(Ord<A> oa)An order instance for theArraytype.static <A extends java.lang.Comparable<A>>
Ord<A>comparableOrd()An order instance for theComparableinterface.F<A,F<A,Ordering>>compare()First-class ordering.Orderingcompare(A a1, A a2)Returns an ordering for the given arguments.static <A,B>
Ord<A>contramap(F<A,B> f, Ord<B> ord)Static version ofcontramap(F)<B> Ord<B>contramap(F<B,A> f)Maps the given function across this ord as a contra-variant functor.private static <A,B>
Ord.Definition<B>contramapDef(F<B,A> f, Ord.Definition<A> def)static <A,B>
Ord<Either<A,B>>eitherOrd(Ord<A> oa, Ord<B> ob)An order instance for theEithertype.booleaneq(A a1, A a2)Returnstrueif the given arguments are equal,falseotherwise.Equal<A>equal()Returns anEqualfor this order.F<A,java.lang.Boolean>isGreaterThan(A a)Returns a function that returns true if its argument is greater than than the argument to this method.booleanisGreaterThan(A a1, A a2)Returnstrueif the first given argument is greater than the second given argument,falseotherwise.F<A,java.lang.Boolean>isLessThan(A a)Returns a function that returns true if its argument is less than the argument to this method.booleanisLessThan(A a1, A a2)Returnstrueif the first given argument is less than the second given argument,falseotherwise.booleanisLessThanOrEqualTo(A a1, A a2)Returnstrueif the first given argument is less than or equal to the second given argument,falseotherwise.static <A> Ord<List<A>>listOrd(Ord<A> oa)An order instance for theListtype.Amax(A a1, A a2)Returns the greater of its two arguments.Monoid<A>maxMonoid(A zero)Semigroup<A>maxSemigroup()Amin(A a1, A a2)Returns the lesser of its two arguments.Monoid<A>minMonoid(A zero)Semigroup<A>minSemigroup()static <A> Ord<NonEmptyList<A>>nonEmptyListOrd(Ord<A> oa)An order instance for theNonEmptyListtype.static <A,B>
Ord.Definition<A>on(F<A,B> f, Ord<B> ord)Begin definition of an ord instance.static <A> Ord<Option<A>>optionOrd(Ord<A> oa)An order instance for theOptiontype.static <A> Ord<A>ord(F<A,F<A,Ordering>> f)Returns an order instance that uses the given equality test and ordering function.static <A> Ord<A>ord(F2<A,A,Ordering> f)Returns an order instance that uses the given equality test and ordering function.static <A> Ord<A>ordDef(Ord.AltDefinition<A> def)Returns an order instance that uses the given minimal equality test and ordering definition.static <A> Ord<A>ordDef(Ord.Definition<A> def)Returns an order instance that uses the given minimal equality test and ordering definition.static <A> Ord<P1<A>>p1Ord(Ord<A> oa)An order instance for a product-1.static <A,B>
Ord<P2<A,B>>p2Ord(Ord<A> oa, Ord<B> ob)An order instance for a product-2, with the first factor considered most significant.static <A,B>
Ord<P2<A,B>>p2Ord1(Ord<A> oa)static <A,B>
Ord<P2<A,B>>p2Ord2(Ord<B> ob)static <A,B,C>
Ord<P3<A,B,C>>p3Ord(Ord<A> oa, Ord<B> ob, Ord<C> oc)An order instance for a product-3, with the first factor considered most significant.Ord<A>reverse()static <A> Ord<Seq<A>>seqOrd(Ord<A> ord)Return a seq ord using the given value ord.static <A> Ord<Set<A>>setOrd(Ord<A> oa)An order instance for theSettype.static <A> Ord<Stream<A>>streamOrd(Ord<A> oa)An order instance for theStreamtype.java.util.Comparator<A>toComparator()static <A,B>
Ord<Validation<A,B>>validationOrd(Ord<A> oa, Ord<B> ob)An order instance for theValidationtype.
-
-
-
Field Detail
-
def
private final Ord.Definition<A> def
-
booleanOrd
public static final Ord<java.lang.Boolean> booleanOrd
An order instance for thebooleantype.
-
byteOrd
public static final Ord<java.lang.Byte> byteOrd
An order instance for thebytetype.
-
charOrd
public static final Ord<java.lang.Character> charOrd
An order instance for thechartype.
-
doubleOrd
public static final Ord<java.lang.Double> doubleOrd
An order instance for thedoubletype.
-
floatOrd
public static final Ord<java.lang.Float> floatOrd
An order instance for thefloattype.
-
intOrd
public static final Ord<java.lang.Integer> intOrd
An order instance for theinttype.
-
bigintOrd
public static final Ord<java.math.BigInteger> bigintOrd
An order instance for theBigIntegertype.
-
bigdecimalOrd
public static final Ord<java.math.BigDecimal> bigdecimalOrd
An order instance for theBigDecimaltype.
-
longOrd
public static final Ord<java.lang.Long> longOrd
An order instance for thelongtype.
-
shortOrd
public static final Ord<java.lang.Short> shortOrd
An order instance for theshorttype.
-
stringOrd
public static final Ord<java.lang.String> stringOrd
An order instance for theStringtype.
-
stringBufferOrd
public static final Ord<java.lang.StringBuffer> stringBufferOrd
An order instance for theStringBuffertype.
-
stringBuilderOrd
public static final Ord<java.lang.StringBuilder> stringBuilderOrd
An order instance for theStringBuffertype.
-
-
Constructor Detail
-
Ord
private Ord(Ord.Definition<A> def)
-
-
Method Detail
-
compare
public F<A,F<A,Ordering>> compare()
First-class ordering.- Returns:
- A function that returns an ordering for its arguments.
-
compare
public Ordering compare(A a1, A a2)
Returns an ordering for the given arguments.- Parameters:
a1- An instance to compare for ordering to another.a2- An instance to compare for ordering to another.- Returns:
- An ordering for the given arguments.
-
eq
public boolean eq(A a1, A a2)
Returnstrueif the given arguments are equal,falseotherwise.- Parameters:
a1- An instance to compare for equality to another.a2- An instance to compare for equality to another.- Returns:
trueif the given arguments are equal,falseotherwise.
-
contramap
public <B> Ord<B> contramap(F<B,A> f)
Maps the given function across this ord as a contra-variant functor.- Parameters:
f- The function to map.- Returns:
- A new ord.
-
isLessThan
public boolean isLessThan(A a1, A a2)
Returnstrueif the first given argument is less than the second given argument,falseotherwise.- Parameters:
a1- An instance to compare for ordering to another.a2- An instance to compare for ordering to another.- Returns:
trueif the first given argument is less than the second given argument,falseotherwise.
-
isLessThanOrEqualTo
public boolean isLessThanOrEqualTo(A a1, A a2)
Returnstrueif the first given argument is less than or equal to the second given argument,falseotherwise.- Parameters:
a1- An instance to compare for ordering to another.a2- An instance to compare for ordering to another.- Returns:
trueif the first given argument is less than or equal to the second given argument,falseotherwise.
-
isGreaterThan
public boolean isGreaterThan(A a1, A a2)
Returnstrueif the first given argument is greater than the second given argument,falseotherwise.- Parameters:
a1- An instance to compare for ordering to another.a2- An instance to compare for ordering to another.- Returns:
trueif the first given argument is greater than the second given argument,falseotherwise.
-
isLessThan
public F<A,java.lang.Boolean> isLessThan(A a)
Returns a function that returns true if its argument is less than the argument to this method.- Parameters:
a- A value to compare against.- Returns:
- A function that returns true if its argument is less than the argument to this method.
-
isGreaterThan
public F<A,java.lang.Boolean> isGreaterThan(A a)
Returns a function that returns true if its argument is greater than than the argument to this method.- Parameters:
a- A value to compare against.- Returns:
- A function that returns true if its argument is greater than the argument to this method.
-
max
public A max(A a1, A a2)
Returns the greater of its two arguments.- Parameters:
a1- A value to compare with another.a2- A value to compare with another.- Returns:
- The greater of the two values.
-
min
public A min(A a1, A a2)
Returns the lesser of its two arguments.- Parameters:
a1- A value to compare with another.a2- A value to compare with another.- Returns:
- The lesser of the two values.
-
on
public static <A,B> Ord.Definition<A> on(F<A,B> f, Ord<B> ord)
Begin definition of an ord instance.- See Also:
Equal.Definition.then(F, Equal)
-
contramap
public static <A,B> Ord<A> contramap(F<A,B> f, Ord<B> ord)
Static version ofcontramap(F)
-
contramapDef
private static <A,B> Ord.Definition<B> contramapDef(F<B,A> f, Ord.Definition<A> def)
-
ord
public static <A> Ord<A> ord(F<A,F<A,Ordering>> f)
Returns an order instance that uses the given equality test and ordering function. Java 8+ users: useordDef(Definition)instead.- Parameters:
f- The order function.- Returns:
- An order instance.
-
ord
public static <A> Ord<A> ord(F2<A,A,Ordering> f)
Returns an order instance that uses the given equality test and ordering function. Java 8+ users: useordDef(AltDefinition)instead.- Parameters:
f- The order function.- Returns:
- An order instance.
-
ordDef
public static <A> Ord<A> ordDef(Ord.Definition<A> def)
Returns an order instance that uses the given minimal equality test and ordering definition.- Parameters:
def- The order definition.- Returns:
- An order instance.
-
ordDef
public static <A> Ord<A> ordDef(Ord.AltDefinition<A> def)
Returns an order instance that uses the given minimal equality test and ordering definition.- Parameters:
def- The order definition.- Returns:
- An order instance.
-
optionOrd
public static <A> Ord<Option<A>> optionOrd(Ord<A> oa)
An order instance for theOptiontype.- Parameters:
oa- Order across the element of the option.- Returns:
- An order instance for the
Optiontype.
-
eitherOrd
public static <A,B> Ord<Either<A,B>> eitherOrd(Ord<A> oa, Ord<B> ob)
An order instance for theEithertype.
-
validationOrd
public static <A,B> Ord<Validation<A,B>> validationOrd(Ord<A> oa, Ord<B> ob)
An order instance for theValidationtype.- Parameters:
oa- Order across the failing side ofValidation.ob- Order across the succeeding side ofValidation.- Returns:
- An order instance for the
Validationtype.
-
listOrd
public static <A> Ord<List<A>> listOrd(Ord<A> oa)
An order instance for theListtype.- Parameters:
oa- Order across the elements of the list.- Returns:
- An order instance for the
Listtype.
-
seqOrd
public static <A> Ord<Seq<A>> seqOrd(Ord<A> ord)
Return a seq ord using the given value ord.- Type Parameters:
A- the type of the seq value- Parameters:
ord- the given value ord- Returns:
- the seq ord
-
nonEmptyListOrd
public static <A> Ord<NonEmptyList<A>> nonEmptyListOrd(Ord<A> oa)
An order instance for theNonEmptyListtype.- Parameters:
oa- Order across the elements of the non-empty list.- Returns:
- An order instance for the
NonEmptyListtype.
-
streamOrd
public static <A> Ord<Stream<A>> streamOrd(Ord<A> oa)
An order instance for theStreamtype.- Parameters:
oa- Order across the elements of the stream.- Returns:
- An order instance for the
Streamtype.
-
arrayOrd
public static <A> Ord<Array<A>> arrayOrd(Ord<A> oa)
An order instance for theArraytype.- Parameters:
oa- Order across the elements of the array.- Returns:
- An order instance for the
Arraytype.
-
setOrd
public static <A> Ord<Set<A>> setOrd(Ord<A> oa)
An order instance for theSettype.- Parameters:
oa- Order across the elements of the set.- Returns:
- An order instance for the
Settype.
-
p1Ord
public static <A> Ord<P1<A>> p1Ord(Ord<A> oa)
An order instance for a product-1.- Parameters:
oa- Order across the produced type.- Returns:
- An order instance for a product-1.
-
p2Ord
public static <A,B> Ord<P2<A,B>> p2Ord(Ord<A> oa, Ord<B> ob)
An order instance for a product-2, with the first factor considered most significant.- Parameters:
oa- An order instance for the first factor.ob- An order instance for the second factor.- Returns:
- An order instance for a product-2, with the first factor considered most significant.
-
p3Ord
public static <A,B,C> Ord<P3<A,B,C>> p3Ord(Ord<A> oa, Ord<B> ob, Ord<C> oc)
An order instance for a product-3, with the first factor considered most significant.- Parameters:
oa- An order instance for the first factor.ob- An order instance for the second factor.oc- An order instance for the third factor.- Returns:
- An order instance for a product-3, with the first factor considered most significant.
-
comparableOrd
public static <A extends java.lang.Comparable<A>> Ord<A> comparableOrd()
An order instance for theComparableinterface.- Returns:
- An order instance for the
Comparableinterface.
-
toComparator
public java.util.Comparator<A> toComparator()
-
-