[
  {
    "path": ".gitattributes",
    "content": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n*.sln    merge=union\n*.csproj merge=union\n*.vbproj merge=union\n*.fsproj merge=union\n*.dbproj merge=union\n\n# Standard to msysgit\n*.doc\t diff=astextplain\n*.DOC\t diff=astextplain\n*.docx diff=astextplain\n*.DOCX diff=astextplain\n*.dot  diff=astextplain\n*.DOT  diff=astextplain\n*.pdf  diff=astextplain\n*.PDF\t diff=astextplain\n*.rtf\t diff=astextplain\n*.RTF\t diff=astextplain\n"
  },
  {
    "path": ".gitignore",
    "content": "#################\n## Eclipse\n#################\n\n*.pydevproject\n.project\n.metadata\nbin/\ntmp/\n*.tmp\n*.bak\n*.swp\n*~.nib\nlocal.properties\n.classpath\n.settings/\n.loadpath\n*.class\n\n# External tool builders\n.externalToolBuilders/\n\n# Locally stored \"Eclipse launch configurations\"\n*.launch\n\n# CDT-specific\n.cproject\n\n# PDT-specific\n.buildpath\n\n#################\n## IDEA\n#################\n.idea/\n*.iml\n\n#################\n## Visual Studio\n#################\n\n## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User-specific files\n*.suo\n*.user\n*.sln.docstates\n\n# Build results\n[Dd]ebug/\n[Rr]elease/\n*_i.c\n*_p.c\n*.ilk\n*.meta\n*.obj\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.vspscc\n.builds\n*.dotCover\n\n## TODO: If you have NuGet Package Restore enabled, uncomment this\n#packages/\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opensdf\n*.sdf\n\n# Visual Studio profiler\n*.psess\n*.vsp\n\n# ReSharper is a .NET coding add-in\n_ReSharper*\n\n# Installshield output folder\n[Ee]xpress\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish\n\n# Others\n[Bb]in\n[Oo]bj\nsql\nTestResults\n*.Cache\nClientBin\nstylecop.*\n~$*\n*.dbmdl\nGenerated_Code #added for RIA/Silverlight projects\n\n# Backup & report files from converting an old project file to a newer\n# Visual Studio version. Backup files are not needed, because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\n\n\n\n############\n## Windows\n############\n\n# Windows image file caches\nThumbs.db\n\n# Folder config file\nDesktop.ini\n\n#############\n## Mac OS\n#############\n.DS_Store\n\n#############\n## Python\n#############\n\n*.py[co]\n\n# Packages\n*.egg\n*.egg-info\ndist\nbuild\neggs\nparts\nbin\nvar\nsdist\ndevelop-eggs\n.installed.cfg\n\n# Installer logs\npip-log.txt\n\n# Unit test / coverage reports\n.coverage\n.tox\n\n#Translations\n*.mo\n\n#Mr Developer\n.mr.developer.cfg\n\n# Mac crap\n.DS_Store\n\n#############\n## Java\n#############\n\n.class\ntarget/\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: java\nbefore_install: sudo pip install codecov\nafter_success: codecov\n\njdk:\n  - oraclejdk7\n  - openjdk7\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.\n\nWe are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.\n\nExamples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.\n\nThis code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.\n\nThis Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.1.0, available at [http://contributor-covenant.org/version/1/1/0/](http://contributor-covenant.org/version/1/1/0/)\n"
  },
  {
    "path": "README.md",
    "content": "# FizzBuzzEnterpriseEdition\n\n[![Build status][Build status image]][Build status URL] [![codecov.io](https://codecov.io/github/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/coverage.svg?branch=master)](https://codecov.io/github/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?branch=master)\n\n[Build status image]: https://secure.travis-ci.org/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition.png?branch=master\n[Build status URL]: http://travis-ci.org/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition\n\nEnterprise software marks a special high-grade class of software that makes\ncareful use of relevant software architecture design principles to build\nparticularly customizable and extensible solutions to real problems. This\nproject is an example of how the popular FizzBuzz game might be built were it\nsubject to the high quality standards of enterprise software.\n\n## FizzBuzz\n\nFizzBuzz is a game that has gained in popularity as a programming assignment to\nweed out non-programmers during job interviews. The object of the assignment is\nless about solving it correctly according to the below rules and more about\nshowing the programmer understands basic, necessary tools such as\n`if`-/`else`-statements and loops. The rules of FizzBuzz are as follows:\n\nFor numbers 1 through 100,\n\n* if the number is divisible by 3 print Fizz;\n* if the number is divisible by 5 print Buzz;\n* if the number is divisible by 3 and 5 (15) print FizzBuzz;\n* else, print the number.\n\n## Contributing\n\nAlthough this project is intended as satire, we take openness and inclusivity\nvery seriously. To that end we have adopted the following code of conduct.\n\n[Contributor Code of Conduct](CONTRIBUTING.md)\n"
  },
  {
    "path": "build.gradle",
    "content": "apply plugin: 'java'\napply plugin: 'application'\n\nrepositories {\n    jcenter()\n}\n\nsourceSets {\n    main {\n        java {\n            srcDir 'src/main/java'\n        }\n        resources {\n            srcDir 'resources/assets/configuration/spring/dependencyinjection/configuration/'\n        }\n    }\n}\n\ndependencies {\n    compile 'org.springframework:spring-aop:3.2.13.RELEASE',\n            'org.springframework:spring-beans:3.2.13.RELEASE',\n            'org.springframework:spring-context:3.2.13.RELEASE',\n            'org.springframework:spring-core:3.2.13.RELEASE',\n            'org.springframework:spring-expression:3.2.13.RELEASE'\n\n    testCompile 'junit:junit:4.8.2'\n}\n\nmainClassName = 'com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Main'"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "#Fri Oct 30 12:59:42 CET 2015\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-2.8-bin.zip\n"
  },
  {
    "path": "gradlew",
    "content": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn ( ) {\n    echo \"$*\"\n}\n\ndie ( ) {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\nesac\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >/dev/null\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n    JAVACMD=`cygpath --unix \"$JAVACMD\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\nfunction splitJvmOpts() {\n    JVM_OPTS=(\"$@\")\n}\neval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\nJVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n\nexec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n"
  },
  {
    "path": "gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem  Gradle startup script for Windows\n@rem\n@rem ##########################################################################\n\n@rem Set local scope for the variables with windows NT shell\nif \"%OS%\"==\"Windows_NT\" setlocal\n\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nset DEFAULT_JVM_OPTS=\n\nset DIRNAME=%~dp0\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\nset APP_BASE_NAME=%~n0\nset APP_HOME=%DIRNAME%\n\n@rem Find java.exe\nif defined JAVA_HOME goto findJavaFromJavaHome\n\nset JAVA_EXE=java.exe\n%JAVA_EXE% -version >NUL 2>&1\nif \"%ERRORLEVEL%\" == \"0\" goto init\n\necho.\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:findJavaFromJavaHome\nset JAVA_HOME=%JAVA_HOME:\"=%\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\n\nif exist \"%JAVA_EXE%\" goto init\n\necho.\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:init\n@rem Get command-line arguments, handling Windowz variants\n\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\nif \"%@eval[2+2]\" == \"4\" goto 4NT_args\n\n:win9xME_args\n@rem Slurp the command line arguments.\nset CMD_LINE_ARGS=\nset _SKIP=2\n\n:win9xME_args_slurp\nif \"x%~1\" == \"x\" goto execute\n\nset CMD_LINE_ARGS=%*\ngoto execute\n\n:4NT_args\n@rem Get arguments from the 4NT Shell from JP Software\nset CMD_LINE_ARGS=%$\n\n:execute\n@rem Setup the command line\n\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\n\n@rem Execute Gradle\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\n\n:end\n@rem End local scope for the variables with windows NT shell\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\n\n:fail\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\nrem the _cmd.exe /c_ return code!\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\nexit /b 1\n\n:mainEnd\nif \"%OS%\"==\"Windows_NT\" endlocal\n\n:omega\n"
  },
  {
    "path": "pom.xml",
    "content": "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n  xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n  <modelVersion>4.0.0</modelVersion>\n\n  <groupId>com.seriouscompany.business.java.fizzbuzz</groupId>\n  <artifactId>FizzBuzzEnterpriseEdition</artifactId>\n  <version>1.0-SNAPSHOT</version>\n  <packaging>jar</packaging>\n\n  <name>FizzBuzz Enterprise Edition</name>\n  <url>https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition</url>\n\n  <properties>\n    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n  </properties>\n\n  <dependencies>\n    <dependency>\n      <groupId>junit</groupId>\n      <artifactId>junit</artifactId>\n      <version>4.8.2</version>\n      <scope>test</scope>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-aop</artifactId>\n        <version>3.2.13.RELEASE</version>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-beans</artifactId>\n        <version>3.2.13.RELEASE</version>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-context</artifactId>\n        <version>3.2.13.RELEASE</version>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-core</artifactId>\n        <version>3.2.13.RELEASE</version>\n    </dependency>\n    <dependency>\n        <groupId>org.springframework</groupId>\n        <artifactId>spring-expression</artifactId>\n        <version>3.2.13.RELEASE</version>\n    </dependency>\n  </dependencies>\n\n  <build>\n    <resources>\n\t  <resource>\n\t    <directory>resources/assets/configuration/spring/dependencyinjection/configuration</directory>\n\t    <filtering>true</filtering>\n\t  </resource>\n    </resources>\n    <plugins>\n      <plugin>\n          <artifactId>maven-compiler-plugin</artifactId>\n          <version>2.3</version>\n          <configuration>\n          <source>1.7</source>\n          <target>1.7</target>\n        </configuration>\n      </plugin>\n      <plugin>\n        <groupId>org.apache.maven.plugins</groupId>\n        <artifactId>maven-jar-plugin</artifactId>\n        <version>2.3</version>\n        <configuration>\n          <archive>\n            <manifest>\n              <mainClass>com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Main</mainClass>\n            </manifest>\n          </archive>\n        </configuration>\n      </plugin>\n      <plugin>\n        <groupId>org.jacoco</groupId>\n        <artifactId>jacoco-maven-plugin</artifactId>\n        <version>0.5.8.201207111220</version>\n        <executions>\n          <execution>\n            <goals>\n              <goal>prepare-agent</goal>\n            </goals>\n          </execution>\n          <execution>\n            <id>report</id>\n            <phase>test</phase>\n            <goals>\n              <goal>report</goal>\n            </goals>\n          </execution>\n        </executions>\n      </plugin>\n    </plugins>\n  </build>\n\n</project>\n"
  },
  {
    "path": "resources/assets/configuration/spring/dependencyinjection/configuration/spring.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<beans xmlns=\"http://www.springframework.org/schema/beans\"\n    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n    xmlns:context=\"http://www.springframework.org/schema/context\"\n    xsi:schemaLocation=\"http://www.springframework.org/schema/beans\n    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd\n    http://www.springframework.org/schema/context\n    http://www.springframework.org/schema/context/spring-context-3.0.xsd\">\n    \n    <context:component-scan base-package=\"com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl\"/>\n    <context:component-scan base-package=\"com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces\"/>\n    \n</beans>"
  },
  {
    "path": "settings.gradle",
    "content": "rootProject.name = 'FizzBuzzEnterpriseEdition'\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/ApplicationContextHolder.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.beans.BeansException;\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.ApplicationContextAware;\nimport org.springframework.stereotype.Service;\n\n/**\n * Holder for Application Context\n */\n@Service\npublic class ApplicationContextHolder implements ApplicationContextAware {\n\n\tprivate static ApplicationContext applicationContext;\n\n\t/**\n\t * Updater for ApplicationContextReference\n\t */\n\tprivate static class ApplicationContextReferenceUpdater {\n\t\tvoid updateApplicationContextReference(final ApplicationContext applicationContext) {\n\t\t\tApplicationContextHolder.applicationContext = applicationContext;\n\t\t}\n\t}\n\n\t/**\n\t * Holder for ApplicationContextReferenceUpdater\n\t */\n\tprivate static class ApplicationContextReferenceUpdaterHolder {\n\t\tstatic ApplicationContextReferenceUpdater INSTANCE = new ApplicationContextReferenceUpdater();\n\t}\n\n\tprivate ApplicationContextHolder() {\n\t\tsuper();\n\t}\n\n\t/**\n\t * @param applicationContext\n\t * @throws BeansException\n\t */\n\t@Override\n\tpublic void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {\n\t\tApplicationContextReferenceUpdaterHolder.INSTANCE.updateApplicationContextReference(applicationContext);\n\t}\n\n\t/**\n\t * @return\n\t */\n\tpublic static ApplicationContext getApplicationContext() {\n\t\treturn ApplicationContextHolder.applicationContext;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Constants.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\n/**\n * Constants\n */\npublic class Constants {\n\n\tpublic static final String AN_ATTEMPT_WAS_MADE_TO_DIVIDE_BY_ZERO = \"An attempt was made to divide by zero.\";\n\tpublic static final String BUZZ = \"Buzz\";\n\tpublic static final String COM_SERIOUSCOMPANY_BUSINESS_JAVA_FIZZBUZZ_PACKAGENAMINGPACKAGE_IMPL_PRINTERS_INTEGER_INTEGER_PRINTER_PRINT = \"com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.IntegerIntegerPrinter.print()\";\n\tpublic static final String FIZZ = \"Fizz\";\n\tpublic static final String LINE_SEPARATOR = \"line.separator\";\n\tpublic static final String LOOP_COMPONENT_FACTORY = \"loopComponentFactory\";\n\tpublic static final String SPRING_XML = \"spring.xml\";\n\tpublic static final String STANDARD_FIZZ_BUZZ = \"standardFizzBuzz\";\n\tpublic static final String THE_INTEGERS_COULD_NOT_BE_COMPARED = \"The integers could not be compared.\";\n\tpublic static final int DEFAULT_FIZZ_BUZZ_UPPER_LIMIT_PARAMETER_VALUE = 100;\n\tpublic static final int INTEGER_DIVIDE_ZERO_VALUE = 0;\n\tpublic static final int INTEGER_ORIGIN_ZERO_VALUE = 0;\n\tpublic static final int LOOP_INC_VALUE = 1;\n\tpublic static final int LOOP_INIT_VALUE = 1;\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Main.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.ConfigurableApplicationContext;\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.parameters.DefaultFizzBuzzUpperLimitParameter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters.FizzBuzzUpperLimitParameter;\n\n/**\n * Main\n */\npublic final class Main {\n\n\t/**\n\t * @param args\n\t */\n\tpublic static void main(final String[] args) {\n\t\tfinal ApplicationContext context = new ClassPathXmlApplicationContext(Constants.SPRING_XML);\n\t\tfinal FizzBuzz myFizzBuzz = (FizzBuzz) context.getBean(Constants.STANDARD_FIZZ_BUZZ);\n\t\tfinal FizzBuzzUpperLimitParameter fizzBuzzUpperLimit = new DefaultFizzBuzzUpperLimitParameter();\n\t\tmyFizzBuzz.fizzBuzz(fizzBuzzUpperLimit.obtainUpperLimitValue());\n\n\t\t((ConfigurableApplicationContext) context).close();\n\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/StandardFizzBuzz.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzSolutionStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;\n\n/**\n * Standard FizzBuzz\n */\n@Service\npublic class StandardFizzBuzz implements FizzBuzz {\n\n\tprivate final FizzBuzzSolutionStrategyFactory _fizzBuzzSolutionStrategyFactory;\n\n\t/**\n\t * @param _fizzBuzzSolutionStrategyFactory\n\t */\n\t@Autowired\n\tpublic StandardFizzBuzz(final FizzBuzzSolutionStrategyFactory _fizzBuzzSolutionStrategyFactory) {\n\t\tsuper();\n\t\tthis._fizzBuzzSolutionStrategyFactory = _fizzBuzzSolutionStrategyFactory;\n\t}\n\n\t/**\n\t * @param nFizzBuzzUpperLimit\n\t */\n\tpublic void fizzBuzz(final int nFizzBuzzUpperLimit) {\n\t\tfinal FizzBuzzSolutionStrategy mySolutionStrategy =\n\t\t\t\tthis._fizzBuzzSolutionStrategyFactory.createFizzBuzzSolutionStrategy();\n\t\tmySolutionStrategy.runSolution(nFizzBuzzUpperLimit);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.BuzzStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\n/**\n * Factory for BuzzStrategy\n */\n@Service\npublic class BuzzStrategyFactory implements IsEvenlyDivisibleStrategyFactory {\n\n\tprivate final BuzzStrategy _buzzStrategy;\n\n\t/**\n\t * @param _buzzStrategy BuzzStrategy\n\t */\n\t@Autowired\n\tpublic BuzzStrategyFactory(final BuzzStrategy _buzzStrategy) {\n\t\tsuper();\n\t\tthis._buzzStrategy = _buzzStrategy;\n\t}\n\n\t/**\n\t * @return void\n\t */\n\t@Override\n\tpublic IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {\n\t\treturn this._buzzStrategy;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.BuzzStringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\n\n/**\n * Factory for BuzzStringPrinter\n */\n@Service\npublic class BuzzStringPrinterFactory implements StringPrinterFactory {\n\n\tprivate final BuzzStringPrinter _buzzStringPrinter;\n\n\t/**\n\t * @param _buzzStringPrinter BuzzStringPrinter\n\t */\n\t@Autowired\n\tpublic BuzzStringPrinterFactory(final BuzzStringPrinter _buzzStringPrinter) {\n\t\tsuper();\n\t\tthis._buzzStringPrinter = _buzzStringPrinter;\n\t}\n\n\t/**\n\t * @return StringPrinter\n\t */\n\t@Override\n\tpublic StringPrinter createStringPrinter() {\n\t\treturn this._buzzStringPrinter;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.BuzzStringReturner;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Factory for BuzzStringReturner\n */\n@Service\npublic class BuzzStringReturnerFactory implements StringStringReturnerFactory {\n\n\tprivate final BuzzStringReturner _myBuzzStringReturner;\n\n\t/**\n\t * @param _myBuzzStringReturner BuzzStringReturner\n\t */\n\t@Autowired\n\tpublic BuzzStringReturnerFactory(final BuzzStringReturner _myBuzzStringReturner) {\n\t\tsuper();\n\t\tthis._myBuzzStringReturner = _myBuzzStringReturner;\n\t}\n\n\t/**\n\t * @return StringStringReturner\n\t */\n\t@Override\n\tpublic StringStringReturner createStringStringReturner() {\n\t\treturn this._myBuzzStringReturner;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/EnterpriseGradeFizzBuzzSolutionStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzSolutionStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;\n\n/**\n * Factory for EnterpriseGradeFizzBuzzSolutionStrategy\n */\n@Service\npublic class EnterpriseGradeFizzBuzzSolutionStrategyFactory implements FizzBuzzSolutionStrategyFactory {\n\n\tprivate final FizzBuzzSolutionStrategy _fizzBuzzSolutionStrategy;\n\n\t/**\n\t * @param _fizzBuzzSolutionStrategy FizzBuzzSolutionStrategy\n\t */\n\t@Autowired\n\tpublic EnterpriseGradeFizzBuzzSolutionStrategyFactory(final FizzBuzzSolutionStrategy _fizzBuzzSolutionStrategy) {\n\t\tsuper();\n\t\tthis._fizzBuzzSolutionStrategy = _fizzBuzzSolutionStrategy;\n\t}\n\n\t/**\n\t * @return FizzBuzzSolutionStrategy\n\t */\n\t@Override\n\tpublic FizzBuzzSolutionStrategy createFizzBuzzSolutionStrategy() {\n\t\treturn this._fizzBuzzSolutionStrategy;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzBuzzOutputGenerationContextVisitorFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors.FizzBuzzOutputGenerationContextVisitor;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.OutputGenerationContextVisitorFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;\n\n/**\n * Factory for FizzBuzzOutputGenerationContextVisitor\n */\n@Service\npublic class FizzBuzzOutputGenerationContextVisitorFactory implements\n\t\tOutputGenerationContextVisitorFactory {\n\n\tprivate final FizzBuzzOutputGenerationContextVisitor _fizzBuzzOutputGenerationContextVisitor;\n\n\t/**\n\t * @param _fizzBuzzOutputGenerationContextVisitor FizzBuzzOutputGenerationContextVisitor\n\t */\n\t@Autowired\n\tpublic FizzBuzzOutputGenerationContextVisitorFactory(\n\t\t\tfinal FizzBuzzOutputGenerationContextVisitor _fizzBuzzOutputGenerationContextVisitor) {\n\t\tsuper();\n\t\tthis._fizzBuzzOutputGenerationContextVisitor = _fizzBuzzOutputGenerationContextVisitor;\n\t}\n\n\t/**\n\t * @return OutputGenerationContextVisitor\n\t */\n\t@Override\n\tpublic OutputGenerationContextVisitor createVisitor() {\n\t\treturn this._fizzBuzzOutputGenerationContextVisitor;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.FizzStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\n/**\n * Factory for FizzStrategy\n */\n@Service\npublic class FizzStrategyFactory implements IsEvenlyDivisibleStrategyFactory {\n\n\tprivate final FizzStrategy _fizzStrategy;\n\n\t/**\n\t * @param _fizzStrategy FizzStrategy\n\t */\n\t@Autowired\n\tpublic FizzStrategyFactory(final FizzStrategy _fizzStrategy) {\n\t\tsuper();\n\t\tthis._fizzStrategy = _fizzStrategy;\n\t}\n\n\t/**\n\t * @return IsEvenlyDivisibleStrategy\n\t */\n\t@Override\n\tpublic IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {\n\t\treturn this._fizzStrategy;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.FizzStringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\n\n/**\n * Factory for FizzStringPrinter\n */\n@Service\npublic class FizzStringPrinterFactory implements StringPrinterFactory {\n\n\tprivate final FizzStringPrinter _fizzStringPrinter;\n\n\t/**\n\t * @param _fizzStringPrinter FizzStringPrinter\n\t */\n\t@Autowired\n\tpublic FizzStringPrinterFactory(final FizzStringPrinter _fizzStringPrinter) {\n\t\tsuper();\n\t\tthis._fizzStringPrinter = _fizzStringPrinter;\n\t}\n\n\t/**\n\t * @return StringPrinter\n\t */\n\t@Override\n\tpublic StringPrinter createStringPrinter() {\n\t\treturn this._fizzStringPrinter;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.FizzStringReturner;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Factory for FizzStringReturner\n */\n@Service\npublic class FizzStringReturnerFactory implements StringStringReturnerFactory {\n\n\tprivate final FizzStringReturner _fizzStringReturner;\n\n\t/**\n\t * @param _fizzStringReturner FizzStringReturner\n\t */\n\t@Autowired\n\tpublic FizzStringReturnerFactory(final FizzStringReturner _fizzStringReturner) {\n\t\tsuper();\n\t\tthis._fizzStringReturner = _fizzStringReturner;\n\t}\n\n\t/**\n\t * @return StringStringReturner\n\t */\n\t@Override\n\tpublic StringStringReturner createStringStringReturner() {\n\t\treturn this._fizzStringReturner;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.IntegerIntegerPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IntegerPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;\n\n/**\n * Factory for IntegerIntegerPrinterFactory\n */\n@Service\npublic class IntegerIntegerPrinterFactory implements IntegerPrinterFactory {\n\n\tprivate final IntegerIntegerPrinter _integerIntegerPrinter;\n\n\t/**\n\t * @param _integerIntegerPrinter IntegerIntegerPrinter\n\t */\n\t@Autowired\n\tpublic IntegerIntegerPrinterFactory(final IntegerIntegerPrinter _integerIntegerPrinter) {\n\t\tsuper();\n\t\tthis._integerIntegerPrinter = _integerIntegerPrinter;\n\t}\n\n\t/**\n\t * @return IntegerPrinter\n\t */\n\t@Override\n\tpublic IntegerPrinter createPrinter() {\n\t\treturn this._integerIntegerPrinter;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.IntegerIntegerStringReturner;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IntegerStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;\n\n/**\n * Factory for IntegerIntegerStringReturner\n */\n@Service\npublic class IntegerIntegerStringReturnerFactory implements\n\t\tIntegerStringReturnerFactory {\n\n\tprivate final IntegerIntegerStringReturner _integerIntegerStringReturner;\n\n\t/**\n\t * @param _integerIntegerStringReturner IntegerIntegerStringReturner\n\t */\n\t@Autowired\n\tpublic IntegerIntegerStringReturnerFactory(final IntegerIntegerStringReturner _integerIntegerStringReturner) {\n\t\tsuper();\n\t\tthis._integerIntegerStringReturner = _integerIntegerStringReturner;\n\t}\n\n\t/**\n\t * @return IntegerStringReturner\n\t */\n\t@Override\n\tpublic IntegerStringReturner createIntegerStringReturner() {\n\t\treturn this._integerIntegerStringReturner;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/LoopComponentFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopCondition;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopFinalizer;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopInitializer;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopStep;\n\n/**\n * Factory for LoopComponent\n */\n@Service\npublic class LoopComponentFactory {\n\n\tprivate final LoopCondition _loopCondition;\n\n\tprivate final LoopInitializer _loopInitializer;\n\n\tprivate final LoopStep _loopStep;\n\n\t/**\n\t * @param _loopCondition LoopCondition\n\t * @param _loopInitializer LoopInitializer\n\t * @param _loopStep LoopStep\n\t */\n\t@Autowired\n\tpublic LoopComponentFactory(final LoopCondition _loopCondition, final LoopInitializer _loopInitializer,\n\t\t\tfinal LoopStep _loopStep) {\n\t\tsuper();\n\t\tthis._loopCondition = _loopCondition;\n\t\tthis._loopInitializer = _loopInitializer;\n\t\tthis._loopStep = _loopStep;\n\t}\n\n\t/**\n\t * @return LoopCondition\n\t */\n\tpublic LoopCondition createLoopCondition() {\n\t\treturn this._loopCondition;\n\t}\n\n\t/**\n\t * @return LoopInitializer\n\t */\n\tpublic LoopInitializer createLoopInitializer() {\n\t\treturn this._loopInitializer;\n\t}\n\n\t/**\n\t * @param nLoopFinalValue int\n\t * @return LoopFinalizer\n\t */\n\tpublic LoopFinalizer createLoopFinalizer(final int nLoopFinalValue) {\n\t\tfinal LoopFinalizer myLoopFinalizer = new LoopFinalizer(nLoopFinalValue);\n\t\treturn myLoopFinalizer;\n\t}\n\n\t/**\n\t * @return LoopStep\n\t */\n\tpublic LoopStep createLoopStep() {\n\t\treturn this._loopStep;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.NewLineStringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\n\n/**\n * Factory for NewLineStringPrinter\n */\n@Service\npublic class NewLineStringPrinterFactory implements StringPrinterFactory {\n\n\tprivate final NewLineStringPrinter _newLineStringPrinter;\n\n\t/**\n\t * @param _newLineStringPrinter NewLineStringPrinter\n\t */\n\t@Autowired\n\tpublic NewLineStringPrinterFactory(final NewLineStringPrinter _newLineStringPrinter) {\n\t\tsuper();\n\t\tthis._newLineStringPrinter = _newLineStringPrinter;\n\t}\n\n\t/**\n\t * @return StringPrinter\n\t */\n\t@Override\n\tpublic StringPrinter createStringPrinter() {\n\t\treturn this._newLineStringPrinter;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.NewLineStringReturner;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Factory for NewLineStringReturner\n */\n@Service\npublic class NewLineStringReturnerFactory implements\n\t\tStringStringReturnerFactory {\n\n\tprivate final NewLineStringReturner _newlineStringReturner;\n\n\t/**\n\t * @param _newlineStringReturner NewLineStringReturner\n\t */\n\t@Autowired\n\tpublic NewLineStringReturnerFactory(final NewLineStringReturner _newlineStringReturner) {\n\t\tsuper();\n\t\tthis._newlineStringReturner = _newlineStringReturner;\n\t}\n\n\t/**\n\t * @return StringStringReturner\n\t */\n\t@Override\n\tpublic StringStringReturner createStringStringReturner() {\n\t\treturn this._newlineStringReturner;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NoFizzNoBuzzStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.NoFizzNoBuzzStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\n/**\n * Factory for NoFizzNoBuzzStrategy\n */\n@Service\npublic class NoFizzNoBuzzStrategyFactory implements\n\t\tIsEvenlyDivisibleStrategyFactory {\n\n\tprivate final NoFizzNoBuzzStrategy _noFizzNoBuzzStrategy;\n\n\t/**\n\t * @param _noFizzNoBuzzStrategy NoFizzNoBuzzStrategy\n\t */\n\t@Autowired\n\tpublic NoFizzNoBuzzStrategyFactory(final NoFizzNoBuzzStrategy _noFizzNoBuzzStrategy) {\n\t\tsuper();\n\t\tthis._noFizzNoBuzzStrategy = _noFizzNoBuzzStrategy;\n\t}\n\n\t/**\n\t * @return IsEvenlyDivisibleStrategy\n\t */\n\t@Override\n\tpublic IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {\n\t\treturn this._noFizzNoBuzzStrategy;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/SystemOutFizzBuzzOutputStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.SystemOutFizzBuzzOutputStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzOutputStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;\n\n/**\n * Factory for SystemOutFizzBuzzOutputStrategy\n */\n@Service\npublic class SystemOutFizzBuzzOutputStrategyFactory implements\n\t\tFizzBuzzOutputStrategyFactory {\n\n\tprivate final SystemOutFizzBuzzOutputStrategy _systemOutFizzBuzzOutputStrategy;\n\n\t/**\n\t * @param _systemOutFizzBuzzOutputStrategy SystemOutFizzBuzzOutputStrategy\n\t */\n\t@Autowired\n\tpublic SystemOutFizzBuzzOutputStrategyFactory(final SystemOutFizzBuzzOutputStrategy _systemOutFizzBuzzOutputStrategy) {\n\t\tsuper();\n\t\tthis._systemOutFizzBuzzOutputStrategy = _systemOutFizzBuzzOutputStrategy;\n\t}\n\n\t/**\n\t * @return FizzBuzzOutputStrategy\n\t */\n\t@Override\n\tpublic FizzBuzzOutputStrategy createOutputStrategy() {\n\t\treturn this._systemOutFizzBuzzOutputStrategy;\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopCondition.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.ThreeWayIntegerComparator;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.ThreeWayIntegerComparisonResult;\n\n/**\n * LoopCondition\n */\n@Service\npublic class LoopCondition {\n\n\t/**\n\t * @param nCurrentNumber int\n\t * @param nTotalCount int\n\t * @return boolean\n\t */\n\tpublic boolean evaluateLoop(final int nCurrentNumber, final int nTotalCount) {\n\t\tfinal ThreeWayIntegerComparisonResult comparisonResult = ThreeWayIntegerComparator.Compare(nCurrentNumber,\n\t\t\t\tnTotalCount);\n\t\tif (ThreeWayIntegerComparisonResult.FirstIsLessThanSecond == comparisonResult) {\n\t\t\treturn true;\n\t\t} else if (ThreeWayIntegerComparisonResult.FirstEqualsSecond == comparisonResult) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopContext.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.ConfigurableApplicationContext;\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.LoopComponentFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateManipulation;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;\n\n/**\n * LoopContext\n */\npublic final class LoopContext implements LoopContextStateManipulation, LoopContextStateRetrieval {\n\n\tprivate final LoopInitializer myLoopInitializer;\n\tprivate final LoopFinalizer myLoopFinalizer;\n\tprivate final LoopCondition myLoopCondition;\n\tprivate final LoopStep myLoopStep;\n\tprivate int myCurrentControlParameterValue;\n\n\t/**\n\t * @param nLoopControlParameterFinalValue int\n\t */\n\tpublic LoopContext(final int nLoopControlParameterFinalValue) {\n\t\tsuper();\n\t\tfinal ApplicationContext context = new ClassPathXmlApplicationContext(Constants.SPRING_XML);\n\t\tfinal LoopComponentFactory myLoopComponentFactory = context.getBean(Constants.LOOP_COMPONENT_FACTORY,\n\t\t\t\tLoopComponentFactory.class);\n\t\tthis.myLoopInitializer = myLoopComponentFactory.createLoopInitializer();\n\t\tthis.myLoopFinalizer = myLoopComponentFactory.createLoopFinalizer(nLoopControlParameterFinalValue);\n\t\tthis.myLoopCondition = myLoopComponentFactory.createLoopCondition();\n\t\tthis.myLoopStep = myLoopComponentFactory.createLoopStep();\n\t\t((ConfigurableApplicationContext) context).close();\n\t}\n\n\t/**\n\t * @return void\n\t */\n\t@Override\n\tpublic void start() {\n\t\tthis.myCurrentControlParameterValue =\n\t\t\t\tthis.myLoopInitializer.getLoopInitializationPoint();\n\t}\n\n\t/**\n\t * @return boolean\n\t */\n\t@Override\n\tpublic boolean shouldProceed() {\n\t\treturn this.myLoopCondition.evaluateLoop(this.myCurrentControlParameterValue,\n\t\t\t\tthis.myLoopFinalizer.getLoopFinalizationPoint());\n\t}\n\n\t/**\n\t * @return void\n\t */\n\t@Override\n\tpublic void proceed() {\n\t\tthis.myCurrentControlParameterValue =\n\t\t\t\tthis.myLoopStep.stepLoop(this.myCurrentControlParameterValue);\n\t}\n\n\t/**\n\t * @return int\n\t */\n\t@Override\n\tpublic int getControlParameter() {\n\t\treturn this.myCurrentControlParameterValue;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopFinalizer.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\n/**\n * LoopFinalizer\n */\npublic final class LoopFinalizer {\n\n\tprivate final int nStoredLoopFinalValue;\n\n\t/**\n\t * @param nLoopFinalValue int\n\t */\n\tpublic LoopFinalizer(final int nLoopFinalValue) {\n\t\tsuper();\n\t\tthis.nStoredLoopFinalValue = nLoopFinalValue;\n\t}\n\n\t/**\n\t * @return int\n\t */\n\tpublic int getLoopFinalizationPoint() {\n\t\treturn this.nStoredLoopFinalValue;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopInitializer.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\n\n/**\n * LoopInitializer\n */\n@Service\npublic class LoopInitializer {\n\t\n\t/**\n\t * @return int\n\t */\n\tpublic int getLoopInitializationPoint() {\n\t\treturn Constants.LOOP_INIT_VALUE;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopRunner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateManipulation;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;\n\n/**\n * LoopRunner\n */\npublic final class LoopRunner {\n\n\tprivate final LoopContextStateManipulation myStateManipulation;\n\tprivate final LoopContextStateRetrieval myStateRetrieval;\n\tprivate final LoopPayloadExecution myPayload;\n\n\t/**\n\t * @param stateManipulation LoopContextStateManipulation\n\t * @param stateRetrieval LoopContextStateRetrieval\n\t * @param payload LoopPayloadExecution\n\t */\n\tpublic LoopRunner(final LoopContextStateManipulation stateManipulation,\n\t\t\tfinal LoopContextStateRetrieval stateRetrieval, final LoopPayloadExecution payload) {\n\t\tsuper();\n\t\tthis.myStateManipulation = stateManipulation;\n\t\tthis.myStateRetrieval = stateRetrieval;\n\t\tthis.myPayload = payload;\n\t}\n\n\t/**\n\t * @return\n\t */\n\tpublic void runLoop() {\n\t\tfor (this.myStateManipulation.start(); this.myStateManipulation.shouldProceed(); this.myStateManipulation.proceed()) {\n\t\t\tthis.myPayload.runLoopPayload(this.myStateRetrieval);\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopStep.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\n\n/**\n * LoopStep\n */\n@Service\npublic class LoopStep {\n\n\t/**\n\t * @param nCurrentNumber int\n\t * @return int\n\t */\n\tpublic int stepLoop(final int nCurrentNumber) {\n\t\treturn nCurrentNumber + Constants.LOOP_INC_VALUE;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/IntegerDivider.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator.FirstIsLargerThanSecondDoubleComparator;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator.FirstIsSmallerThanSecondDoubleComparator;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.IntegerForEqualityComparator;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters.DoubleToIntConverter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters.IntToDoubleConverter;\n\n/**\n * IntegerDivider\n */\n@Service\npublic class IntegerDivider {\n\n\tprivate final FirstIsSmallerThanSecondDoubleComparator firstIsSmallerThanSecondDoubleComparator;\n\tprivate final FirstIsLargerThanSecondDoubleComparator firstIsLargerThanSecondDoubleComparator;\n\n\t/**\n\t * @param firstIsLargerThanSecondDoubleComparator FirstIsLargerThanSecondDoubleComparator\n\t * @param firstIsSmallerThanSecondDoubleComparator FirstIsSmallerThanSecondDoubleComparator\n\t */\n\t@Autowired\n\tpublic IntegerDivider(final FirstIsLargerThanSecondDoubleComparator firstIsLargerThanSecondDoubleComparator,\n\t\t\tfinal FirstIsSmallerThanSecondDoubleComparator firstIsSmallerThanSecondDoubleComparator) {\n\t\tsuper();\n\t\tthis.firstIsLargerThanSecondDoubleComparator = firstIsLargerThanSecondDoubleComparator;\n\t\tthis.firstIsSmallerThanSecondDoubleComparator = firstIsSmallerThanSecondDoubleComparator;\n\t}\n\n\t/**\n\t * @param nFirstInteger int\n\t * @param nSecondInteger int\n\t * @return int\n\t */\n\tpublic int divide(final int nFirstInteger, final int nSecondInteger) {\n\t\tfinal boolean denominatorEqualsZero =\n\t\t\t\tIntegerForEqualityComparator.areTwoIntegersEqual(nSecondInteger, Constants.INTEGER_DIVIDE_ZERO_VALUE);\n\t\tif (denominatorEqualsZero) {\n\t\t\tthrow new ArithmeticException(Constants.AN_ATTEMPT_WAS_MADE_TO_DIVIDE_BY_ZERO);\n\t\t} else {\n\t\t\tfinal double dbFirstNumber = IntToDoubleConverter.Convert(nFirstInteger);\n\t\t\tfinal double dbSecondNumber = IntToDoubleConverter.Convert(nSecondInteger);\n\t\t\tfinal double dbQuotient = dbFirstNumber / dbSecondNumber;\n\t\t\tdouble dbRoundedQuotient = (double) Constants.INTEGER_ORIGIN_ZERO_VALUE;\n\t\t\tif (this.firstIsSmallerThanSecondDoubleComparator.FirstIsSmallerThanSecond(dbQuotient,\n\t\t\t\t\t(double) Constants.INTEGER_ORIGIN_ZERO_VALUE)) {\n\t\t\t\tdbRoundedQuotient = Math.ceil(dbQuotient);\n\t\t\t} else if (this.firstIsLargerThanSecondDoubleComparator.FirstIsLargerThanSecond(dbQuotient,\n\t\t\t\t\t(double) Constants.INTEGER_ORIGIN_ZERO_VALUE)) {\n\t\t\t\tdbRoundedQuotient = Math.floor(dbQuotient);\n\t\t\t}\n\t\t\tfinal int nIntegerQuotient = DoubleToIntConverter.Convert(dbRoundedQuotient);\n\t\t\treturn nIntegerQuotient;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/NumberIsMultipleOfAnotherNumberVerifier.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.ApplicationContextHolder;\nimport javax.annotation.PostConstruct;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.IntegerForEqualityComparator;\n\n/**\n * NumberIsMultipleOfAnotherNumberVerifier\n */\n@Service\npublic class NumberIsMultipleOfAnotherNumberVerifier {\n\n\tprivate static IntegerDivider integerDivider;\n\n\t@Autowired\n\tprivate ApplicationContextHolder applicationContextHolder;\n\n\t/**\n\t * @return\n\t */\n\t@PostConstruct\n\tpublic void init() {\n\t\tfinal ApplicationContext applicationContext = applicationContextHolder.getApplicationContext();\n\n\t\tthis.integerDivider = applicationContext.getBean(IntegerDivider.class);\n\t}\n\n\t/**\n\t * @param nFirstNumber\n\t * @param nSecondNumber\n\t * @return\n\t */\n\tpublic static boolean numberIsMultipleOfAnotherNumber(final int nFirstNumber, final int nSecondNumber) {\n\t\ttry {\n\t\t\tfinal int nDivideFirstIntegerBySecondIntegerResult =\n\t\t\t\t\t(NumberIsMultipleOfAnotherNumberVerifier.integerDivider.divide(nFirstNumber, nSecondNumber));\n\t\t\tfinal int nMultiplyDivisionResultBySecondIntegerResult =\n\t\t\t\t\tnDivideFirstIntegerBySecondIntegerResult * nSecondNumber;\n\t\t\tif (IntegerForEqualityComparator.areTwoIntegersEqual(nMultiplyDivisionResultBySecondIntegerResult,\n\t\t\t\t\tnFirstNumber)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch (final ArithmeticException ae) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/parameters/DefaultFizzBuzzUpperLimitParameter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.parameters;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters.FizzBuzzUpperLimitParameter;\n\n/**\n * Parameter for DefaultFizzBuzzUpperLimit\n */\npublic final class DefaultFizzBuzzUpperLimitParameter implements FizzBuzzUpperLimitParameter {\n\n\tprivate final int fizzBuzzUpperLimitParameterValue;\n\n\t/**\n\t *\n\t */\n\tpublic DefaultFizzBuzzUpperLimitParameter() {\n\t\tsuper();\n\t\tthis.fizzBuzzUpperLimitParameterValue = Constants.DEFAULT_FIZZ_BUZZ_UPPER_LIMIT_PARAMETER_VALUE;\n\t}\n\n\t/**\n\t * @param fizzBuzzUpperLimitParameterValue int\n\t */\n\tpublic DefaultFizzBuzzUpperLimitParameter(final int fizzBuzzUpperLimitParameterValue) {\n\t\tsuper();\n\t\tthis.fizzBuzzUpperLimitParameterValue = fizzBuzzUpperLimitParameterValue;\n\t}\n\n\t/**\n\t * @return int\n\t */\n\tpublic int obtainUpperLimitValue() {\n\t\treturn this.fizzBuzzUpperLimitParameterValue;\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\n\n/**\n * Printer for Buzz\n */\n@Service\npublic class BuzzPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\t/**\n\t * @param _systemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic BuzzPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzStringPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.BuzzStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Printer for BuzzString\n */\n@Service\npublic class BuzzStringPrinter implements StringPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _outputStrategyFactory;\n\n\tprivate final BuzzStringReturnerFactory _buzzStringReturnerFactory;\n\n\t/**\n\t * @param _buzzStringReturnerFactory\n\t * @param _outputStrategyFactory\n\t */\n\t@Autowired\n\tpublic BuzzStringPrinter(final BuzzStringReturnerFactory _buzzStringReturnerFactory,\n\t\t\tfinal SystemOutFizzBuzzOutputStrategyFactory _outputStrategyFactory) {\n\t\tsuper();\n\t\tthis._buzzStringReturnerFactory = _buzzStringReturnerFactory;\n\t\tthis._outputStrategyFactory = _outputStrategyFactory;\n\t}\n\n\t/**\n\t * @return void\n\t */\n\tpublic void print() {\n\t\tfinal StringStringReturner myBuzzStringReturner = this._buzzStringReturnerFactory\n\t\t\t.createStringStringReturner();\n\t\tfinal FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =\n\t\t\t\tnew FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(\n\t\t\t\t\t\tthis._outputStrategyFactory.createOutputStrategy());\n\n\t\tmyOutputAdapter.output(myBuzzStringReturner.getReturnString());\n\t}\n\n\t/**\n\t * @param value\n\t * @return\n\t */\n\t@Override\n\tpublic void printValue(final Object value) {\n\t\tthis.print();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\n\n/**\n * Printer for Fizz\n */\n@Service\npublic class FizzPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\t/**\n\t * @param _systemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic FizzPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzStringPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.FizzStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Printer for FizzString\n */\n@Service\npublic class FizzStringPrinter implements StringPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\tprivate final FizzStringReturnerFactory _fizzStringReturnerFactory;\n\n\t/**\n\t * @param _fizzStringReturnerFactory FizzStringReturnerFactory\n\t * @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic FizzStringPrinter(final FizzStringReturnerFactory _fizzStringReturnerFactory,\n\t\t\tfinal SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._fizzStringReturnerFactory = _fizzStringReturnerFactory;\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n\t/**\n\t * @return void\n\t */\n\tpublic void print() {\n\t\tfinal StringStringReturner myFizzStringReturner = this._fizzStringReturnerFactory\n\t\t\t.createStringStringReturner();\n\t\tfinal FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =\n\t\t\t\tnew FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(\n\t\t\t\t\t\tthis._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());\n\n\t\tmyOutputAdapter.output(myFizzStringReturner.getReturnString());\n\t}\n\n\t/**\n\t * @param value\n\t */\n\t@Override\n\tpublic void printValue(final Object value) {\n\t\tthis.print();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerIntegerPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.IntegerIntegerStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;\n\n/**\n * Printer for IntegerInteger\n */\n@Service\npublic class IntegerIntegerPrinter implements IntegerPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\tprivate final IntegerIntegerStringReturnerFactory _integerIntegerStringReturnerFactory;\n\n\t/**\n\t * @param _integerIntegerStringReturnerFactory IntegerIntegerStringReturnerFactory\n\t * @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic IntegerIntegerPrinter(final IntegerIntegerStringReturnerFactory _integerIntegerStringReturnerFactory,\n\t\t\tfinal SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._integerIntegerStringReturnerFactory = _integerIntegerStringReturnerFactory;\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n\t/**\n\t * @param theInteger\n\t */\n\tpublic void printInteger(final int theInteger) {\n\t\tfinal IntegerStringReturner myIntegerStringReturner =\n\t\t\t\tthis._integerIntegerStringReturnerFactory.createIntegerStringReturner();\n\t\tfinal String myIntegerString = myIntegerStringReturner.getIntegerReturnString(theInteger);\n\t\tfinal FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =\n\t\t\t\tnew FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(\n\t\t\t\t\t\tthis._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());\n\n\t\tmyOutputAdapter.output(myIntegerString);\n\t}\n\n\t/**\n\t * @return void\n\t */\n\t@Override\n\tpublic void print() {\n\t\tthrow new UnsupportedOperationException(\n\t\t\t\tcom.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.COM_SERIOUSCOMPANY_BUSINESS_JAVA_FIZZBUZZ_PACKAGENAMINGPACKAGE_IMPL_PRINTERS_INTEGER_INTEGER_PRINTER_PRINT);\n\t}\n\n\t/**\n\t * @param value\n\t */\n\t@Override\n\tpublic void printValue(final Object value) {\n\t\tthis.printInteger((Integer) value);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\n\n/**\n * Printer for Integers\n */\n@Service\npublic class IntegerPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\t/**\n\t * @param _systemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic IntegerPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLinePrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\n\n/**\n * Printer for New Line\n */\n@Service\npublic class NewLinePrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\t/**\n\t * @param _systemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic NewLinePrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLineStringPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.NewLineStringReturnerFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Printer for NewLineString\n */\n@Service\npublic class NewLineStringPrinter implements StringPrinter {\n\n\tprivate final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;\n\n\tprivate final NewLineStringReturnerFactory _newLineStringReturnerFactory;\n\n\t/**\n\t * @param _newLineStringReturnerFactory NewLineStringReturnerFactory\n\t * @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory\n\t */\n\t@Autowired\n\tpublic NewLineStringPrinter(final NewLineStringReturnerFactory _newLineStringReturnerFactory,\n\t\t\tfinal SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {\n\t\tsuper();\n\t\tthis._newLineStringReturnerFactory = _newLineStringReturnerFactory;\n\t\tthis._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;\n\t}\n\n\t/**\n\t * @return void\n\t */\n\tpublic void print() {\n\t\tfinal StringStringReturner myNewLineStringReturner = this._newLineStringReturnerFactory\n\t\t\t.createStringStringReturner();\n\t\tfinal String myNewLineString = myNewLineStringReturner.getReturnString();\n\t\tfinal FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =\n\t\t\t\tnew FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(\n\t\t\t\t\t\tthis._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());\n\n\t\tmyOutputAdapter.output(myNewLineString);\n\t}\n\n\t/**\n\t * @param value Object\n\t */\n\t@Override\n\tpublic void printValue(final Object value) {\n\t\tthis.print();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/BuzzStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.BuzzStrategyConstants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;\n\n/**\n * Strategy for Buzz\n */\n@Service\npublic class BuzzStrategy implements IsEvenlyDivisibleStrategy {\n\n\t/**\n\t * @param theInteger int\n\t * @return boolean\n\t */\n\tpublic boolean isEvenlyDivisible(final int theInteger) {\n\t\tif (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\tBuzzStrategyConstants.BUZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/EnterpriseGradeFizzBuzzSolutionStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopContext;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopRunner;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;\n\n/**\n * Strategy for EnterpriseGradeFizzBuzzSolution\n */\n@Service\npublic class EnterpriseGradeFizzBuzzSolutionStrategy implements FizzBuzzSolutionStrategy {\n\n\tprivate final LoopPayloadExecution _loopPayloadExecution;\n\n\t/**\n\t * @param _loopPayloadExecution LoopPayloadExecution\n\t */\n\t@Autowired\n\tpublic EnterpriseGradeFizzBuzzSolutionStrategy(final LoopPayloadExecution _loopPayloadExecution) {\n\t\tsuper();\n\t\tthis._loopPayloadExecution = _loopPayloadExecution;\n\t}\n\n\t/**\n\t * @param nFizzBuzzUpperLimit int\n\t * @return void\n\t */\n\t@Override\n\tpublic void runSolution(final int nFizzBuzzUpperLimit) {\n\t\tfinal LoopContext loopContext = new LoopContext(nFizzBuzzUpperLimit);\n\t\tfinal LoopRunner loopRunner = new LoopRunner(loopContext, loopContext, this._loopPayloadExecution);\n\t\tloopRunner.runLoop();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/FizzStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.FizzStrategyConstants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;\n\n/**\n * Strategy for Fizz\n */\n@Service\npublic class FizzStrategy implements IsEvenlyDivisibleStrategy {\n\n\t/**\n\t * @param theInteger int\n\t * @return boolean\n\t */\n\tpublic boolean isEvenlyDivisible(final int theInteger) {\n\t\tif (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\tFizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/NoFizzNoBuzzStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.NoFizzNoBuzzStrategyConstants;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;\n\n/**\n * Strategy for NoFizzNoBuzz\n */\n@Service\npublic class NoFizzNoBuzzStrategy implements IsEvenlyDivisibleStrategy {\n\n\t/**\n\t * @param theInteger int\n\t * @return boolean\n\t */\n\tpublic boolean isEvenlyDivisible(final int theInteger) {\n\t\tif (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\tNoFizzNoBuzzStrategyConstants.NO_FIZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\tif (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\t\tNoFizzNoBuzzStrategyConstants.NO_BUZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\tNoFizzNoBuzzStrategyConstants.NO_BUZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\tif (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,\n\t\t\t\t\tNoFizzNoBuzzStrategyConstants.NO_FIZZ_INTEGER_CONSTANT_VALUE)) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepOutputGenerationStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport java.util.ArrayList;\nimport java.util.Iterator;\nimport java.util.List;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.*;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors.FizzBuzzOutputGenerationContext;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.OutputGenerationStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.SingleStepOutputGenerationParameter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;\n\n/**\n * Strategy for SingleStepOutputGeneration\n */\n@Service\npublic class SingleStepOutputGenerationStrategy implements OutputGenerationStrategy {\n\n\tprivate final List<OutputGenerationContext> contexts;\n\tprivate final OutputGenerationContextVisitor contextVisitor;\n\tprivate final StringPrinter myNewLinePrinter;\n\n\t/**\n\t * @param fizzBuzzOutputGenerationContextVisitorFactory FizzBuzzOutputGenerationContextVisitorFactory\n\t * @param fizzStrategyFactory FizzStrategyFactory\n\t * @param fizzStringPrinterFactory FizzStringPrinterFactory\n\t * @param buzzStrategyFactory BuzzStrategyFactory\n\t * @param buzzStringPrinterFactory BuzzStringPrinterFactory\n\t * @param noFizzNoBuzzStrategyFactory NoFizzNoBuzzStrategyFactory\n\t * @param integerIntegerPrinterFactory IntegerIntegerPrinterFactory\n\t * @param newLineStringPrinterFactory NewLineStringPrinterFactory\n\t */\n\t@Autowired\n\tpublic SingleStepOutputGenerationStrategy(\n\t\t\tfinal FizzBuzzOutputGenerationContextVisitorFactory fizzBuzzOutputGenerationContextVisitorFactory,\n\t\t\tfinal FizzStrategyFactory fizzStrategyFactory,\n\t\t\tfinal FizzStringPrinterFactory fizzStringPrinterFactory,\n\t\t\tfinal BuzzStrategyFactory buzzStrategyFactory,\n\t\t\tfinal BuzzStringPrinterFactory buzzStringPrinterFactory,\n\t\t\tfinal NoFizzNoBuzzStrategyFactory noFizzNoBuzzStrategyFactory,\n\t\t\tfinal IntegerIntegerPrinterFactory integerIntegerPrinterFactory,\n\t\t\tfinal NewLineStringPrinterFactory newLineStringPrinterFactory) {\n\t\tsuper();\n\t\tthis.contextVisitor = fizzBuzzOutputGenerationContextVisitorFactory.createVisitor();\n\t\tthis.contexts = new ArrayList<OutputGenerationContext>();\n\t\tthis.contexts.add(new FizzBuzzOutputGenerationContext(fizzStrategyFactory.createIsEvenlyDivisibleStrategy(),\n\t\t\t\tfizzStringPrinterFactory.createStringPrinter()));\n\t\tthis.contexts.add(new FizzBuzzOutputGenerationContext(buzzStrategyFactory.createIsEvenlyDivisibleStrategy(),\n\t\t\t\tbuzzStringPrinterFactory.createStringPrinter()));\n\t\tthis.contexts.add(new FizzBuzzOutputGenerationContext(\n\t\t\t\tnoFizzNoBuzzStrategyFactory.createIsEvenlyDivisibleStrategy(),\n\t\t\t\tintegerIntegerPrinterFactory.createPrinter()));\n\n\t\tthis.myNewLinePrinter = newLineStringPrinterFactory.createStringPrinter();\n\t}\n\n\t/**\n\t * @param generationParameter SingleStepOutputGenerationParameter\n\t * @return void\n\t */\n\tpublic void performGenerationForCurrentStep(final SingleStepOutputGenerationParameter generationParameter) {\n\t\tfinal int nGenerationParameter = generationParameter.retrieveIntegerValue();\n\t\tfinal Iterator<OutputGenerationContext> iterator = this.contexts.iterator();\n\t\twhile (iterator.hasNext()) {\n\t\t\tfinal OutputGenerationContext context = iterator.next();\n\t\t\tthis.contextVisitor.visit(context, nGenerationParameter);\n\t\t}\n\t\tthis.myNewLinePrinter.print();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepPayload.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.LoopContextStateRetrievalToSingleStepOutputGenerationAdapter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.OutputGenerationStrategy;\n\n/**\n * Payload for SingleStep\n */\n@Service\npublic class SingleStepPayload implements LoopPayloadExecution {\n\n\tprivate final OutputGenerationStrategy _outputGenerationStrategy;\n\n\t/**\n\t * @param _outputGenerationStrategy\n\t */\n\t@Autowired\n\tpublic SingleStepPayload(final OutputGenerationStrategy _outputGenerationStrategy) {\n\t\tsuper();\n\t\tthis._outputGenerationStrategy = _outputGenerationStrategy;\n\t}\n\n\t/**\n\t * @param stateRetrieval LoopContextStateRetrieval\n\t * @return void\n\t */\n\t@Override\n\tpublic void runLoopPayload(final LoopContextStateRetrieval stateRetrieval) {\n\t\tfinal LoopContextStateRetrievalToSingleStepOutputGenerationAdapter adapter =\n\t\t\t\tnew LoopContextStateRetrievalToSingleStepOutputGenerationAdapter(stateRetrieval);\n\t\tthis._outputGenerationStrategy.performGenerationForCurrentStep(adapter);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SystemOutFizzBuzzOutputStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport java.io.IOException;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;\n\n/**\n * Strategy for SystemOutFizzBuzzOutput\n */\n@Service\npublic class SystemOutFizzBuzzOutputStrategy implements FizzBuzzOutputStrategy {\n\n\t/**\n\t * @param output String\n\t * @throws IOException\n\t * @return void\n\t */\n\t@Override\n\tpublic void output(final String output) throws IOException {\n\t\tSystem.out.write(output.getBytes());\n\t\tSystem.out.flush();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzExceptionSafeOutputStrategy;\n\n/**\n * Adapter for FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategy\n */\npublic final class FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter implements FizzBuzzExceptionSafeOutputStrategy {\n\n\tprivate  final FizzBuzzOutputStrategy _fizzBuzzOutputStrategy;\n\n\t/**\n\t * @param fizzBuzzOutputStrategy FizzBuzzOutputStrategy\n\t */\n\tpublic FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(final FizzBuzzOutputStrategy fizzBuzzOutputStrategy) {\n\t\tthis._fizzBuzzOutputStrategy = fizzBuzzOutputStrategy;\n\t}\n\n\t/**\n\t * @param outputStringToOutput String\n\t * @return void\n\t */\n\t@Override\n\tpublic void output(final String outputStringToOutput) {\n\t\ttry {\n\t\t\tthis._fizzBuzzOutputStrategy.output(outputStringToOutput);\n\t\t} catch (final Exception exceptionFromDoingOutput) {\n\t\t\t// We're the enterprise...we don't get exceptions!\n\t\t} catch (final Throwable throwableFromDoingOutput) {\n\t\t\t// We're the enterprise...we don't get throwables either!\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.SingleStepOutputGenerationParameter;\n\n/**\n * Adapter for LoopContextStateRetrievalToSingleStepOutputGeneration\n */\npublic final class LoopContextStateRetrievalToSingleStepOutputGenerationAdapter implements SingleStepOutputGenerationParameter {\n\n\tprivate final LoopContextStateRetrieval _retrievalObjectToAdapt;\n\n\t/**\n\t * @param retrievalObjectToAdapt LoopContextStateRetrieval\n\t */\n\tpublic LoopContextStateRetrievalToSingleStepOutputGenerationAdapter(final LoopContextStateRetrieval retrievalObjectToAdapt) {\n\t\tsuper();\n\t\tthis._retrievalObjectToAdapt = retrievalObjectToAdapt;\n\n\t}\n\n\t/**\n\t * @return int\n\t */\n\t@Override\n\tpublic int retrieveIntegerValue() {\n\t\treturn this._retrievalObjectToAdapt.getControlParameter();\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsLargerThanSecondDoubleComparator.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Comparator for FirstIsLargerThanSecondDouble\n */\n@Service\npublic class FirstIsLargerThanSecondDoubleComparator {\n\n\t/**\n\t * @param dbFirstDoubleToCompare double\n\t * @param dbSecondDoubleToCompare double\n\t * @return boolean\n\t */\n\tpublic  boolean FirstIsLargerThanSecond(final double dbFirstDoubleToCompare, final double dbSecondDoubleToCompare) {\n\t\tif (dbFirstDoubleToCompare > dbSecondDoubleToCompare) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsSmallerThanSecondDoubleComparator.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Comparator for FirstIsSmallerThanSecondDouble\n */\n@Service\npublic class FirstIsSmallerThanSecondDoubleComparator {\n\n\t/**\n\t * @param dbFirstDoubleToCompare double\n\t * @param dbSecondDoubleToCompare double\n\t * @return boolean\n\t */\n\tpublic  boolean FirstIsSmallerThanSecond(final double dbFirstDoubleToCompare, final double dbSecondDoubleToCompare) {\n\t\tif (dbFirstDoubleToCompare < dbSecondDoubleToCompare) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/IntegerForEqualityComparator.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Comparator for IntegerForEquality\n */\n@Service\npublic final class IntegerForEqualityComparator {\n\n\tprivate IntegerForEqualityComparator() {}\n\n\t/**\n\t * @param nFirstInteger int\n\t * @param nSecondInteger int\n\t * @return boolean\n\t */\n\tpublic static boolean areTwoIntegersEqual(final int nFirstInteger, final int nSecondInteger) {\n\t\tfinal ThreeWayIntegerComparisonResult comparisonResult =\n\t\t\t\tThreeWayIntegerComparator.Compare(nFirstInteger, nSecondInteger);\n\t\tif (ThreeWayIntegerComparisonResult.FirstEqualsSecond == comparisonResult) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparator.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;\n\n/**\n * Comparator for ThreeWayInteger\n */\n@Service\npublic final class ThreeWayIntegerComparator {\n\n\tprivate ThreeWayIntegerComparator() {}\n\n\t/**\n\t * @param nFirstInteger int\n\t * @param nSecondInteger int\n\t * @return ThreeWayIntegerComparisonResult\n\t */\n\tpublic static ThreeWayIntegerComparisonResult Compare(final int nFirstInteger, final int nSecondInteger) {\n\t\tif (nFirstInteger == nSecondInteger) {\n\t\t\treturn ThreeWayIntegerComparisonResult.FirstEqualsSecond;\n\t\t} else if (nFirstInteger < nSecondInteger) {\n\t\t\treturn ThreeWayIntegerComparisonResult.FirstIsLessThanSecond;\n\t\t} else if (nFirstInteger > nSecondInteger) {\n\t\t\treturn ThreeWayIntegerComparisonResult.FirstIsGreaterThanSecond;\n\t\t} else {\n\t\t\t// If the integers cannot be compared, then something is seriously wrong with the numbers.\n\t\t\tthrow new UnsupportedOperationException(Constants.THE_INTEGERS_COULD_NOT_BE_COMPARED);\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparisonResult.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\n/**\n * ThreeWayIntegerComparisonResult\n */\npublic enum ThreeWayIntegerComparisonResult {\n\tFirstIsLessThanSecond,\n\tFirstEqualsSecond,\n\tFirstIsGreaterThanSecond\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/BuzzStrategyConstants.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Constants for BuzzStrategy\n */\n@Service\npublic final class BuzzStrategyConstants {\n\n\tprivate BuzzStrategyConstants() {}\n\n\tpublic static final int BUZZ_INTEGER_CONSTANT_VALUE = 5;\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/FizzStrategyConstants.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Constants for FizzStrategy\n */\n@Service\npublic final class FizzStrategyConstants {\n\n\tprivate FizzStrategyConstants() {}\n\n\tpublic static final int FIZZ_INTEGER_CONSTANT_VALUE = 3;\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/NoFizzNoBuzzStrategyConstants.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Constants for NoFizzNoBuzzStrategy\n */\n@Service\npublic final class NoFizzNoBuzzStrategyConstants {\n\n\tprivate NoFizzNoBuzzStrategyConstants() {}\n\n\tpublic static final int NO_BUZZ_INTEGER_CONSTANT_VALUE = BuzzStrategyConstants.BUZZ_INTEGER_CONSTANT_VALUE;\n\tpublic static final int NO_FIZZ_INTEGER_CONSTANT_VALUE = FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE;\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/DoubleToIntConverter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Converter for DoubleToInt\n */\n@Service\npublic final class DoubleToIntConverter {\n\n\tprivate DoubleToIntConverter() {}\n\n\t/**\n\t * @param dbDoubleToConvert double\n\t * @return int\n\t */\n\tpublic static int Convert(final double dbDoubleToConvert) {\n\t\tfinal int nConversionResult = (int) dbDoubleToConvert;\n\t\treturn nConversionResult;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/IntToDoubleConverter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters;\n\nimport org.springframework.stereotype.Service;\n\n/**\n * Converter for IntToDouble\n */\n@Service\npublic final class IntToDoubleConverter {\n\n\tprivate IntToDoubleConverter() {}\n\n\t/**\n\t * @param nIntegerToConvert int\n\t * @return double\n\t */\n\tpublic static double Convert(final int nIntegerToConvert) {\n\t\tfinal double dbConversionResult = (double) nIntegerToConvert;\n\t\treturn dbConversionResult;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/BuzzStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Returner for BuzzString\n */\n@Service\npublic class BuzzStringReturner implements StringStringReturner {\n\n\t/**\n\t * @return String\n\t */\n\tpublic String getReturnString() {\n\t\tfinal StringBuilder myStringBuilder = new StringBuilder(\n\t\t\t\tcom.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.BUZZ);\n\t\tfinal String myString = myStringBuilder.toString();\n\t\treturn new String(myString);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/FizzStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Returner for FizzString\n */\n@Service\npublic class FizzStringReturner implements StringStringReturner {\n\n\t/**\n\t * @return String\n\t */\n\tpublic String getReturnString() {\n\t\tfinal StringBuilder myStringBuilder = new StringBuilder(\n\t\t\t\tcom.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.FIZZ);\n\t\tfinal String myString = myStringBuilder.toString();\n\t\tfinal char[] myCharacters = myString.toCharArray();\n\t\treturn new String(myCharacters, 0, myCharacters.length);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/IntegerIntegerStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;\n\n/**\n * Returner for IntegerIntegerString\n */\n@Service\npublic class IntegerIntegerStringReturner implements IntegerStringReturner {\n\n\t/**\n\t * @param theInteger ing\n\t * @return String\n\t */\n\tpublic String getIntegerReturnString(final int theInteger) {\n\t\tfinal Integer myIntegerToBeConvertedToString = new Integer(theInteger);\n\t\tfinal StringBuilder myStringBuilder = new StringBuilder(myIntegerToBeConvertedToString.toString());\n\t\tfinal String myResultingStringFromIntegerToStringConversion = myStringBuilder.toString();\n\t\treturn new String(myResultingStringFromIntegerToStringConversion);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/NewLineStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Returner for NewLineString\n */\n@Service\npublic class NewLineStringReturner implements StringStringReturner {\n\n\t/**\n\t * @return\n\t */\n\tpublic String getReturnString() {\n\t\tfinal String systemDefaultNewLineString = System.getProperty(\n\t\t\t\tcom.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.LINE_SEPARATOR);\n\t\tfinal StringBuilder myStringBuilder = new StringBuilder(systemDefaultNewLineString);\n\t\tfinal String myString = myStringBuilder.toString();\n\t\treturn new String(myString);\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContext.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;\n\n/**\n * Context for FizzBuzzOutputGeneration\n */\npublic final class FizzBuzzOutputGenerationContext implements OutputGenerationContext {\n\n\tprivate final DataPrinter printer;\n\tprivate final IsEvenlyDivisibleStrategy strategy;\n\n\t/**\n\t * @param strategy IsEvenlyDivisibleStrategy\n\t * @param printer DataPrinter\n\t */\n\tpublic FizzBuzzOutputGenerationContext(final IsEvenlyDivisibleStrategy strategy,\n\t\t\tfinal DataPrinter printer) {\n\t\tsuper();\n\t\tthis.strategy = strategy;\n\t\tthis.printer = printer;\n\t}\n\n\t/**\n\t * @return\n\t */\n\t@Override\n\tpublic DataPrinter getPrinter() {\n\t\treturn this.printer;\n\t}\n\n\t/**\n\t * @return\n\t */\n\t@Override\n\tpublic IsEvenlyDivisibleStrategy getStrategy() {\n\t\treturn this.strategy;\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContextVisitor.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\nimport org.springframework.stereotype.Service;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;\n\n/**\n * Visitor for FizzBuzzOutputGenerationContext\n */\n@Service\npublic class FizzBuzzOutputGenerationContextVisitor implements\n\t\tOutputGenerationContextVisitor {\n\n\t/**\n\t * @param context OutputGenerationContext\n\t * @param nGenerationParameter int\n\t */\n\t@Override\n\tpublic void visit(final OutputGenerationContext context, final int nGenerationParameter) {\n\t\tfinal IsEvenlyDivisibleStrategy strategy = context.getStrategy();\n\t\tif (strategy.isEvenlyDivisible(nGenerationParameter)) {\n\t\t\tfinal DataPrinter printer = context.getPrinter();\n\t\t\tprinter.printValue(new Integer(nGenerationParameter));\n\t\t}\n\t}\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/FizzBuzz.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces;\n\n/**\n * FizzBuzz\n */\npublic interface FizzBuzz {\n\n\t/**\n\t * @param nFizzBuzzUpperLimit\n\t */\n\tvoid fizzBuzz(int nFizzBuzzUpperLimit);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzOutputStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;\n\n/**\n * Factory for FizzBuzzOutputStrategy\n */\npublic interface FizzBuzzOutputStrategyFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic FizzBuzzOutputStrategy createOutputStrategy();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzSolutionStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;\n\n/**\n * Factory for FizzBuzzSolutionStrategy\n */\npublic interface FizzBuzzSolutionStrategyFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic FizzBuzzSolutionStrategy createFizzBuzzSolutionStrategy();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;\n\n/**\n * Factory for IntegerPrinter\n */\npublic interface IntegerPrinterFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic IntegerPrinter createPrinter();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;\n\n/**\n * Factory for IntegerStringReturner\n */\npublic interface IntegerStringReturnerFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic IntegerStringReturner createIntegerStringReturner();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IsEvenlyDivisibleStrategyFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\n/**\n * Factory for IsEvenlyDivisibleStrategy\n */\npublic interface IsEvenlyDivisibleStrategyFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/OutputGenerationContextVisitorFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;\n\n/**\n * Factory for OutputGenerationContextVisitor\n */\npublic interface OutputGenerationContextVisitorFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic OutputGenerationContextVisitor createVisitor();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringPrinterFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\n\n/**\n * Factory for StringPrinter\n */\npublic interface StringPrinterFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic StringPrinter createStringPrinter();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringStringReturnerFactory.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;\n\n/**\n * Factory for StringStringReturner\n */\npublic interface StringStringReturnerFactory {\n\n\t/**\n\t * @return\n\t */\n\tpublic StringStringReturner createStringStringReturner();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateManipulation.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Manipulation for LoopContextState\n */\npublic interface LoopContextStateManipulation {\n\n\t/**\n\t * @return\n\t */\n\tpublic void start();\n\n\t/**\n\t * @return\n\t */\n\tpublic boolean shouldProceed();\n\n\t/**\n\t * @return\n\t */\n\tpublic void proceed();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateRetrieval.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Retrieval for LoopContextState\n */\npublic interface LoopContextStateRetrieval {\n\n\t/**\n\t * @return\n\t */\n\tpublic int getControlParameter();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopPayloadExecution.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Execution for LoopPayload\n */\npublic interface LoopPayloadExecution {\n\n\t/**\n\t * @param stateRetrieval\n\t */\n\tpublic void runLoopPayload(LoopContextStateRetrieval stateRetrieval);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/parameters/FizzBuzzUpperLimitParameter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters;\n\n/**\n * Parameter for FizzBuzzUpperLimit\n */\npublic interface FizzBuzzUpperLimitParameter {\n\n\t/**\n\t * @return\n\t */\n\tpublic int obtainUpperLimitValue();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/DataPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for Data\n */\npublic interface DataPrinter {\n\n\t/**\n\t * @return\n\t */\n\tpublic void print();\n\n\t/**\n\t * @param value\n\t */\n\tpublic void printValue(Object value);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/IntegerPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for Integer\n */\npublic interface IntegerPrinter extends DataPrinter {\n\n\t/**\n\t * @param theInteger\n\t */\n\tpublic void printInteger(int theInteger);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/StringPrinter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for String\n */\npublic interface StringPrinter extends DataPrinter {\n\n\t/**\n\t *\n\t */\n\tpublic void print();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzExceptionSafeOutputStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for FizzBuzzExceptionSafeOutput\n */\npublic interface FizzBuzzExceptionSafeOutputStrategy {\n\n\t/**\n\t * @param output\n\t */\n\tpublic void output(String output);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzOutputStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\nimport java.io.IOException;\n\n/**\n * Strategy for FizzBuzzOutput\n */\npublic interface FizzBuzzOutputStrategy {\n\n\t/**\n\t * @param output\n\t * @throws IOException\n\t */\n\tpublic void output(String output) throws IOException;\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzSolutionStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for FizzBuzzSolution\n */\npublic interface FizzBuzzSolutionStrategy {\n\n\t/**\n\t * @param nFizzBuzzUpperLimit\n\t */\n\tpublic void runSolution(int nFizzBuzzUpperLimit);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/IsEvenlyDivisibleStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for IsEvenlyDivisible\n */\npublic interface IsEvenlyDivisibleStrategy {\n\n\t/**\n\t * @param theInteger\n\t * @return\n\t */\n\tpublic boolean isEvenlyDivisible(int theInteger);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/OutputGenerationStrategy.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for OutputGeneration\n */\npublic interface OutputGenerationStrategy {\n\n\t/**\n\t * @param generationParameter\n\t */\n\tvoid performGenerationForCurrentStep(SingleStepOutputGenerationParameter generationParameter);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/SingleStepOutputGenerationParameter.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Parameter for SingleStepOutputGeneration\n */\npublic interface SingleStepOutputGenerationParameter {\n\n\t/**\n\t * @return\n\t */\n\tpublic int retrieveIntegerValue();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/IntegerStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;\n\n/**\n * Returner for IntegerString\n */\npublic interface IntegerStringReturner {\n\n\t/**\n\t * @param theInteger\n\t * @return\n\t */\n\tpublic String getIntegerReturnString(int theInteger);\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/StringStringReturner.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;\n\n/**\n * Returner for StringString\n */\npublic interface StringStringReturner {\n\n\t/**\n\t * @return\n\t */\n\tpublic String getReturnString();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContext.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\n/**\n * Context for OutputGeneration\n */\npublic interface OutputGenerationContext {\n\n\t/**\n\t * @return\n\t */\n\tpublic IsEvenlyDivisibleStrategy getStrategy();\n\n\t/**\n\t * @return\n\t */\n\tpublic DataPrinter getPrinter();\n\n}\n"
  },
  {
    "path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContextVisitor.java",
    "content": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;\n\n/**\n * Visitor for OutputGenerationContext\n */\npublic interface OutputGenerationContextVisitor {\n\n\t/**\n\t * @param context\n\t * @param nGenerationParameter\n\t */\n\tpublic void visit(OutputGenerationContext context, int nGenerationParameter);\n\n}\n"
  },
  {
    "path": "src/test/java/FizzBuzzTest.java",
    "content": "import static org.junit.Assert.assertEquals;\n\nimport java.io.BufferedOutputStream;\nimport java.io.ByteArrayOutputStream;\nimport java.io.IOException;\nimport java.io.PrintStream;\n\nimport org.junit.After;\nimport org.junit.Before;\nimport org.junit.Test;\nimport org.springframework.context.ApplicationContext;\nimport org.springframework.context.ConfigurableApplicationContext;\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;\n\n/**\n * Tests for FizzBuzz\n */\npublic class FizzBuzzTest {\n\n\tprivate PrintStream out;\n\tprivate FizzBuzz fb;\n\n\t/**\n\t * @return void\n\t */\n\t@Before\n\tpublic void setUp() {\n\t\tfinal ApplicationContext context = new ClassPathXmlApplicationContext(TestConstants.SPRING_XML);\n\t\tthis.fb = (FizzBuzz) context.getBean(TestConstants.STANDARD_FIZZ_BUZZ);\n\t\tthis.out = System.out;\n\t\t((ConfigurableApplicationContext) context).close();\n\t}\n\n\t/**\n\t * @return void\n\t */\n\t@After\n\tpublic void tearDown() {\n\t\tSystem.setOut(this.out);\n\t}\n\n\t/**\n\t * @param n int\n\t * @param s String\n\t * @throws IOException\n\t */\n\tprivate void doFizzBuzz(final int n, final String s) throws IOException {\n\t\tfinal ByteArrayOutputStream baos = new ByteArrayOutputStream();\n\t\tfinal BufferedOutputStream bos = new BufferedOutputStream(baos);\n\t\tSystem.setOut(new PrintStream(bos));\n\n\t\tthis.fb.fizzBuzz(n);\n\n\t\tSystem.out.flush();\n\t\tString platformDependentExpectedResult = s.replaceAll(\"\\\\n\", System.getProperty(\"line.separator\"));\n\t\tassertEquals(platformDependentExpectedResult, baos.toString());\n\t}\n\n\t/**\n\t * @throws IOException\n\t * @return void\n\t */\n\t@Test\n\tpublic void testFizzBuzz() throws IOException {\n\t\tthis.doFizzBuzz(TestConstants.INT_1, TestConstants._1_);\n\t\tthis.doFizzBuzz(TestConstants.INT_2, TestConstants._1_2_);\n\t\tthis.doFizzBuzz(TestConstants.INT_3, TestConstants._1_2_FIZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_4, TestConstants._1_2_FIZZ_4);\n\t\tthis.doFizzBuzz(TestConstants.INT_5, TestConstants._1_2_FIZZ_4_BUZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_6, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_7, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7);\n\t\tthis.doFizzBuzz(TestConstants.INT_8, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8);\n\t\tthis.doFizzBuzz(TestConstants.INT_9, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_10, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_11, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11);\n\t\tthis.doFizzBuzz(TestConstants.INT_12, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_13, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13);\n\t\tthis.doFizzBuzz(TestConstants.INT_14, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14);\n\t\tthis.doFizzBuzz(TestConstants.INT_15,\n\t\t\t\tTestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ);\n\t\tthis.doFizzBuzz(TestConstants.INT_16,\n\t\t\t\tTestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ_16);\n\t}\n\n}\n"
  },
  {
    "path": "src/test/java/TestConstants.java",
    "content": "/**\n * Constants for FizzBuzz tests\n */\npublic class TestConstants {\n\n\tprivate TestConstants() {\n\t\tsuper();\n\t}\n\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ_16 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\nFizz\\n13\\n14\\nFizzBuzz\\n16\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\nFizz\\n13\\n14\\nFizzBuzz\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\nFizz\\n13\\n14\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\nFizz\\n13\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\nFizz\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n11\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\nBuzz\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\nFizz\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n8\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ_7 = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n7\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ_FIZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\nFizz\\n\";\n\tstatic final String _1_2_FIZZ_4_BUZZ = \"1\\n2\\nFizz\\n4\\nBuzz\\n\";\n\tstatic final String _1_2_FIZZ_4 = \"1\\n2\\nFizz\\n4\\n\";\n\tstatic final String _1_2_FIZZ = \"1\\n2\\nFizz\\n\";\n\tstatic final String _1_2_ = \"1\\n2\\n\";\n\tstatic final String _1_ = \"1\\n\";\n\tstatic final String STANDARD_FIZZ_BUZZ = \"standardFizzBuzz\";\n\tstatic final String SPRING_XML = \"spring.xml\";\n\tstatic final int INT_1 = 1;\n\tstatic final int INT_2 = 2;\n\tstatic final int INT_3 = 3;\n\tstatic final int INT_4 = 4;\n\tstatic final int INT_5 = 5;\n\tstatic final int INT_6 = 6;\n\tstatic final int INT_7 = 7;\n\tstatic final int INT_8 = 8;\n\tstatic final int INT_9 = 9;\n\tstatic final int INT_10 = 10;\n\tstatic final int INT_11 = 11;\n\tstatic final int INT_12 = 12;\n\tstatic final int INT_13 = 13;\n\tstatic final int INT_14 = 14;\n\tstatic final int INT_15 = 15;\n\tstatic final int INT_16 = 16;\n\n}\n"
  }
]