final def atMostOneValue[A, B]()

in scalding-base/src/main/scala/com/twitter/scalding/typed/Grouped.scala [33:53]


  final def atMostOneValue[A, B](cg: CoGroupable[A, B]): Boolean = {
    import CoGrouped._
    cg match {
      case Pair(left, right, joinf) =>
        atMostOneValue(left) && atMostOneValue(right) && (joinf match {
          case Joiner.InnerJoin() => true
          case Joiner.OuterJoin() => true
          case Joiner.LeftJoin()  => true
          case Joiner.RightJoin() => true
          case _                  => false
        })
      case WithReducers(on, _)    => atMostOneValue(on)
      case WithDescription(on, _) => atMostOneValue(on)
      case FilterKeys(on, _)      => atMostOneValue(on)
      case MapGroup(on, fn) =>
        atMostOneFn(fn) || (atMostOneValue(on) && atMostInputSizeFn(fn))
      case IdentityReduce(_, _, _, _, _)         => false
      case UnsortedIdentityReduce(_, _, _, _, _) => false
      case IteratorMappedReduce(_, _, fn, _, _)  => atMostOneFn(fn)
    }
  }