Enum DefaultSeedGenerator

    • Enum Constant Detail

      • DEFAULT_SEED_GENERATOR

        public static final DefaultSeedGenerator DEFAULT_SEED_GENERATOR
        Singleton instance.
    • Method Detail

      • values

        public static DefaultSeedGenerator[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (DefaultSeedGenerator c : DefaultSeedGenerator.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static DefaultSeedGenerator valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • get

        public static SeedGenerator get()
        Returns the current delegate used by this class's singleton instance.
        Returns:
        the current delegate
      • set

        public static void set​(SeedGenerator delegate)
        Sets the default seed generator (a delegate used by this class's singleton instance).
        Parameters:
        delegate - the new delegate
      • generateSeed

        public void generateSeed​(byte[] output)
                          throws SeedException
        Generates a seed value for a random number generator in an existing array.

        Generates a seed by trying each of the available strategies in turn until one succeeds. Tries the most suitable strategy first and eventually degrades to the least suitable (but guaranteed to work) strategy.

        Specified by:
        generateSeed in interface SeedGenerator
        Parameters:
        output - The array that is to be populated with the seed.
        Throws:
        SeedException - If a seed cannot be generated for any reason.
      • generateSeed

        public byte[] generateSeed​(int length)
                            throws SeedException
        Description copied from interface: SeedGenerator
        Generates and returns a seed value for a random number generator as a new array.
        Specified by:
        generateSeed in interface SeedGenerator
        Parameters:
        length - The length of the seed to generate (in bytes).
        Returns:
        A byte array containing the seed data.
        Throws:
        SeedException - If a seed cannot be generated for any reason.
      • isWorthTrying

        public boolean isWorthTrying()
        Returns true if we cannot determine quickly (i.e. without I/O calls) that this SeedGenerator would throw a SeedException if generateSeed(int) or generateSeed(byte[]) were being called right now.
        Specified by:
        isWorthTrying in interface SeedGenerator
        Returns:
        true if this SeedGenerator will get as far as an I/O call or other slow operation in attempting to generate a seed immediately.