Class Monoids

java.lang.Object
io.atlassian.fugue.Monoids

public final class Monoids extends Object
Monoid instances.
Since:
3.0
See Also:
  • Field Details

    • intAddition

      public static final Monoid<Integer> intAddition
      A monoid that adds integers.
    • intMultiplication

      public static final Monoid<Integer> intMultiplication
      A monoid that multiplies integers.
    • bigintAddition

      public static final Monoid<BigInteger> bigintAddition
      A monoid that adds big integers.
    • bigintMultiplication

      public static final Monoid<BigInteger> bigintMultiplication
      A monoid that multiplies big integers.
    • longAddition

      public static final Monoid<Long> longAddition
      A monoid that adds longs.
    • longMultiplication

      public static final Monoid<Long> longMultiplication
      A monoid that multiplies longs.
    • disjunction

      public static final Monoid<Boolean> disjunction
      A monoid that ORs booleans.
    • exclusiveDisjunction

      public static final Monoid<Boolean> exclusiveDisjunction
      A monoid that XORs booleans.
    • conjunction

      public static final Monoid<Boolean> conjunction
      A monoid that ANDs booleans.
    • string

      public static final Monoid<String> string
      A monoid that appends strings.
    • unit

      public static final Monoid<Unit> unit
      A monoid for the Unit value.
  • Constructor Details

    • Monoids

      private Monoids()
  • Method Details

    • function

      public static <A, B> Monoid<Function<A,B>> function(Monoid<B> mb)
      A monoid for functions.
      Type Parameters:
      A - input type
      B - composable output type
      Parameters:
      mb - The monoid for the function codomain.
      Returns:
      A monoid for functions.
    • list

      public static <A> Monoid<List<A>> list()
      A monoid for lists.
      Type Parameters:
      A - internal type
      Returns:
      A monoid for lists.
    • iterable

      public static <A> Monoid<Iterable<A>> iterable()
      A monoid for iterables.
      Type Parameters:
      A - internal type
      Returns:
      A monoid for iterables.
    • firstOption

      public static <A> Monoid<Option<A>> firstOption()
      A monoid for options (that take the first available value).
      Type Parameters:
      A - internal type
      Returns:
      A monoid for options (that take the first available value).
    • lastOption

      public static <A> Monoid<Option<A>> lastOption()
      A monoid for options that take the last available value.
      Type Parameters:
      A - internal type
      Returns:
      A monoid for options that take the last available value.
    • option

      public static <A> Monoid<Option<A>> option(Semigroup<A> semigroup)
      A monoid for options that combine inner value with a semigroup.
      Type Parameters:
      A - internal type
      Parameters:
      semigroup - a Semigroup object.
      Returns:
      A monoid for options that combine inner value with a semigroup.
    • either

      public static <L, R> Monoid<Either<L,R>> either(Semigroup<L> lS, Monoid<R> rM)
      A monoid Sums up values inside either Semigroups.either(io.atlassian.fugue.Semigroup<L>, io.atlassian.fugue.Semigroup<R>). Monoid of right values provide the identity element of the resulting monoid.
      Type Parameters:
      L - desired left type
      R - desired right type
      Parameters:
      lS - semigroup for left values
      rM - monoid for right values.
      Returns:
      A monoid Sums up values inside either.