gitextract_0n90tvug/ ├── .gitattributes ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── README.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── pom.xml ├── resources/ │ └── assets/ │ └── configuration/ │ └── spring/ │ └── dependencyinjection/ │ └── configuration/ │ └── spring.xml ├── settings.gradle └── src/ ├── main/ │ └── java/ │ └── com/ │ └── seriouscompany/ │ └── business/ │ └── java/ │ └── fizzbuzz/ │ └── packagenamingpackage/ │ ├── impl/ │ │ ├── ApplicationContextHolder.java │ │ ├── Constants.java │ │ ├── Main.java │ │ ├── StandardFizzBuzz.java │ │ ├── factories/ │ │ │ ├── BuzzStrategyFactory.java │ │ │ ├── BuzzStringPrinterFactory.java │ │ │ ├── BuzzStringReturnerFactory.java │ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategyFactory.java │ │ │ ├── FizzBuzzOutputGenerationContextVisitorFactory.java │ │ │ ├── FizzStrategyFactory.java │ │ │ ├── FizzStringPrinterFactory.java │ │ │ ├── FizzStringReturnerFactory.java │ │ │ ├── IntegerIntegerPrinterFactory.java │ │ │ ├── IntegerIntegerStringReturnerFactory.java │ │ │ ├── LoopComponentFactory.java │ │ │ ├── NewLineStringPrinterFactory.java │ │ │ ├── NewLineStringReturnerFactory.java │ │ │ ├── NoFizzNoBuzzStrategyFactory.java │ │ │ └── SystemOutFizzBuzzOutputStrategyFactory.java │ │ ├── loop/ │ │ │ ├── LoopCondition.java │ │ │ ├── LoopContext.java │ │ │ ├── LoopFinalizer.java │ │ │ ├── LoopInitializer.java │ │ │ ├── LoopRunner.java │ │ │ └── LoopStep.java │ │ ├── math/ │ │ │ └── arithmetics/ │ │ │ ├── IntegerDivider.java │ │ │ └── NumberIsMultipleOfAnotherNumberVerifier.java │ │ ├── parameters/ │ │ │ └── DefaultFizzBuzzUpperLimitParameter.java │ │ ├── printers/ │ │ │ ├── BuzzPrinter.java │ │ │ ├── BuzzStringPrinter.java │ │ │ ├── FizzPrinter.java │ │ │ ├── FizzStringPrinter.java │ │ │ ├── IntegerIntegerPrinter.java │ │ │ ├── IntegerPrinter.java │ │ │ ├── NewLinePrinter.java │ │ │ └── NewLineStringPrinter.java │ │ ├── strategies/ │ │ │ ├── BuzzStrategy.java │ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategy.java │ │ │ ├── FizzStrategy.java │ │ │ ├── NoFizzNoBuzzStrategy.java │ │ │ ├── SingleStepOutputGenerationStrategy.java │ │ │ ├── SingleStepPayload.java │ │ │ ├── SystemOutFizzBuzzOutputStrategy.java │ │ │ ├── adapters/ │ │ │ │ ├── FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java │ │ │ │ └── LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java │ │ │ ├── comparators/ │ │ │ │ ├── doublecomparator/ │ │ │ │ │ ├── FirstIsLargerThanSecondDoubleComparator.java │ │ │ │ │ └── FirstIsSmallerThanSecondDoubleComparator.java │ │ │ │ └── integercomparator/ │ │ │ │ ├── IntegerForEqualityComparator.java │ │ │ │ ├── ThreeWayIntegerComparator.java │ │ │ │ └── ThreeWayIntegerComparisonResult.java │ │ │ ├── constants/ │ │ │ │ ├── BuzzStrategyConstants.java │ │ │ │ ├── FizzStrategyConstants.java │ │ │ │ └── NoFizzNoBuzzStrategyConstants.java │ │ │ └── converters/ │ │ │ └── primitivetypesconverters/ │ │ │ ├── DoubleToIntConverter.java │ │ │ └── IntToDoubleConverter.java │ │ ├── stringreturners/ │ │ │ ├── BuzzStringReturner.java │ │ │ ├── FizzStringReturner.java │ │ │ ├── IntegerIntegerStringReturner.java │ │ │ └── NewLineStringReturner.java │ │ └── visitors/ │ │ ├── FizzBuzzOutputGenerationContext.java │ │ └── FizzBuzzOutputGenerationContextVisitor.java │ └── interfaces/ │ ├── FizzBuzz.java │ ├── factories/ │ │ ├── FizzBuzzOutputStrategyFactory.java │ │ ├── FizzBuzzSolutionStrategyFactory.java │ │ ├── IntegerPrinterFactory.java │ │ ├── IntegerStringReturnerFactory.java │ │ ├── IsEvenlyDivisibleStrategyFactory.java │ │ ├── OutputGenerationContextVisitorFactory.java │ │ ├── StringPrinterFactory.java │ │ └── StringStringReturnerFactory.java │ ├── loop/ │ │ ├── LoopContextStateManipulation.java │ │ ├── LoopContextStateRetrieval.java │ │ └── LoopPayloadExecution.java │ ├── parameters/ │ │ └── FizzBuzzUpperLimitParameter.java │ ├── printers/ │ │ ├── DataPrinter.java │ │ ├── IntegerPrinter.java │ │ └── StringPrinter.java │ ├── strategies/ │ │ ├── FizzBuzzExceptionSafeOutputStrategy.java │ │ ├── FizzBuzzOutputStrategy.java │ │ ├── FizzBuzzSolutionStrategy.java │ │ ├── IsEvenlyDivisibleStrategy.java │ │ ├── OutputGenerationStrategy.java │ │ └── SingleStepOutputGenerationParameter.java │ ├── stringreturners/ │ │ ├── IntegerStringReturner.java │ │ └── StringStringReturner.java │ └── visitors/ │ ├── OutputGenerationContext.java │ └── OutputGenerationContextVisitor.java └── test/ └── java/ ├── FizzBuzzTest.java └── TestConstants.java