Package mondrian.util

Class CombiningGenerator<E>

  • All Implemented Interfaces:
    java.lang.Iterable<java.util.List<E>>, java.util.Collection<java.util.List<E>>, java.util.List<java.util.List<E>>

    public class CombiningGenerator<E>
    extends java.util.AbstractList<java.util.List<E>>
    A list that, given a collection of elements, contains every possible combination of those objects (also known as the power set of those objects).
    Author:
    LBoudreau, jhyde
    • Field Summary

      • Fields inherited from class java.util.AbstractList

        modCount
    • Constructor Summary

      Constructors 
      Constructor Description
      CombiningGenerator​(java.util.Collection<E> elements)
      Creates a CombiningGenerator.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<E> get​(int index)  
      static void main​(java.lang.String[] args)
      Ad hoc test.
      static <T> CombiningGenerator<T> of​(java.util.Collection<T> elements)
      Creates a CombiningGenerator, inferring the type from the argument.
      int size()  
      • Methods inherited from class java.util.AbstractList

        add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
      • Methods inherited from class java.util.AbstractCollection

        addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.List

        addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
    • Constructor Detail

      • CombiningGenerator

        public CombiningGenerator​(java.util.Collection<E> elements)
        Creates a CombiningGenerator.
        Parameters:
        elements - Elements to iterate over
    • Method Detail

      • of

        public static <T> CombiningGenerator<T> of​(java.util.Collection<T> elements)
        Creates a CombiningGenerator, inferring the type from the argument.
        Type Parameters:
        T - Element type
        Parameters:
        elements - Elements to iterate over
        Returns:
        Combing generator containing the power set
      • get

        public java.util.List<E> get​(int index)
        Specified by:
        get in interface java.util.List<E>
        Specified by:
        get in class java.util.AbstractList<java.util.List<E>>
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<E>
        Specified by:
        size in interface java.util.List<E>
        Specified by:
        size in class java.util.AbstractCollection<java.util.List<E>>
      • main

        public static void main​(java.lang.String[] args)
        Ad hoc test. See also UtilTest.testCombiningGenerator.
        Parameters:
        args - ignored