Class ListPermutationFactory<T>

  • Type Parameters:
    T - The component type of the lists created by this factory.
    All Implemented Interfaces:
    CandidateFactory<List<T>>

    public class ListPermutationFactory<T>
    extends AbstractCandidateFactory<List<T>>
    Generates random candidates from a set of elements. Each candidate is a random permutation of the full set of elements.
    • Constructor Detail

      • ListPermutationFactory

        public ListPermutationFactory​(List<T> elements)
        Creates a factory that creates lists that contain each of the specified elements exactly once. The ordering of those elements within generated lists is random.
        Parameters:
        elements - The elements to permute.
    • Method Detail

      • generateRandomCandidate

        public List<T> generateRandomCandidate​(Random rng)
        Generates a random permutation from the configured elements.
        Parameters:
        rng - A source of randomness used to generate the random permutation.
        Returns:
        A random permutation.