parameters:
    hackzilla.password_generator.requirement.class: Hackzilla\PasswordGenerator\Generator\RequirementPasswordGenerator
    hackzilla.password_generator.dummy.class: Hackzilla\PasswordGenerator\Generator\DummyPasswordGenerator
    hackzilla.password_generator.computer.class: Hackzilla\PasswordGenerator\Generator\ComputerPasswordGenerator
    hackzilla.password_generator.computer.length: 12
    hackzilla.password_generator.human.class: Hackzilla\PasswordGenerator\Generator\HumanPasswordGenerator
    hackzilla.password_generator.human.word_list: /usr/share/dict/words
    hackzilla.password_generator.human.word_separator: '-'
    hackzilla.password_generator.human.word_count: 3
    hackzilla.password_generator.human.min_word_length: 5
    hackzilla.password_generator.human.max_word_length: 10
    hackzilla.password_generator.hybrid.class: Hackzilla\PasswordGenerator\Generator\HybridPasswordGenerator
    hackzilla.password_generator.hybrid.segment_count: 4
    hackzilla.password_generator.hybrid.segment_length: 3
    hackzilla.password_generator.hybrid.segment_separator: '-'
    hackzilla.password_generator.form.type.options.class: Hackzilla\Bundle\PasswordGeneratorBundle\Form\Type\OptionType

services:
    hackzilla.password_generator.requirement:
        class: "%hackzilla.password_generator.requirement.class%"
        public: true

    hackzilla.password_generator.dummy:
        class: "%hackzilla.password_generator.dummy.class%"
        public: true

    hackzilla.password_generator.computer:
        class: "%hackzilla.password_generator.computer.class%"
        public: true
        calls:
          - [setLength, ["%hackzilla.password_generator.computer.length%"]]

    hackzilla.password_generator.human:
        class: "%hackzilla.password_generator.human.class%"
        public: true
        calls:
          - [setWordCount, ["%hackzilla.password_generator.human.word_count%"]]
          - [setMinWordLength, ["%hackzilla.password_generator.human.min_word_length%"]]
          - [setMaxWordLength, ["%hackzilla.password_generator.human.max_word_length%"]]
          - [setWordSeparator, ["%hackzilla.password_generator.human.word_separator%"]]
          - [setWordList, ["%hackzilla.password_generator.human.word_list%"]]

    hackzilla.password_generator.hybrid:
        class: "%hackzilla.password_generator.hybrid.class%"
        public: true
        calls:
          - [setSegmentCount, ["%hackzilla.password_generator.hybrid.segment_count%"]]
          - [setSegmentLength, ["%hackzilla.password_generator.hybrid.segment_length%"]]
          - [setSegmentSeparator, ["%hackzilla.password_generator.hybrid.segment_separator%"]]

    hackzilla.password_generator.form.type.options:
        class: "%hackzilla.password_generator.form.type.options.class%"
        tags:
            - { name: form.type }
