Repository: EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Branch: uinverse
Commit: 4922c077c07a
Files: 102
Total size: 100.8 KB
Directory structure:
gitextract_0n90tvug/
├── .gitattributes
├── .gitignore
├── .travis.yml
├── CONTRIBUTING.md
├── README.md
├── build.gradle
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── pom.xml
├── resources/
│ └── assets/
│ └── configuration/
│ └── spring/
│ └── dependencyinjection/
│ └── configuration/
│ └── spring.xml
├── settings.gradle
└── src/
├── main/
│ └── java/
│ └── com/
│ └── seriouscompany/
│ └── business/
│ └── java/
│ └── fizzbuzz/
│ └── packagenamingpackage/
│ ├── impl/
│ │ ├── ApplicationContextHolder.java
│ │ ├── Constants.java
│ │ ├── Main.java
│ │ ├── StandardFizzBuzz.java
│ │ ├── factories/
│ │ │ ├── BuzzStrategyFactory.java
│ │ │ ├── BuzzStringPrinterFactory.java
│ │ │ ├── BuzzStringReturnerFactory.java
│ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategyFactory.java
│ │ │ ├── FizzBuzzOutputGenerationContextVisitorFactory.java
│ │ │ ├── FizzStrategyFactory.java
│ │ │ ├── FizzStringPrinterFactory.java
│ │ │ ├── FizzStringReturnerFactory.java
│ │ │ ├── IntegerIntegerPrinterFactory.java
│ │ │ ├── IntegerIntegerStringReturnerFactory.java
│ │ │ ├── LoopComponentFactory.java
│ │ │ ├── NewLineStringPrinterFactory.java
│ │ │ ├── NewLineStringReturnerFactory.java
│ │ │ ├── NoFizzNoBuzzStrategyFactory.java
│ │ │ └── SystemOutFizzBuzzOutputStrategyFactory.java
│ │ ├── loop/
│ │ │ ├── LoopCondition.java
│ │ │ ├── LoopContext.java
│ │ │ ├── LoopFinalizer.java
│ │ │ ├── LoopInitializer.java
│ │ │ ├── LoopRunner.java
│ │ │ └── LoopStep.java
│ │ ├── math/
│ │ │ └── arithmetics/
│ │ │ ├── IntegerDivider.java
│ │ │ └── NumberIsMultipleOfAnotherNumberVerifier.java
│ │ ├── parameters/
│ │ │ └── DefaultFizzBuzzUpperLimitParameter.java
│ │ ├── printers/
│ │ │ ├── BuzzPrinter.java
│ │ │ ├── BuzzStringPrinter.java
│ │ │ ├── FizzPrinter.java
│ │ │ ├── FizzStringPrinter.java
│ │ │ ├── IntegerIntegerPrinter.java
│ │ │ ├── IntegerPrinter.java
│ │ │ ├── NewLinePrinter.java
│ │ │ └── NewLineStringPrinter.java
│ │ ├── strategies/
│ │ │ ├── BuzzStrategy.java
│ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategy.java
│ │ │ ├── FizzStrategy.java
│ │ │ ├── NoFizzNoBuzzStrategy.java
│ │ │ ├── SingleStepOutputGenerationStrategy.java
│ │ │ ├── SingleStepPayload.java
│ │ │ ├── SystemOutFizzBuzzOutputStrategy.java
│ │ │ ├── adapters/
│ │ │ │ ├── FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java
│ │ │ │ └── LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java
│ │ │ ├── comparators/
│ │ │ │ ├── doublecomparator/
│ │ │ │ │ ├── FirstIsLargerThanSecondDoubleComparator.java
│ │ │ │ │ └── FirstIsSmallerThanSecondDoubleComparator.java
│ │ │ │ └── integercomparator/
│ │ │ │ ├── IntegerForEqualityComparator.java
│ │ │ │ ├── ThreeWayIntegerComparator.java
│ │ │ │ └── ThreeWayIntegerComparisonResult.java
│ │ │ ├── constants/
│ │ │ │ ├── BuzzStrategyConstants.java
│ │ │ │ ├── FizzStrategyConstants.java
│ │ │ │ └── NoFizzNoBuzzStrategyConstants.java
│ │ │ └── converters/
│ │ │ └── primitivetypesconverters/
│ │ │ ├── DoubleToIntConverter.java
│ │ │ └── IntToDoubleConverter.java
│ │ ├── stringreturners/
│ │ │ ├── BuzzStringReturner.java
│ │ │ ├── FizzStringReturner.java
│ │ │ ├── IntegerIntegerStringReturner.java
│ │ │ └── NewLineStringReturner.java
│ │ └── visitors/
│ │ ├── FizzBuzzOutputGenerationContext.java
│ │ └── FizzBuzzOutputGenerationContextVisitor.java
│ └── interfaces/
│ ├── FizzBuzz.java
│ ├── factories/
│ │ ├── FizzBuzzOutputStrategyFactory.java
│ │ ├── FizzBuzzSolutionStrategyFactory.java
│ │ ├── IntegerPrinterFactory.java
│ │ ├── IntegerStringReturnerFactory.java
│ │ ├── IsEvenlyDivisibleStrategyFactory.java
│ │ ├── OutputGenerationContextVisitorFactory.java
│ │ ├── StringPrinterFactory.java
│ │ └── StringStringReturnerFactory.java
│ ├── loop/
│ │ ├── LoopContextStateManipulation.java
│ │ ├── LoopContextStateRetrieval.java
│ │ └── LoopPayloadExecution.java
│ ├── parameters/
│ │ └── FizzBuzzUpperLimitParameter.java
│ ├── printers/
│ │ ├── DataPrinter.java
│ │ ├── IntegerPrinter.java
│ │ └── StringPrinter.java
│ ├── strategies/
│ │ ├── FizzBuzzExceptionSafeOutputStrategy.java
│ │ ├── FizzBuzzOutputStrategy.java
│ │ ├── FizzBuzzSolutionStrategy.java
│ │ ├── IsEvenlyDivisibleStrategy.java
│ │ ├── OutputGenerationStrategy.java
│ │ └── SingleStepOutputGenerationParameter.java
│ ├── stringreturners/
│ │ ├── IntegerStringReturner.java
│ │ └── StringStringReturner.java
│ └── visitors/
│ ├── OutputGenerationContext.java
│ └── OutputGenerationContextVisitor.java
└── test/
└── java/
├── FizzBuzzTest.java
└── TestConstants.java
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
*.sln merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
================================================
FILE: .gitignore
================================================
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
*.class
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
#################
## IDEA
#################
.idea/
*.iml
#################
## Visual Studio
#################
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
*_i.c
*_p.c
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.vspscc
.builds
*.dotCover
## TODO: If you have NuGet Package Restore enabled, uncomment this
#packages/
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
# Visual Studio profiler
*.psess
*.vsp
# ReSharper is a .NET coding add-in
_ReSharper*
# Installshield output folder
[Ee]xpress
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish
# Others
[Bb]in
[Oo]bj
sql
TestResults
*.Cache
ClientBin
stylecop.*
~$*
*.dbmdl
Generated_Code #added for RIA/Silverlight projects
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
############
## Windows
############
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
#############
## Mac OS
#############
.DS_Store
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
# Mac crap
.DS_Store
#############
## Java
#############
.class
target/
================================================
FILE: .travis.yml
================================================
language: java
before_install: sudo pip install codecov
after_success: codecov
jdk:
- oraclejdk7
- openjdk7
================================================
FILE: CONTRIBUTING.md
================================================
# Contributor Code of Conduct
As 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.
We 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.
Examples 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.
Project 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.
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This 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/)
================================================
FILE: README.md
================================================
# FizzBuzzEnterpriseEdition
[![Build status][Build status image]][Build status URL] [](https://codecov.io/github/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition?branch=master)
[Build status image]: https://secure.travis-ci.org/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition.png?branch=master
[Build status URL]: http://travis-ci.org/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Enterprise software marks a special high-grade class of software that makes
careful use of relevant software architecture design principles to build
particularly customizable and extensible solutions to real problems. This
project is an example of how the popular FizzBuzz game might be built were it
subject to the high quality standards of enterprise software.
## FizzBuzz
FizzBuzz is a game that has gained in popularity as a programming assignment to
weed out non-programmers during job interviews. The object of the assignment is
less about solving it correctly according to the below rules and more about
showing the programmer understands basic, necessary tools such as
`if`-/`else`-statements and loops. The rules of FizzBuzz are as follows:
For numbers 1 through 100,
* if the number is divisible by 3 print Fizz;
* if the number is divisible by 5 print Buzz;
* if the number is divisible by 3 and 5 (15) print FizzBuzz;
* else, print the number.
## Contributing
Although this project is intended as satire, we take openness and inclusivity
very seriously. To that end we have adopted the following code of conduct.
[Contributor Code of Conduct](CONTRIBUTING.md)
================================================
FILE: build.gradle
================================================
apply plugin: 'java'
apply plugin: 'application'
repositories {
jcenter()
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
resources {
srcDir 'resources/assets/configuration/spring/dependencyinjection/configuration/'
}
}
}
dependencies {
compile 'org.springframework:spring-aop:3.2.13.RELEASE',
'org.springframework:spring-beans:3.2.13.RELEASE',
'org.springframework:spring-context:3.2.13.RELEASE',
'org.springframework:spring-core:3.2.13.RELEASE',
'org.springframework:spring-expression:3.2.13.RELEASE'
testCompile 'junit:junit:4.8.2'
}
mainClassName = 'com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Main'
================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
#Fri Oct 30 12:59:42 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-bin.zip
================================================
FILE: gradlew
================================================
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
esac
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
================================================
FILE: gradlew.bat
================================================
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windowz variants
if not "%OS%" == "Windows_NT" goto win9xME_args
if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
goto execute
:4NT_args
@rem Get arguments from the 4NT Shell from JP Software
set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: pom.xml
================================================
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.seriouscompany.business.java.fizzbuzz</groupId>
<artifactId>FizzBuzzEnterpriseEdition</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>FizzBuzz Enterprise Edition</name>
<url>https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>resources/assets/configuration/spring/dependencyinjection/configuration</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3</version>
<configuration>
<archive>
<manifest>
<mainClass>com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.5.8.201207111220</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
================================================
FILE: resources/assets/configuration/spring/dependencyinjection/configuration/spring.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl"/>
<context:component-scan base-package="com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces"/>
</beans>
================================================
FILE: settings.gradle
================================================
rootProject.name = 'FizzBuzzEnterpriseEdition'
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/ApplicationContextHolder.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
/**
* Holder for Application Context
*/
@Service
public class ApplicationContextHolder implements ApplicationContextAware {
private static ApplicationContext applicationContext;
/**
* Updater for ApplicationContextReference
*/
private static class ApplicationContextReferenceUpdater {
void updateApplicationContextReference(final ApplicationContext applicationContext) {
ApplicationContextHolder.applicationContext = applicationContext;
}
}
/**
* Holder for ApplicationContextReferenceUpdater
*/
private static class ApplicationContextReferenceUpdaterHolder {
static ApplicationContextReferenceUpdater INSTANCE = new ApplicationContextReferenceUpdater();
}
private ApplicationContextHolder() {
super();
}
/**
* @param applicationContext
* @throws BeansException
*/
@Override
public void setApplicationContext(final ApplicationContext applicationContext) throws BeansException {
ApplicationContextReferenceUpdaterHolder.INSTANCE.updateApplicationContextReference(applicationContext);
}
/**
* @return
*/
public static ApplicationContext getApplicationContext() {
return ApplicationContextHolder.applicationContext;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Constants.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
/**
* Constants
*/
public class Constants {
public static final String AN_ATTEMPT_WAS_MADE_TO_DIVIDE_BY_ZERO = "An attempt was made to divide by zero.";
public static final String BUZZ = "Buzz";
public 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()";
public static final String FIZZ = "Fizz";
public static final String LINE_SEPARATOR = "line.separator";
public static final String LOOP_COMPONENT_FACTORY = "loopComponentFactory";
public static final String SPRING_XML = "spring.xml";
public static final String STANDARD_FIZZ_BUZZ = "standardFizzBuzz";
public static final String THE_INTEGERS_COULD_NOT_BE_COMPARED = "The integers could not be compared.";
public static final int DEFAULT_FIZZ_BUZZ_UPPER_LIMIT_PARAMETER_VALUE = 100;
public static final int INTEGER_DIVIDE_ZERO_VALUE = 0;
public static final int INTEGER_ORIGIN_ZERO_VALUE = 0;
public static final int LOOP_INC_VALUE = 1;
public static final int LOOP_INIT_VALUE = 1;
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Main.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.parameters.DefaultFizzBuzzUpperLimitParameter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters.FizzBuzzUpperLimitParameter;
/**
* Main
*/
public final class Main {
/**
* @param args
*/
public static void main(final String[] args) {
final ApplicationContext context = new ClassPathXmlApplicationContext(Constants.SPRING_XML);
final FizzBuzz myFizzBuzz = (FizzBuzz) context.getBean(Constants.STANDARD_FIZZ_BUZZ);
final FizzBuzzUpperLimitParameter fizzBuzzUpperLimit = new DefaultFizzBuzzUpperLimitParameter();
myFizzBuzz.fizzBuzz(fizzBuzzUpperLimit.obtainUpperLimitValue());
((ConfigurableApplicationContext) context).close();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/StandardFizzBuzz.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzSolutionStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;
/**
* Standard FizzBuzz
*/
@Service
public class StandardFizzBuzz implements FizzBuzz {
private final FizzBuzzSolutionStrategyFactory _fizzBuzzSolutionStrategyFactory;
/**
* @param _fizzBuzzSolutionStrategyFactory
*/
@Autowired
public StandardFizzBuzz(final FizzBuzzSolutionStrategyFactory _fizzBuzzSolutionStrategyFactory) {
super();
this._fizzBuzzSolutionStrategyFactory = _fizzBuzzSolutionStrategyFactory;
}
/**
* @param nFizzBuzzUpperLimit
*/
public void fizzBuzz(final int nFizzBuzzUpperLimit) {
final FizzBuzzSolutionStrategy mySolutionStrategy =
this._fizzBuzzSolutionStrategyFactory.createFizzBuzzSolutionStrategy();
mySolutionStrategy.runSolution(nFizzBuzzUpperLimit);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.BuzzStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
/**
* Factory for BuzzStrategy
*/
@Service
public class BuzzStrategyFactory implements IsEvenlyDivisibleStrategyFactory {
private final BuzzStrategy _buzzStrategy;
/**
* @param _buzzStrategy BuzzStrategy
*/
@Autowired
public BuzzStrategyFactory(final BuzzStrategy _buzzStrategy) {
super();
this._buzzStrategy = _buzzStrategy;
}
/**
* @return void
*/
@Override
public IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {
return this._buzzStrategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.BuzzStringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
/**
* Factory for BuzzStringPrinter
*/
@Service
public class BuzzStringPrinterFactory implements StringPrinterFactory {
private final BuzzStringPrinter _buzzStringPrinter;
/**
* @param _buzzStringPrinter BuzzStringPrinter
*/
@Autowired
public BuzzStringPrinterFactory(final BuzzStringPrinter _buzzStringPrinter) {
super();
this._buzzStringPrinter = _buzzStringPrinter;
}
/**
* @return StringPrinter
*/
@Override
public StringPrinter createStringPrinter() {
return this._buzzStringPrinter;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.BuzzStringReturner;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Factory for BuzzStringReturner
*/
@Service
public class BuzzStringReturnerFactory implements StringStringReturnerFactory {
private final BuzzStringReturner _myBuzzStringReturner;
/**
* @param _myBuzzStringReturner BuzzStringReturner
*/
@Autowired
public BuzzStringReturnerFactory(final BuzzStringReturner _myBuzzStringReturner) {
super();
this._myBuzzStringReturner = _myBuzzStringReturner;
}
/**
* @return StringStringReturner
*/
@Override
public StringStringReturner createStringStringReturner() {
return this._myBuzzStringReturner;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/EnterpriseGradeFizzBuzzSolutionStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzSolutionStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;
/**
* Factory for EnterpriseGradeFizzBuzzSolutionStrategy
*/
@Service
public class EnterpriseGradeFizzBuzzSolutionStrategyFactory implements FizzBuzzSolutionStrategyFactory {
private final FizzBuzzSolutionStrategy _fizzBuzzSolutionStrategy;
/**
* @param _fizzBuzzSolutionStrategy FizzBuzzSolutionStrategy
*/
@Autowired
public EnterpriseGradeFizzBuzzSolutionStrategyFactory(final FizzBuzzSolutionStrategy _fizzBuzzSolutionStrategy) {
super();
this._fizzBuzzSolutionStrategy = _fizzBuzzSolutionStrategy;
}
/**
* @return FizzBuzzSolutionStrategy
*/
@Override
public FizzBuzzSolutionStrategy createFizzBuzzSolutionStrategy() {
return this._fizzBuzzSolutionStrategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzBuzzOutputGenerationContextVisitorFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors.FizzBuzzOutputGenerationContextVisitor;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.OutputGenerationContextVisitorFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;
/**
* Factory for FizzBuzzOutputGenerationContextVisitor
*/
@Service
public class FizzBuzzOutputGenerationContextVisitorFactory implements
OutputGenerationContextVisitorFactory {
private final FizzBuzzOutputGenerationContextVisitor _fizzBuzzOutputGenerationContextVisitor;
/**
* @param _fizzBuzzOutputGenerationContextVisitor FizzBuzzOutputGenerationContextVisitor
*/
@Autowired
public FizzBuzzOutputGenerationContextVisitorFactory(
final FizzBuzzOutputGenerationContextVisitor _fizzBuzzOutputGenerationContextVisitor) {
super();
this._fizzBuzzOutputGenerationContextVisitor = _fizzBuzzOutputGenerationContextVisitor;
}
/**
* @return OutputGenerationContextVisitor
*/
@Override
public OutputGenerationContextVisitor createVisitor() {
return this._fizzBuzzOutputGenerationContextVisitor;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.FizzStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
/**
* Factory for FizzStrategy
*/
@Service
public class FizzStrategyFactory implements IsEvenlyDivisibleStrategyFactory {
private final FizzStrategy _fizzStrategy;
/**
* @param _fizzStrategy FizzStrategy
*/
@Autowired
public FizzStrategyFactory(final FizzStrategy _fizzStrategy) {
super();
this._fizzStrategy = _fizzStrategy;
}
/**
* @return IsEvenlyDivisibleStrategy
*/
@Override
public IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {
return this._fizzStrategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.FizzStringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
/**
* Factory for FizzStringPrinter
*/
@Service
public class FizzStringPrinterFactory implements StringPrinterFactory {
private final FizzStringPrinter _fizzStringPrinter;
/**
* @param _fizzStringPrinter FizzStringPrinter
*/
@Autowired
public FizzStringPrinterFactory(final FizzStringPrinter _fizzStringPrinter) {
super();
this._fizzStringPrinter = _fizzStringPrinter;
}
/**
* @return StringPrinter
*/
@Override
public StringPrinter createStringPrinter() {
return this._fizzStringPrinter;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.FizzStringReturner;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Factory for FizzStringReturner
*/
@Service
public class FizzStringReturnerFactory implements StringStringReturnerFactory {
private final FizzStringReturner _fizzStringReturner;
/**
* @param _fizzStringReturner FizzStringReturner
*/
@Autowired
public FizzStringReturnerFactory(final FizzStringReturner _fizzStringReturner) {
super();
this._fizzStringReturner = _fizzStringReturner;
}
/**
* @return StringStringReturner
*/
@Override
public StringStringReturner createStringStringReturner() {
return this._fizzStringReturner;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.IntegerIntegerPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IntegerPrinterFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;
/**
* Factory for IntegerIntegerPrinterFactory
*/
@Service
public class IntegerIntegerPrinterFactory implements IntegerPrinterFactory {
private final IntegerIntegerPrinter _integerIntegerPrinter;
/**
* @param _integerIntegerPrinter IntegerIntegerPrinter
*/
@Autowired
public IntegerIntegerPrinterFactory(final IntegerIntegerPrinter _integerIntegerPrinter) {
super();
this._integerIntegerPrinter = _integerIntegerPrinter;
}
/**
* @return IntegerPrinter
*/
@Override
public IntegerPrinter createPrinter() {
return this._integerIntegerPrinter;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.IntegerIntegerStringReturner;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IntegerStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;
/**
* Factory for IntegerIntegerStringReturner
*/
@Service
public class IntegerIntegerStringReturnerFactory implements
IntegerStringReturnerFactory {
private final IntegerIntegerStringReturner _integerIntegerStringReturner;
/**
* @param _integerIntegerStringReturner IntegerIntegerStringReturner
*/
@Autowired
public IntegerIntegerStringReturnerFactory(final IntegerIntegerStringReturner _integerIntegerStringReturner) {
super();
this._integerIntegerStringReturner = _integerIntegerStringReturner;
}
/**
* @return IntegerStringReturner
*/
@Override
public IntegerStringReturner createIntegerStringReturner() {
return this._integerIntegerStringReturner;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/LoopComponentFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopCondition;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopFinalizer;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopInitializer;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopStep;
/**
* Factory for LoopComponent
*/
@Service
public class LoopComponentFactory {
private final LoopCondition _loopCondition;
private final LoopInitializer _loopInitializer;
private final LoopStep _loopStep;
/**
* @param _loopCondition LoopCondition
* @param _loopInitializer LoopInitializer
* @param _loopStep LoopStep
*/
@Autowired
public LoopComponentFactory(final LoopCondition _loopCondition, final LoopInitializer _loopInitializer,
final LoopStep _loopStep) {
super();
this._loopCondition = _loopCondition;
this._loopInitializer = _loopInitializer;
this._loopStep = _loopStep;
}
/**
* @return LoopCondition
*/
public LoopCondition createLoopCondition() {
return this._loopCondition;
}
/**
* @return LoopInitializer
*/
public LoopInitializer createLoopInitializer() {
return this._loopInitializer;
}
/**
* @param nLoopFinalValue int
* @return LoopFinalizer
*/
public LoopFinalizer createLoopFinalizer(final int nLoopFinalValue) {
final LoopFinalizer myLoopFinalizer = new LoopFinalizer(nLoopFinalValue);
return myLoopFinalizer;
}
/**
* @return LoopStep
*/
public LoopStep createLoopStep() {
return this._loopStep;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers.NewLineStringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
/**
* Factory for NewLineStringPrinter
*/
@Service
public class NewLineStringPrinterFactory implements StringPrinterFactory {
private final NewLineStringPrinter _newLineStringPrinter;
/**
* @param _newLineStringPrinter NewLineStringPrinter
*/
@Autowired
public NewLineStringPrinterFactory(final NewLineStringPrinter _newLineStringPrinter) {
super();
this._newLineStringPrinter = _newLineStringPrinter;
}
/**
* @return StringPrinter
*/
@Override
public StringPrinter createStringPrinter() {
return this._newLineStringPrinter;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners.NewLineStringReturner;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Factory for NewLineStringReturner
*/
@Service
public class NewLineStringReturnerFactory implements
StringStringReturnerFactory {
private final NewLineStringReturner _newlineStringReturner;
/**
* @param _newlineStringReturner NewLineStringReturner
*/
@Autowired
public NewLineStringReturnerFactory(final NewLineStringReturner _newlineStringReturner) {
super();
this._newlineStringReturner = _newlineStringReturner;
}
/**
* @return StringStringReturner
*/
@Override
public StringStringReturner createStringStringReturner() {
return this._newlineStringReturner;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NoFizzNoBuzzStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.NoFizzNoBuzzStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
/**
* Factory for NoFizzNoBuzzStrategy
*/
@Service
public class NoFizzNoBuzzStrategyFactory implements
IsEvenlyDivisibleStrategyFactory {
private final NoFizzNoBuzzStrategy _noFizzNoBuzzStrategy;
/**
* @param _noFizzNoBuzzStrategy NoFizzNoBuzzStrategy
*/
@Autowired
public NoFizzNoBuzzStrategyFactory(final NoFizzNoBuzzStrategy _noFizzNoBuzzStrategy) {
super();
this._noFizzNoBuzzStrategy = _noFizzNoBuzzStrategy;
}
/**
* @return IsEvenlyDivisibleStrategy
*/
@Override
public IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy() {
return this._noFizzNoBuzzStrategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/SystemOutFizzBuzzOutputStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.SystemOutFizzBuzzOutputStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.FizzBuzzOutputStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;
/**
* Factory for SystemOutFizzBuzzOutputStrategy
*/
@Service
public class SystemOutFizzBuzzOutputStrategyFactory implements
FizzBuzzOutputStrategyFactory {
private final SystemOutFizzBuzzOutputStrategy _systemOutFizzBuzzOutputStrategy;
/**
* @param _systemOutFizzBuzzOutputStrategy SystemOutFizzBuzzOutputStrategy
*/
@Autowired
public SystemOutFizzBuzzOutputStrategyFactory(final SystemOutFizzBuzzOutputStrategy _systemOutFizzBuzzOutputStrategy) {
super();
this._systemOutFizzBuzzOutputStrategy = _systemOutFizzBuzzOutputStrategy;
}
/**
* @return FizzBuzzOutputStrategy
*/
@Override
public FizzBuzzOutputStrategy createOutputStrategy() {
return this._systemOutFizzBuzzOutputStrategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopCondition.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.ThreeWayIntegerComparator;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.ThreeWayIntegerComparisonResult;
/**
* LoopCondition
*/
@Service
public class LoopCondition {
/**
* @param nCurrentNumber int
* @param nTotalCount int
* @return boolean
*/
public boolean evaluateLoop(final int nCurrentNumber, final int nTotalCount) {
final ThreeWayIntegerComparisonResult comparisonResult = ThreeWayIntegerComparator.Compare(nCurrentNumber,
nTotalCount);
if (ThreeWayIntegerComparisonResult.FirstIsLessThanSecond == comparisonResult) {
return true;
} else if (ThreeWayIntegerComparisonResult.FirstEqualsSecond == comparisonResult) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopContext.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.LoopComponentFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateManipulation;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;
/**
* LoopContext
*/
public final class LoopContext implements LoopContextStateManipulation, LoopContextStateRetrieval {
private final LoopInitializer myLoopInitializer;
private final LoopFinalizer myLoopFinalizer;
private final LoopCondition myLoopCondition;
private final LoopStep myLoopStep;
private int myCurrentControlParameterValue;
/**
* @param nLoopControlParameterFinalValue int
*/
public LoopContext(final int nLoopControlParameterFinalValue) {
super();
final ApplicationContext context = new ClassPathXmlApplicationContext(Constants.SPRING_XML);
final LoopComponentFactory myLoopComponentFactory = context.getBean(Constants.LOOP_COMPONENT_FACTORY,
LoopComponentFactory.class);
this.myLoopInitializer = myLoopComponentFactory.createLoopInitializer();
this.myLoopFinalizer = myLoopComponentFactory.createLoopFinalizer(nLoopControlParameterFinalValue);
this.myLoopCondition = myLoopComponentFactory.createLoopCondition();
this.myLoopStep = myLoopComponentFactory.createLoopStep();
((ConfigurableApplicationContext) context).close();
}
/**
* @return void
*/
@Override
public void start() {
this.myCurrentControlParameterValue =
this.myLoopInitializer.getLoopInitializationPoint();
}
/**
* @return boolean
*/
@Override
public boolean shouldProceed() {
return this.myLoopCondition.evaluateLoop(this.myCurrentControlParameterValue,
this.myLoopFinalizer.getLoopFinalizationPoint());
}
/**
* @return void
*/
@Override
public void proceed() {
this.myCurrentControlParameterValue =
this.myLoopStep.stepLoop(this.myCurrentControlParameterValue);
}
/**
* @return int
*/
@Override
public int getControlParameter() {
return this.myCurrentControlParameterValue;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopFinalizer.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
/**
* LoopFinalizer
*/
public final class LoopFinalizer {
private final int nStoredLoopFinalValue;
/**
* @param nLoopFinalValue int
*/
public LoopFinalizer(final int nLoopFinalValue) {
super();
this.nStoredLoopFinalValue = nLoopFinalValue;
}
/**
* @return int
*/
public int getLoopFinalizationPoint() {
return this.nStoredLoopFinalValue;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopInitializer.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
/**
* LoopInitializer
*/
@Service
public class LoopInitializer {
/**
* @return int
*/
public int getLoopInitializationPoint() {
return Constants.LOOP_INIT_VALUE;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopRunner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateManipulation;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;
/**
* LoopRunner
*/
public final class LoopRunner {
private final LoopContextStateManipulation myStateManipulation;
private final LoopContextStateRetrieval myStateRetrieval;
private final LoopPayloadExecution myPayload;
/**
* @param stateManipulation LoopContextStateManipulation
* @param stateRetrieval LoopContextStateRetrieval
* @param payload LoopPayloadExecution
*/
public LoopRunner(final LoopContextStateManipulation stateManipulation,
final LoopContextStateRetrieval stateRetrieval, final LoopPayloadExecution payload) {
super();
this.myStateManipulation = stateManipulation;
this.myStateRetrieval = stateRetrieval;
this.myPayload = payload;
}
/**
* @return
*/
public void runLoop() {
for (this.myStateManipulation.start(); this.myStateManipulation.shouldProceed(); this.myStateManipulation.proceed()) {
this.myPayload.runLoopPayload(this.myStateRetrieval);
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopStep.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
/**
* LoopStep
*/
@Service
public class LoopStep {
/**
* @param nCurrentNumber int
* @return int
*/
public int stepLoop(final int nCurrentNumber) {
return nCurrentNumber + Constants.LOOP_INC_VALUE;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/IntegerDivider.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator.FirstIsLargerThanSecondDoubleComparator;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator.FirstIsSmallerThanSecondDoubleComparator;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.IntegerForEqualityComparator;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters.DoubleToIntConverter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters.IntToDoubleConverter;
/**
* IntegerDivider
*/
@Service
public class IntegerDivider {
private final FirstIsSmallerThanSecondDoubleComparator firstIsSmallerThanSecondDoubleComparator;
private final FirstIsLargerThanSecondDoubleComparator firstIsLargerThanSecondDoubleComparator;
/**
* @param firstIsLargerThanSecondDoubleComparator FirstIsLargerThanSecondDoubleComparator
* @param firstIsSmallerThanSecondDoubleComparator FirstIsSmallerThanSecondDoubleComparator
*/
@Autowired
public IntegerDivider(final FirstIsLargerThanSecondDoubleComparator firstIsLargerThanSecondDoubleComparator,
final FirstIsSmallerThanSecondDoubleComparator firstIsSmallerThanSecondDoubleComparator) {
super();
this.firstIsLargerThanSecondDoubleComparator = firstIsLargerThanSecondDoubleComparator;
this.firstIsSmallerThanSecondDoubleComparator = firstIsSmallerThanSecondDoubleComparator;
}
/**
* @param nFirstInteger int
* @param nSecondInteger int
* @return int
*/
public int divide(final int nFirstInteger, final int nSecondInteger) {
final boolean denominatorEqualsZero =
IntegerForEqualityComparator.areTwoIntegersEqual(nSecondInteger, Constants.INTEGER_DIVIDE_ZERO_VALUE);
if (denominatorEqualsZero) {
throw new ArithmeticException(Constants.AN_ATTEMPT_WAS_MADE_TO_DIVIDE_BY_ZERO);
} else {
final double dbFirstNumber = IntToDoubleConverter.Convert(nFirstInteger);
final double dbSecondNumber = IntToDoubleConverter.Convert(nSecondInteger);
final double dbQuotient = dbFirstNumber / dbSecondNumber;
double dbRoundedQuotient = (double) Constants.INTEGER_ORIGIN_ZERO_VALUE;
if (this.firstIsSmallerThanSecondDoubleComparator.FirstIsSmallerThanSecond(dbQuotient,
(double) Constants.INTEGER_ORIGIN_ZERO_VALUE)) {
dbRoundedQuotient = Math.ceil(dbQuotient);
} else if (this.firstIsLargerThanSecondDoubleComparator.FirstIsLargerThanSecond(dbQuotient,
(double) Constants.INTEGER_ORIGIN_ZERO_VALUE)) {
dbRoundedQuotient = Math.floor(dbQuotient);
}
final int nIntegerQuotient = DoubleToIntConverter.Convert(dbRoundedQuotient);
return nIntegerQuotient;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/NumberIsMultipleOfAnotherNumberVerifier.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.ApplicationContextHolder;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator.IntegerForEqualityComparator;
/**
* NumberIsMultipleOfAnotherNumberVerifier
*/
@Service
public class NumberIsMultipleOfAnotherNumberVerifier {
private static IntegerDivider integerDivider;
@Autowired
private ApplicationContextHolder applicationContextHolder;
/**
* @return
*/
@PostConstruct
public void init() {
final ApplicationContext applicationContext = applicationContextHolder.getApplicationContext();
this.integerDivider = applicationContext.getBean(IntegerDivider.class);
}
/**
* @param nFirstNumber
* @param nSecondNumber
* @return
*/
public static boolean numberIsMultipleOfAnotherNumber(final int nFirstNumber, final int nSecondNumber) {
try {
final int nDivideFirstIntegerBySecondIntegerResult =
(NumberIsMultipleOfAnotherNumberVerifier.integerDivider.divide(nFirstNumber, nSecondNumber));
final int nMultiplyDivisionResultBySecondIntegerResult =
nDivideFirstIntegerBySecondIntegerResult * nSecondNumber;
if (IntegerForEqualityComparator.areTwoIntegersEqual(nMultiplyDivisionResultBySecondIntegerResult,
nFirstNumber)) {
return true;
} else {
return false;
}
} catch (final ArithmeticException ae) {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/parameters/DefaultFizzBuzzUpperLimitParameter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.parameters;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters.FizzBuzzUpperLimitParameter;
/**
* Parameter for DefaultFizzBuzzUpperLimit
*/
public final class DefaultFizzBuzzUpperLimitParameter implements FizzBuzzUpperLimitParameter {
private final int fizzBuzzUpperLimitParameterValue;
/**
*
*/
public DefaultFizzBuzzUpperLimitParameter() {
super();
this.fizzBuzzUpperLimitParameterValue = Constants.DEFAULT_FIZZ_BUZZ_UPPER_LIMIT_PARAMETER_VALUE;
}
/**
* @param fizzBuzzUpperLimitParameterValue int
*/
public DefaultFizzBuzzUpperLimitParameter(final int fizzBuzzUpperLimitParameterValue) {
super();
this.fizzBuzzUpperLimitParameterValue = fizzBuzzUpperLimitParameterValue;
}
/**
* @return int
*/
public int obtainUpperLimitValue() {
return this.fizzBuzzUpperLimitParameterValue;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
/**
* Printer for Buzz
*/
@Service
public class BuzzPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
/**
* @param _systemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public BuzzPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzStringPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.BuzzStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Printer for BuzzString
*/
@Service
public class BuzzStringPrinter implements StringPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _outputStrategyFactory;
private final BuzzStringReturnerFactory _buzzStringReturnerFactory;
/**
* @param _buzzStringReturnerFactory
* @param _outputStrategyFactory
*/
@Autowired
public BuzzStringPrinter(final BuzzStringReturnerFactory _buzzStringReturnerFactory,
final SystemOutFizzBuzzOutputStrategyFactory _outputStrategyFactory) {
super();
this._buzzStringReturnerFactory = _buzzStringReturnerFactory;
this._outputStrategyFactory = _outputStrategyFactory;
}
/**
* @return void
*/
public void print() {
final StringStringReturner myBuzzStringReturner = this._buzzStringReturnerFactory
.createStringStringReturner();
final FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =
new FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(
this._outputStrategyFactory.createOutputStrategy());
myOutputAdapter.output(myBuzzStringReturner.getReturnString());
}
/**
* @param value
* @return
*/
@Override
public void printValue(final Object value) {
this.print();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
/**
* Printer for Fizz
*/
@Service
public class FizzPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
/**
* @param _systemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public FizzPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzStringPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.FizzStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Printer for FizzString
*/
@Service
public class FizzStringPrinter implements StringPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
private final FizzStringReturnerFactory _fizzStringReturnerFactory;
/**
* @param _fizzStringReturnerFactory FizzStringReturnerFactory
* @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public FizzStringPrinter(final FizzStringReturnerFactory _fizzStringReturnerFactory,
final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._fizzStringReturnerFactory = _fizzStringReturnerFactory;
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
/**
* @return void
*/
public void print() {
final StringStringReturner myFizzStringReturner = this._fizzStringReturnerFactory
.createStringStringReturner();
final FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =
new FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(
this._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());
myOutputAdapter.output(myFizzStringReturner.getReturnString());
}
/**
* @param value
*/
@Override
public void printValue(final Object value) {
this.print();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerIntegerPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.IntegerIntegerStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;
/**
* Printer for IntegerInteger
*/
@Service
public class IntegerIntegerPrinter implements IntegerPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
private final IntegerIntegerStringReturnerFactory _integerIntegerStringReturnerFactory;
/**
* @param _integerIntegerStringReturnerFactory IntegerIntegerStringReturnerFactory
* @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public IntegerIntegerPrinter(final IntegerIntegerStringReturnerFactory _integerIntegerStringReturnerFactory,
final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._integerIntegerStringReturnerFactory = _integerIntegerStringReturnerFactory;
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
/**
* @param theInteger
*/
public void printInteger(final int theInteger) {
final IntegerStringReturner myIntegerStringReturner =
this._integerIntegerStringReturnerFactory.createIntegerStringReturner();
final String myIntegerString = myIntegerStringReturner.getIntegerReturnString(theInteger);
final FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =
new FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(
this._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());
myOutputAdapter.output(myIntegerString);
}
/**
* @return void
*/
@Override
public void print() {
throw new UnsupportedOperationException(
com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.COM_SERIOUSCOMPANY_BUSINESS_JAVA_FIZZBUZZ_PACKAGENAMINGPACKAGE_IMPL_PRINTERS_INTEGER_INTEGER_PRINTER_PRINT);
}
/**
* @param value
*/
@Override
public void printValue(final Object value) {
this.printInteger((Integer) value);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
/**
* Printer for Integers
*/
@Service
public class IntegerPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
/**
* @param _systemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public IntegerPrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLinePrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
/**
* Printer for New Line
*/
@Service
public class NewLinePrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
/**
* @param _systemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public NewLinePrinter(final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLineStringPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.NewLineStringReturnerFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.SystemOutFizzBuzzOutputStrategyFactory;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Printer for NewLineString
*/
@Service
public class NewLineStringPrinter implements StringPrinter {
private final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory;
private final NewLineStringReturnerFactory _newLineStringReturnerFactory;
/**
* @param _newLineStringReturnerFactory NewLineStringReturnerFactory
* @param _systemOutFizzBuzzOutputStrategyFactory SystemOutFizzBuzzOutputStrategyFactory
*/
@Autowired
public NewLineStringPrinter(final NewLineStringReturnerFactory _newLineStringReturnerFactory,
final SystemOutFizzBuzzOutputStrategyFactory _systemOutFizzBuzzOutputStrategyFactory) {
super();
this._newLineStringReturnerFactory = _newLineStringReturnerFactory;
this._systemOutFizzBuzzOutputStrategyFactory = _systemOutFizzBuzzOutputStrategyFactory;
}
/**
* @return void
*/
public void print() {
final StringStringReturner myNewLineStringReturner = this._newLineStringReturnerFactory
.createStringStringReturner();
final String myNewLineString = myNewLineStringReturner.getReturnString();
final FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter myOutputAdapter =
new FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(
this._systemOutFizzBuzzOutputStrategyFactory.createOutputStrategy());
myOutputAdapter.output(myNewLineString);
}
/**
* @param value Object
*/
@Override
public void printValue(final Object value) {
this.print();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/BuzzStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.BuzzStrategyConstants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;
/**
* Strategy for Buzz
*/
@Service
public class BuzzStrategy implements IsEvenlyDivisibleStrategy {
/**
* @param theInteger int
* @return boolean
*/
public boolean isEvenlyDivisible(final int theInteger) {
if (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
BuzzStrategyConstants.BUZZ_INTEGER_CONSTANT_VALUE)) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/EnterpriseGradeFizzBuzzSolutionStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopRunner;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;
/**
* Strategy for EnterpriseGradeFizzBuzzSolution
*/
@Service
public class EnterpriseGradeFizzBuzzSolutionStrategy implements FizzBuzzSolutionStrategy {
private final LoopPayloadExecution _loopPayloadExecution;
/**
* @param _loopPayloadExecution LoopPayloadExecution
*/
@Autowired
public EnterpriseGradeFizzBuzzSolutionStrategy(final LoopPayloadExecution _loopPayloadExecution) {
super();
this._loopPayloadExecution = _loopPayloadExecution;
}
/**
* @param nFizzBuzzUpperLimit int
* @return void
*/
@Override
public void runSolution(final int nFizzBuzzUpperLimit) {
final LoopContext loopContext = new LoopContext(nFizzBuzzUpperLimit);
final LoopRunner loopRunner = new LoopRunner(loopContext, loopContext, this._loopPayloadExecution);
loopRunner.runLoop();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/FizzStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.FizzStrategyConstants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;
/**
* Strategy for Fizz
*/
@Service
public class FizzStrategy implements IsEvenlyDivisibleStrategy {
/**
* @param theInteger int
* @return boolean
*/
public boolean isEvenlyDivisible(final int theInteger) {
if (NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE)) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/NoFizzNoBuzzStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants.NoFizzNoBuzzStrategyConstants;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics.NumberIsMultipleOfAnotherNumberVerifier;
/**
* Strategy for NoFizzNoBuzz
*/
@Service
public class NoFizzNoBuzzStrategy implements IsEvenlyDivisibleStrategy {
/**
* @param theInteger int
* @return boolean
*/
public boolean isEvenlyDivisible(final int theInteger) {
if (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
NoFizzNoBuzzStrategyConstants.NO_FIZZ_INTEGER_CONSTANT_VALUE)) {
if (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
NoFizzNoBuzzStrategyConstants.NO_BUZZ_INTEGER_CONSTANT_VALUE)) {
return true;
} else {
return false;
}
} else if (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
NoFizzNoBuzzStrategyConstants.NO_BUZZ_INTEGER_CONSTANT_VALUE)) {
if (!NumberIsMultipleOfAnotherNumberVerifier.numberIsMultipleOfAnotherNumber(theInteger,
NoFizzNoBuzzStrategyConstants.NO_FIZZ_INTEGER_CONSTANT_VALUE)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepOutputGenerationStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.*;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors.FizzBuzzOutputGenerationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.OutputGenerationStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.SingleStepOutputGenerationParameter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;
/**
* Strategy for SingleStepOutputGeneration
*/
@Service
public class SingleStepOutputGenerationStrategy implements OutputGenerationStrategy {
private final List<OutputGenerationContext> contexts;
private final OutputGenerationContextVisitor contextVisitor;
private final StringPrinter myNewLinePrinter;
/**
* @param fizzBuzzOutputGenerationContextVisitorFactory FizzBuzzOutputGenerationContextVisitorFactory
* @param fizzStrategyFactory FizzStrategyFactory
* @param fizzStringPrinterFactory FizzStringPrinterFactory
* @param buzzStrategyFactory BuzzStrategyFactory
* @param buzzStringPrinterFactory BuzzStringPrinterFactory
* @param noFizzNoBuzzStrategyFactory NoFizzNoBuzzStrategyFactory
* @param integerIntegerPrinterFactory IntegerIntegerPrinterFactory
* @param newLineStringPrinterFactory NewLineStringPrinterFactory
*/
@Autowired
public SingleStepOutputGenerationStrategy(
final FizzBuzzOutputGenerationContextVisitorFactory fizzBuzzOutputGenerationContextVisitorFactory,
final FizzStrategyFactory fizzStrategyFactory,
final FizzStringPrinterFactory fizzStringPrinterFactory,
final BuzzStrategyFactory buzzStrategyFactory,
final BuzzStringPrinterFactory buzzStringPrinterFactory,
final NoFizzNoBuzzStrategyFactory noFizzNoBuzzStrategyFactory,
final IntegerIntegerPrinterFactory integerIntegerPrinterFactory,
final NewLineStringPrinterFactory newLineStringPrinterFactory) {
super();
this.contextVisitor = fizzBuzzOutputGenerationContextVisitorFactory.createVisitor();
this.contexts = new ArrayList<OutputGenerationContext>();
this.contexts.add(new FizzBuzzOutputGenerationContext(fizzStrategyFactory.createIsEvenlyDivisibleStrategy(),
fizzStringPrinterFactory.createStringPrinter()));
this.contexts.add(new FizzBuzzOutputGenerationContext(buzzStrategyFactory.createIsEvenlyDivisibleStrategy(),
buzzStringPrinterFactory.createStringPrinter()));
this.contexts.add(new FizzBuzzOutputGenerationContext(
noFizzNoBuzzStrategyFactory.createIsEvenlyDivisibleStrategy(),
integerIntegerPrinterFactory.createPrinter()));
this.myNewLinePrinter = newLineStringPrinterFactory.createStringPrinter();
}
/**
* @param generationParameter SingleStepOutputGenerationParameter
* @return void
*/
public void performGenerationForCurrentStep(final SingleStepOutputGenerationParameter generationParameter) {
final int nGenerationParameter = generationParameter.retrieveIntegerValue();
final Iterator<OutputGenerationContext> iterator = this.contexts.iterator();
while (iterator.hasNext()) {
final OutputGenerationContext context = iterator.next();
this.contextVisitor.visit(context, nGenerationParameter);
}
this.myNewLinePrinter.print();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepPayload.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters.LoopContextStateRetrievalToSingleStepOutputGenerationAdapter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopPayloadExecution;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.OutputGenerationStrategy;
/**
* Payload for SingleStep
*/
@Service
public class SingleStepPayload implements LoopPayloadExecution {
private final OutputGenerationStrategy _outputGenerationStrategy;
/**
* @param _outputGenerationStrategy
*/
@Autowired
public SingleStepPayload(final OutputGenerationStrategy _outputGenerationStrategy) {
super();
this._outputGenerationStrategy = _outputGenerationStrategy;
}
/**
* @param stateRetrieval LoopContextStateRetrieval
* @return void
*/
@Override
public void runLoopPayload(final LoopContextStateRetrieval stateRetrieval) {
final LoopContextStateRetrievalToSingleStepOutputGenerationAdapter adapter =
new LoopContextStateRetrievalToSingleStepOutputGenerationAdapter(stateRetrieval);
this._outputGenerationStrategy.performGenerationForCurrentStep(adapter);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SystemOutFizzBuzzOutputStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;
import java.io.IOException;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;
/**
* Strategy for SystemOutFizzBuzzOutput
*/
@Service
public class SystemOutFizzBuzzOutputStrategy implements FizzBuzzOutputStrategy {
/**
* @param output String
* @throws IOException
* @return void
*/
@Override
public void output(final String output) throws IOException {
System.out.write(output.getBytes());
System.out.flush();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzExceptionSafeOutputStrategy;
/**
* Adapter for FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategy
*/
public final class FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter implements FizzBuzzExceptionSafeOutputStrategy {
private final FizzBuzzOutputStrategy _fizzBuzzOutputStrategy;
/**
* @param fizzBuzzOutputStrategy FizzBuzzOutputStrategy
*/
public FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter(final FizzBuzzOutputStrategy fizzBuzzOutputStrategy) {
this._fizzBuzzOutputStrategy = fizzBuzzOutputStrategy;
}
/**
* @param outputStringToOutput String
* @return void
*/
@Override
public void output(final String outputStringToOutput) {
try {
this._fizzBuzzOutputStrategy.output(outputStringToOutput);
} catch (final Exception exceptionFromDoingOutput) {
// We're the enterprise...we don't get exceptions!
} catch (final Throwable throwableFromDoingOutput) {
// We're the enterprise...we don't get throwables either!
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop.LoopContextStateRetrieval;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.SingleStepOutputGenerationParameter;
/**
* Adapter for LoopContextStateRetrievalToSingleStepOutputGeneration
*/
public final class LoopContextStateRetrievalToSingleStepOutputGenerationAdapter implements SingleStepOutputGenerationParameter {
private final LoopContextStateRetrieval _retrievalObjectToAdapt;
/**
* @param retrievalObjectToAdapt LoopContextStateRetrieval
*/
public LoopContextStateRetrievalToSingleStepOutputGenerationAdapter(final LoopContextStateRetrieval retrievalObjectToAdapt) {
super();
this._retrievalObjectToAdapt = retrievalObjectToAdapt;
}
/**
* @return int
*/
@Override
public int retrieveIntegerValue() {
return this._retrievalObjectToAdapt.getControlParameter();
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsLargerThanSecondDoubleComparator.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;
import org.springframework.stereotype.Service;
/**
* Comparator for FirstIsLargerThanSecondDouble
*/
@Service
public class FirstIsLargerThanSecondDoubleComparator {
/**
* @param dbFirstDoubleToCompare double
* @param dbSecondDoubleToCompare double
* @return boolean
*/
public boolean FirstIsLargerThanSecond(final double dbFirstDoubleToCompare, final double dbSecondDoubleToCompare) {
if (dbFirstDoubleToCompare > dbSecondDoubleToCompare) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsSmallerThanSecondDoubleComparator.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;
import org.springframework.stereotype.Service;
/**
* Comparator for FirstIsSmallerThanSecondDouble
*/
@Service
public class FirstIsSmallerThanSecondDoubleComparator {
/**
* @param dbFirstDoubleToCompare double
* @param dbSecondDoubleToCompare double
* @return boolean
*/
public boolean FirstIsSmallerThanSecond(final double dbFirstDoubleToCompare, final double dbSecondDoubleToCompare) {
if (dbFirstDoubleToCompare < dbSecondDoubleToCompare) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/IntegerForEqualityComparator.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;
import org.springframework.stereotype.Service;
/**
* Comparator for IntegerForEquality
*/
@Service
public final class IntegerForEqualityComparator {
private IntegerForEqualityComparator() {}
/**
* @param nFirstInteger int
* @param nSecondInteger int
* @return boolean
*/
public static boolean areTwoIntegersEqual(final int nFirstInteger, final int nSecondInteger) {
final ThreeWayIntegerComparisonResult comparisonResult =
ThreeWayIntegerComparator.Compare(nFirstInteger, nSecondInteger);
if (ThreeWayIntegerComparisonResult.FirstEqualsSecond == comparisonResult) {
return true;
} else {
return false;
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparator.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants;
/**
* Comparator for ThreeWayInteger
*/
@Service
public final class ThreeWayIntegerComparator {
private ThreeWayIntegerComparator() {}
/**
* @param nFirstInteger int
* @param nSecondInteger int
* @return ThreeWayIntegerComparisonResult
*/
public static ThreeWayIntegerComparisonResult Compare(final int nFirstInteger, final int nSecondInteger) {
if (nFirstInteger == nSecondInteger) {
return ThreeWayIntegerComparisonResult.FirstEqualsSecond;
} else if (nFirstInteger < nSecondInteger) {
return ThreeWayIntegerComparisonResult.FirstIsLessThanSecond;
} else if (nFirstInteger > nSecondInteger) {
return ThreeWayIntegerComparisonResult.FirstIsGreaterThanSecond;
} else {
// If the integers cannot be compared, then something is seriously wrong with the numbers.
throw new UnsupportedOperationException(Constants.THE_INTEGERS_COULD_NOT_BE_COMPARED);
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparisonResult.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;
/**
* ThreeWayIntegerComparisonResult
*/
public enum ThreeWayIntegerComparisonResult {
FirstIsLessThanSecond,
FirstEqualsSecond,
FirstIsGreaterThanSecond
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/BuzzStrategyConstants.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;
import org.springframework.stereotype.Service;
/**
* Constants for BuzzStrategy
*/
@Service
public final class BuzzStrategyConstants {
private BuzzStrategyConstants() {}
public static final int BUZZ_INTEGER_CONSTANT_VALUE = 5;
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/FizzStrategyConstants.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;
import org.springframework.stereotype.Service;
/**
* Constants for FizzStrategy
*/
@Service
public final class FizzStrategyConstants {
private FizzStrategyConstants() {}
public static final int FIZZ_INTEGER_CONSTANT_VALUE = 3;
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/NoFizzNoBuzzStrategyConstants.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;
import org.springframework.stereotype.Service;
/**
* Constants for NoFizzNoBuzzStrategy
*/
@Service
public final class NoFizzNoBuzzStrategyConstants {
private NoFizzNoBuzzStrategyConstants() {}
public static final int NO_BUZZ_INTEGER_CONSTANT_VALUE = BuzzStrategyConstants.BUZZ_INTEGER_CONSTANT_VALUE;
public static final int NO_FIZZ_INTEGER_CONSTANT_VALUE = FizzStrategyConstants.FIZZ_INTEGER_CONSTANT_VALUE;
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/DoubleToIntConverter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters;
import org.springframework.stereotype.Service;
/**
* Converter for DoubleToInt
*/
@Service
public final class DoubleToIntConverter {
private DoubleToIntConverter() {}
/**
* @param dbDoubleToConvert double
* @return int
*/
public static int Convert(final double dbDoubleToConvert) {
final int nConversionResult = (int) dbDoubleToConvert;
return nConversionResult;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/IntToDoubleConverter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverters;
import org.springframework.stereotype.Service;
/**
* Converter for IntToDouble
*/
@Service
public final class IntToDoubleConverter {
private IntToDoubleConverter() {}
/**
* @param nIntegerToConvert int
* @return double
*/
public static double Convert(final int nIntegerToConvert) {
final double dbConversionResult = (double) nIntegerToConvert;
return dbConversionResult;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/BuzzStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Returner for BuzzString
*/
@Service
public class BuzzStringReturner implements StringStringReturner {
/**
* @return String
*/
public String getReturnString() {
final StringBuilder myStringBuilder = new StringBuilder(
com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.BUZZ);
final String myString = myStringBuilder.toString();
return new String(myString);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/FizzStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Returner for FizzString
*/
@Service
public class FizzStringReturner implements StringStringReturner {
/**
* @return String
*/
public String getReturnString() {
final StringBuilder myStringBuilder = new StringBuilder(
com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.FIZZ);
final String myString = myStringBuilder.toString();
final char[] myCharacters = myString.toCharArray();
return new String(myCharacters, 0, myCharacters.length);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/IntegerIntegerStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;
/**
* Returner for IntegerIntegerString
*/
@Service
public class IntegerIntegerStringReturner implements IntegerStringReturner {
/**
* @param theInteger ing
* @return String
*/
public String getIntegerReturnString(final int theInteger) {
final Integer myIntegerToBeConvertedToString = new Integer(theInteger);
final StringBuilder myStringBuilder = new StringBuilder(myIntegerToBeConvertedToString.toString());
final String myResultingStringFromIntegerToStringConversion = myStringBuilder.toString();
return new String(myResultingStringFromIntegerToStringConversion);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/NewLineStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Returner for NewLineString
*/
@Service
public class NewLineStringReturner implements StringStringReturner {
/**
* @return
*/
public String getReturnString() {
final String systemDefaultNewLineString = System.getProperty(
com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.Constants.LINE_SEPARATOR);
final StringBuilder myStringBuilder = new StringBuilder(systemDefaultNewLineString);
final String myString = myStringBuilder.toString();
return new String(myString);
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContext.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;
/**
* Context for FizzBuzzOutputGeneration
*/
public final class FizzBuzzOutputGenerationContext implements OutputGenerationContext {
private final DataPrinter printer;
private final IsEvenlyDivisibleStrategy strategy;
/**
* @param strategy IsEvenlyDivisibleStrategy
* @param printer DataPrinter
*/
public FizzBuzzOutputGenerationContext(final IsEvenlyDivisibleStrategy strategy,
final DataPrinter printer) {
super();
this.strategy = strategy;
this.printer = printer;
}
/**
* @return
*/
@Override
public DataPrinter getPrinter() {
return this.printer;
}
/**
* @return
*/
@Override
public IsEvenlyDivisibleStrategy getStrategy() {
return this.strategy;
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContextVisitor.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
import org.springframework.stereotype.Service;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;
/**
* Visitor for FizzBuzzOutputGenerationContext
*/
@Service
public class FizzBuzzOutputGenerationContextVisitor implements
OutputGenerationContextVisitor {
/**
* @param context OutputGenerationContext
* @param nGenerationParameter int
*/
@Override
public void visit(final OutputGenerationContext context, final int nGenerationParameter) {
final IsEvenlyDivisibleStrategy strategy = context.getStrategy();
if (strategy.isEvenlyDivisible(nGenerationParameter)) {
final DataPrinter printer = context.getPrinter();
printer.printValue(new Integer(nGenerationParameter));
}
}
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/FizzBuzz.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces;
/**
* FizzBuzz
*/
public interface FizzBuzz {
/**
* @param nFizzBuzzUpperLimit
*/
void fizzBuzz(int nFizzBuzzUpperLimit);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzOutputStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzOutputStrategy;
/**
* Factory for FizzBuzzOutputStrategy
*/
public interface FizzBuzzOutputStrategyFactory {
/**
* @return
*/
public FizzBuzzOutputStrategy createOutputStrategy();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzSolutionStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.FizzBuzzSolutionStrategy;
/**
* Factory for FizzBuzzSolutionStrategy
*/
public interface FizzBuzzSolutionStrategyFactory {
/**
* @return
*/
public FizzBuzzSolutionStrategy createFizzBuzzSolutionStrategy();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;
/**
* Factory for IntegerPrinter
*/
public interface IntegerPrinterFactory {
/**
* @return
*/
public IntegerPrinter createPrinter();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.IntegerStringReturner;
/**
* Factory for IntegerStringReturner
*/
public interface IntegerStringReturnerFactory {
/**
* @return
*/
public IntegerStringReturner createIntegerStringReturner();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IsEvenlyDivisibleStrategyFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
/**
* Factory for IsEvenlyDivisibleStrategy
*/
public interface IsEvenlyDivisibleStrategyFactory {
/**
* @return
*/
public IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/OutputGenerationContextVisitorFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors.OutputGenerationContextVisitor;
/**
* Factory for OutputGenerationContextVisitor
*/
public interface OutputGenerationContextVisitorFactory {
/**
* @return
*/
public OutputGenerationContextVisitor createVisitor();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringPrinterFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;
/**
* Factory for StringPrinter
*/
public interface StringPrinterFactory {
/**
* @return
*/
public StringPrinter createStringPrinter();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringStringReturnerFactory.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners.StringStringReturner;
/**
* Factory for StringStringReturner
*/
public interface StringStringReturnerFactory {
/**
* @return
*/
public StringStringReturner createStringStringReturner();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateManipulation.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;
/**
* Manipulation for LoopContextState
*/
public interface LoopContextStateManipulation {
/**
* @return
*/
public void start();
/**
* @return
*/
public boolean shouldProceed();
/**
* @return
*/
public void proceed();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateRetrieval.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;
/**
* Retrieval for LoopContextState
*/
public interface LoopContextStateRetrieval {
/**
* @return
*/
public int getControlParameter();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopPayloadExecution.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;
/**
* Execution for LoopPayload
*/
public interface LoopPayloadExecution {
/**
* @param stateRetrieval
*/
public void runLoopPayload(LoopContextStateRetrieval stateRetrieval);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/parameters/FizzBuzzUpperLimitParameter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters;
/**
* Parameter for FizzBuzzUpperLimit
*/
public interface FizzBuzzUpperLimitParameter {
/**
* @return
*/
public int obtainUpperLimitValue();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/DataPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;
/**
* Printer for Data
*/
public interface DataPrinter {
/**
* @return
*/
public void print();
/**
* @param value
*/
public void printValue(Object value);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/IntegerPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;
/**
* Printer for Integer
*/
public interface IntegerPrinter extends DataPrinter {
/**
* @param theInteger
*/
public void printInteger(int theInteger);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/StringPrinter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;
/**
* Printer for String
*/
public interface StringPrinter extends DataPrinter {
/**
*
*/
public void print();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzExceptionSafeOutputStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
/**
* Strategy for FizzBuzzExceptionSafeOutput
*/
public interface FizzBuzzExceptionSafeOutputStrategy {
/**
* @param output
*/
public void output(String output);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzOutputStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
import java.io.IOException;
/**
* Strategy for FizzBuzzOutput
*/
public interface FizzBuzzOutputStrategy {
/**
* @param output
* @throws IOException
*/
public void output(String output) throws IOException;
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzSolutionStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
/**
* Strategy for FizzBuzzSolution
*/
public interface FizzBuzzSolutionStrategy {
/**
* @param nFizzBuzzUpperLimit
*/
public void runSolution(int nFizzBuzzUpperLimit);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/IsEvenlyDivisibleStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
/**
* Strategy for IsEvenlyDivisible
*/
public interface IsEvenlyDivisibleStrategy {
/**
* @param theInteger
* @return
*/
public boolean isEvenlyDivisible(int theInteger);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/OutputGenerationStrategy.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
/**
* Strategy for OutputGeneration
*/
public interface OutputGenerationStrategy {
/**
* @param generationParameter
*/
void performGenerationForCurrentStep(SingleStepOutputGenerationParameter generationParameter);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/SingleStepOutputGenerationParameter.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;
/**
* Parameter for SingleStepOutputGeneration
*/
public interface SingleStepOutputGenerationParameter {
/**
* @return
*/
public int retrieveIntegerValue();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/IntegerStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;
/**
* Returner for IntegerString
*/
public interface IntegerStringReturner {
/**
* @param theInteger
* @return
*/
public String getIntegerReturnString(int theInteger);
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/StringStringReturner.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;
/**
* Returner for StringString
*/
public interface StringStringReturner {
/**
* @return
*/
public String getReturnString();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContext.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.DataPrinter;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;
/**
* Context for OutputGeneration
*/
public interface OutputGenerationContext {
/**
* @return
*/
public IsEvenlyDivisibleStrategy getStrategy();
/**
* @return
*/
public DataPrinter getPrinter();
}
================================================
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContextVisitor.java
================================================
package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;
/**
* Visitor for OutputGenerationContext
*/
public interface OutputGenerationContextVisitor {
/**
* @param context
* @param nGenerationParameter
*/
public void visit(OutputGenerationContext context, int nGenerationParameter);
}
================================================
FILE: src/test/java/FizzBuzzTest.java
================================================
import static org.junit.Assert.assertEquals;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.FizzBuzz;
/**
* Tests for FizzBuzz
*/
public class FizzBuzzTest {
private PrintStream out;
private FizzBuzz fb;
/**
* @return void
*/
@Before
public void setUp() {
final ApplicationContext context = new ClassPathXmlApplicationContext(TestConstants.SPRING_XML);
this.fb = (FizzBuzz) context.getBean(TestConstants.STANDARD_FIZZ_BUZZ);
this.out = System.out;
((ConfigurableApplicationContext) context).close();
}
/**
* @return void
*/
@After
public void tearDown() {
System.setOut(this.out);
}
/**
* @param n int
* @param s String
* @throws IOException
*/
private void doFizzBuzz(final int n, final String s) throws IOException {
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final BufferedOutputStream bos = new BufferedOutputStream(baos);
System.setOut(new PrintStream(bos));
this.fb.fizzBuzz(n);
System.out.flush();
String platformDependentExpectedResult = s.replaceAll("\\n", System.getProperty("line.separator"));
assertEquals(platformDependentExpectedResult, baos.toString());
}
/**
* @throws IOException
* @return void
*/
@Test
public void testFizzBuzz() throws IOException {
this.doFizzBuzz(TestConstants.INT_1, TestConstants._1_);
this.doFizzBuzz(TestConstants.INT_2, TestConstants._1_2_);
this.doFizzBuzz(TestConstants.INT_3, TestConstants._1_2_FIZZ);
this.doFizzBuzz(TestConstants.INT_4, TestConstants._1_2_FIZZ_4);
this.doFizzBuzz(TestConstants.INT_5, TestConstants._1_2_FIZZ_4_BUZZ);
this.doFizzBuzz(TestConstants.INT_6, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ);
this.doFizzBuzz(TestConstants.INT_7, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7);
this.doFizzBuzz(TestConstants.INT_8, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8);
this.doFizzBuzz(TestConstants.INT_9, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ);
this.doFizzBuzz(TestConstants.INT_10, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ);
this.doFizzBuzz(TestConstants.INT_11, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11);
this.doFizzBuzz(TestConstants.INT_12, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ);
this.doFizzBuzz(TestConstants.INT_13, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13);
this.doFizzBuzz(TestConstants.INT_14, TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14);
this.doFizzBuzz(TestConstants.INT_15,
TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ);
this.doFizzBuzz(TestConstants.INT_16,
TestConstants._1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ_11_FIZZ_13_14_FIZZ_BUZZ_16);
}
}
================================================
FILE: src/test/java/TestConstants.java
================================================
/**
* Constants for FizzBuzz tests
*/
public class TestConstants {
private TestConstants() {
super();
}
static 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";
static 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";
static 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";
static 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";
static 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";
static 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";
static final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ_BUZZ = "1\n2\nFizz\n4\nBuzz\nFizz\n7\n8\nFizz\nBuzz\n";
static final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8_FIZZ = "1\n2\nFizz\n4\nBuzz\nFizz\n7\n8\nFizz\n";
static final String _1_2_FIZZ_4_BUZZ_FIZZ_7_8 = "1\n2\nFizz\n4\nBuzz\nFizz\n7\n8\n";
static final String _1_2_FIZZ_4_BUZZ_FIZZ_7 = "1\n2\nFizz\n4\nBuzz\nFizz\n7\n";
static final String _1_2_FIZZ_4_BUZZ_FIZZ = "1\n2\nFizz\n4\nBuzz\nFizz\n";
static final String _1_2_FIZZ_4_BUZZ = "1\n2\nFizz\n4\nBuzz\n";
static final String _1_2_FIZZ_4 = "1\n2\nFizz\n4\n";
static final String _1_2_FIZZ = "1\n2\nFizz\n";
static final String _1_2_ = "1\n2\n";
static final String _1_ = "1\n";
static final String STANDARD_FIZZ_BUZZ = "standardFizzBuzz";
static final String SPRING_XML = "spring.xml";
static final int INT_1 = 1;
static final int INT_2 = 2;
static final int INT_3 = 3;
static final int INT_4 = 4;
static final int INT_5 = 5;
static final int INT_6 = 6;
static final int INT_7 = 7;
static final int INT_8 = 8;
static final int INT_9 = 9;
static final int INT_10 = 10;
static final int INT_11 = 11;
static final int INT_12 = 12;
static final int INT_13 = 13;
static final int INT_14 = 14;
static final int INT_15 = 15;
static final int INT_16 = 16;
}
gitextract_0n90tvug/
├── .gitattributes
├── .gitignore
├── .travis.yml
├── CONTRIBUTING.md
├── README.md
├── build.gradle
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── pom.xml
├── resources/
│ └── assets/
│ └── configuration/
│ └── spring/
│ └── dependencyinjection/
│ └── configuration/
│ └── spring.xml
├── settings.gradle
└── src/
├── main/
│ └── java/
│ └── com/
│ └── seriouscompany/
│ └── business/
│ └── java/
│ └── fizzbuzz/
│ └── packagenamingpackage/
│ ├── impl/
│ │ ├── ApplicationContextHolder.java
│ │ ├── Constants.java
│ │ ├── Main.java
│ │ ├── StandardFizzBuzz.java
│ │ ├── factories/
│ │ │ ├── BuzzStrategyFactory.java
│ │ │ ├── BuzzStringPrinterFactory.java
│ │ │ ├── BuzzStringReturnerFactory.java
│ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategyFactory.java
│ │ │ ├── FizzBuzzOutputGenerationContextVisitorFactory.java
│ │ │ ├── FizzStrategyFactory.java
│ │ │ ├── FizzStringPrinterFactory.java
│ │ │ ├── FizzStringReturnerFactory.java
│ │ │ ├── IntegerIntegerPrinterFactory.java
│ │ │ ├── IntegerIntegerStringReturnerFactory.java
│ │ │ ├── LoopComponentFactory.java
│ │ │ ├── NewLineStringPrinterFactory.java
│ │ │ ├── NewLineStringReturnerFactory.java
│ │ │ ├── NoFizzNoBuzzStrategyFactory.java
│ │ │ └── SystemOutFizzBuzzOutputStrategyFactory.java
│ │ ├── loop/
│ │ │ ├── LoopCondition.java
│ │ │ ├── LoopContext.java
│ │ │ ├── LoopFinalizer.java
│ │ │ ├── LoopInitializer.java
│ │ │ ├── LoopRunner.java
│ │ │ └── LoopStep.java
│ │ ├── math/
│ │ │ └── arithmetics/
│ │ │ ├── IntegerDivider.java
│ │ │ └── NumberIsMultipleOfAnotherNumberVerifier.java
│ │ ├── parameters/
│ │ │ └── DefaultFizzBuzzUpperLimitParameter.java
│ │ ├── printers/
│ │ │ ├── BuzzPrinter.java
│ │ │ ├── BuzzStringPrinter.java
│ │ │ ├── FizzPrinter.java
│ │ │ ├── FizzStringPrinter.java
│ │ │ ├── IntegerIntegerPrinter.java
│ │ │ ├── IntegerPrinter.java
│ │ │ ├── NewLinePrinter.java
│ │ │ └── NewLineStringPrinter.java
│ │ ├── strategies/
│ │ │ ├── BuzzStrategy.java
│ │ │ ├── EnterpriseGradeFizzBuzzSolutionStrategy.java
│ │ │ ├── FizzStrategy.java
│ │ │ ├── NoFizzNoBuzzStrategy.java
│ │ │ ├── SingleStepOutputGenerationStrategy.java
│ │ │ ├── SingleStepPayload.java
│ │ │ ├── SystemOutFizzBuzzOutputStrategy.java
│ │ │ ├── adapters/
│ │ │ │ ├── FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java
│ │ │ │ └── LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java
│ │ │ ├── comparators/
│ │ │ │ ├── doublecomparator/
│ │ │ │ │ ├── FirstIsLargerThanSecondDoubleComparator.java
│ │ │ │ │ └── FirstIsSmallerThanSecondDoubleComparator.java
│ │ │ │ └── integercomparator/
│ │ │ │ ├── IntegerForEqualityComparator.java
│ │ │ │ ├── ThreeWayIntegerComparator.java
│ │ │ │ └── ThreeWayIntegerComparisonResult.java
│ │ │ ├── constants/
│ │ │ │ ├── BuzzStrategyConstants.java
│ │ │ │ ├── FizzStrategyConstants.java
│ │ │ │ └── NoFizzNoBuzzStrategyConstants.java
│ │ │ └── converters/
│ │ │ └── primitivetypesconverters/
│ │ │ ├── DoubleToIntConverter.java
│ │ │ └── IntToDoubleConverter.java
│ │ ├── stringreturners/
│ │ │ ├── BuzzStringReturner.java
│ │ │ ├── FizzStringReturner.java
│ │ │ ├── IntegerIntegerStringReturner.java
│ │ │ └── NewLineStringReturner.java
│ │ └── visitors/
│ │ ├── FizzBuzzOutputGenerationContext.java
│ │ └── FizzBuzzOutputGenerationContextVisitor.java
│ └── interfaces/
│ ├── FizzBuzz.java
│ ├── factories/
│ │ ├── FizzBuzzOutputStrategyFactory.java
│ │ ├── FizzBuzzSolutionStrategyFactory.java
│ │ ├── IntegerPrinterFactory.java
│ │ ├── IntegerStringReturnerFactory.java
│ │ ├── IsEvenlyDivisibleStrategyFactory.java
│ │ ├── OutputGenerationContextVisitorFactory.java
│ │ ├── StringPrinterFactory.java
│ │ └── StringStringReturnerFactory.java
│ ├── loop/
│ │ ├── LoopContextStateManipulation.java
│ │ ├── LoopContextStateRetrieval.java
│ │ └── LoopPayloadExecution.java
│ ├── parameters/
│ │ └── FizzBuzzUpperLimitParameter.java
│ ├── printers/
│ │ ├── DataPrinter.java
│ │ ├── IntegerPrinter.java
│ │ └── StringPrinter.java
│ ├── strategies/
│ │ ├── FizzBuzzExceptionSafeOutputStrategy.java
│ │ ├── FizzBuzzOutputStrategy.java
│ │ ├── FizzBuzzSolutionStrategy.java
│ │ ├── IsEvenlyDivisibleStrategy.java
│ │ ├── OutputGenerationStrategy.java
│ │ └── SingleStepOutputGenerationParameter.java
│ ├── stringreturners/
│ │ ├── IntegerStringReturner.java
│ │ └── StringStringReturner.java
│ └── visitors/
│ ├── OutputGenerationContext.java
│ └── OutputGenerationContextVisitor.java
└── test/
└── java/
├── FizzBuzzTest.java
└── TestConstants.java
SYMBOL INDEX (237 symbols across 89 files)
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/ApplicationContextHolder.java
class ApplicationContextHolder (line 11) | @Service
class ApplicationContextReferenceUpdater (line 19) | private static class ApplicationContextReferenceUpdater {
method updateApplicationContextReference (line 20) | void updateApplicationContextReference(final ApplicationContext appl...
class ApplicationContextReferenceUpdaterHolder (line 28) | private static class ApplicationContextReferenceUpdaterHolder {
method ApplicationContextHolder (line 32) | private ApplicationContextHolder() {
method setApplicationContext (line 40) | @Override
method getApplicationContext (line 48) | public static ApplicationContext getApplicationContext() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Constants.java
class Constants (line 6) | public class Constants {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Main.java
class Main (line 14) | public final class Main {
method main (line 19) | public static void main(final String[] args) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/StandardFizzBuzz.java
class StandardFizzBuzz (line 13) | @Service
method StandardFizzBuzz (line 21) | @Autowired
method fizzBuzz (line 30) | public void fizzBuzz(final int nFizzBuzzUpperLimit) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStrategyFactory.java
class BuzzStrategyFactory (line 13) | @Service
method BuzzStrategyFactory (line 21) | @Autowired
method createIsEvenlyDivisibleStrategy (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringPrinterFactory.java
class BuzzStringPrinterFactory (line 13) | @Service
method BuzzStringPrinterFactory (line 21) | @Autowired
method createStringPrinter (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringReturnerFactory.java
class BuzzStringReturnerFactory (line 13) | @Service
method BuzzStringReturnerFactory (line 21) | @Autowired
method createStringStringReturner (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/EnterpriseGradeFizzBuzzSolutionStrategyFactory.java
class EnterpriseGradeFizzBuzzSolutionStrategyFactory (line 12) | @Service
method EnterpriseGradeFizzBuzzSolutionStrategyFactory (line 20) | @Autowired
method createFizzBuzzSolutionStrategy (line 29) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzBuzzOutputGenerationContextVisitorFactory.java
class FizzBuzzOutputGenerationContextVisitorFactory (line 13) | @Service
method FizzBuzzOutputGenerationContextVisitorFactory (line 22) | @Autowired
method createVisitor (line 32) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStrategyFactory.java
class FizzStrategyFactory (line 13) | @Service
method FizzStrategyFactory (line 21) | @Autowired
method createIsEvenlyDivisibleStrategy (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringPrinterFactory.java
class FizzStringPrinterFactory (line 13) | @Service
method FizzStringPrinterFactory (line 21) | @Autowired
method createStringPrinter (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringReturnerFactory.java
class FizzStringReturnerFactory (line 13) | @Service
method FizzStringReturnerFactory (line 21) | @Autowired
method createStringStringReturner (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerPrinterFactory.java
class IntegerIntegerPrinterFactory (line 13) | @Service
method IntegerIntegerPrinterFactory (line 21) | @Autowired
method createPrinter (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerStringReturnerFactory.java
class IntegerIntegerStringReturnerFactory (line 13) | @Service
method IntegerIntegerStringReturnerFactory (line 22) | @Autowired
method createIntegerStringReturner (line 31) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/LoopComponentFactory.java
class LoopComponentFactory (line 14) | @Service
method LoopComponentFactory (line 28) | @Autowired
method createLoopCondition (line 40) | public LoopCondition createLoopCondition() {
method createLoopInitializer (line 47) | public LoopInitializer createLoopInitializer() {
method createLoopFinalizer (line 55) | public LoopFinalizer createLoopFinalizer(final int nLoopFinalValue) {
method createLoopStep (line 63) | public LoopStep createLoopStep() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringPrinterFactory.java
class NewLineStringPrinterFactory (line 13) | @Service
method NewLineStringPrinterFactory (line 21) | @Autowired
method createStringPrinter (line 30) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringReturnerFactory.java
class NewLineStringReturnerFactory (line 13) | @Service
method NewLineStringReturnerFactory (line 22) | @Autowired
method createStringStringReturner (line 31) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NoFizzNoBuzzStrategyFactory.java
class NoFizzNoBuzzStrategyFactory (line 13) | @Service
method NoFizzNoBuzzStrategyFactory (line 22) | @Autowired
method createIsEvenlyDivisibleStrategy (line 31) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/SystemOutFizzBuzzOutputStrategyFactory.java
class SystemOutFizzBuzzOutputStrategyFactory (line 13) | @Service
method SystemOutFizzBuzzOutputStrategyFactory (line 22) | @Autowired
method createOutputStrategy (line 31) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopCondition.java
class LoopCondition (line 11) | @Service
method evaluateLoop (line 19) | public boolean evaluateLoop(final int nCurrentNumber, final int nTotal...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopContext.java
class LoopContext (line 15) | public final class LoopContext implements LoopContextStateManipulation, ...
method LoopContext (line 26) | public LoopContext(final int nLoopControlParameterFinalValue) {
method start (line 41) | @Override
method shouldProceed (line 50) | @Override
method proceed (line 59) | @Override
method getControlParameter (line 68) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopFinalizer.java
class LoopFinalizer (line 6) | public final class LoopFinalizer {
method LoopFinalizer (line 13) | public LoopFinalizer(final int nLoopFinalValue) {
method getLoopFinalizationPoint (line 21) | public int getLoopFinalizationPoint() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopInitializer.java
class LoopInitializer (line 10) | @Service
method getLoopInitializationPoint (line 16) | public int getLoopInitializationPoint() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopRunner.java
class LoopRunner (line 10) | public final class LoopRunner {
method LoopRunner (line 21) | public LoopRunner(final LoopContextStateManipulation stateManipulation,
method runLoop (line 32) | public void runLoop() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopStep.java
class LoopStep (line 10) | @Service
method stepLoop (line 17) | public int stepLoop(final int nCurrentNumber) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/IntegerDivider.java
class IntegerDivider (line 16) | @Service
method IntegerDivider (line 26) | @Autowired
method divide (line 39) | public int divide(final int nFirstInteger, final int nSecondInteger) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/NumberIsMultipleOfAnotherNumberVerifier.java
class NumberIsMultipleOfAnotherNumberVerifier (line 15) | @Service
method init (line 26) | @PostConstruct
method numberIsMultipleOfAnotherNumber (line 38) | public static boolean numberIsMultipleOfAnotherNumber(final int nFirst...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/parameters/DefaultFizzBuzzUpperLimitParameter.java
class DefaultFizzBuzzUpperLimitParameter (line 9) | public final class DefaultFizzBuzzUpperLimitParameter implements FizzBuz...
method DefaultFizzBuzzUpperLimitParameter (line 16) | public DefaultFizzBuzzUpperLimitParameter() {
method DefaultFizzBuzzUpperLimitParameter (line 24) | public DefaultFizzBuzzUpperLimitParameter(final int fizzBuzzUpperLimit...
method obtainUpperLimitValue (line 32) | public int obtainUpperLimitValue() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzPrinter.java
class BuzzPrinter (line 11) | @Service
method BuzzPrinter (line 19) | @Autowired
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzStringPrinter.java
class BuzzStringPrinter (line 15) | @Service
method BuzzStringPrinter (line 26) | @Autowired
method print (line 37) | public void print() {
method printValue (line 51) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzPrinter.java
class FizzPrinter (line 11) | @Service
method FizzPrinter (line 19) | @Autowired
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzStringPrinter.java
class FizzStringPrinter (line 15) | @Service
method FizzStringPrinter (line 26) | @Autowired
method print (line 37) | public void print() {
method printValue (line 50) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerIntegerPrinter.java
class IntegerIntegerPrinter (line 15) | @Service
method IntegerIntegerPrinter (line 26) | @Autowired
method printInteger (line 37) | public void printInteger(final int theInteger) {
method print (line 51) | @Override
method printValue (line 60) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerPrinter.java
class IntegerPrinter (line 11) | @Service
method IntegerPrinter (line 19) | @Autowired
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLinePrinter.java
class NewLinePrinter (line 11) | @Service
method NewLinePrinter (line 19) | @Autowired
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLineStringPrinter.java
class NewLineStringPrinter (line 15) | @Service
method NewLineStringPrinter (line 26) | @Autowired
method print (line 37) | public void print() {
method printValue (line 51) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/BuzzStrategy.java
class BuzzStrategy (line 12) | @Service
method isEvenlyDivisible (line 19) | public boolean isEvenlyDivisible(final int theInteger) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/EnterpriseGradeFizzBuzzSolutionStrategy.java
class EnterpriseGradeFizzBuzzSolutionStrategy (line 14) | @Service
method EnterpriseGradeFizzBuzzSolutionStrategy (line 22) | @Autowired
method runSolution (line 32) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/FizzStrategy.java
class FizzStrategy (line 12) | @Service
method isEvenlyDivisible (line 19) | public boolean isEvenlyDivisible(final int theInteger) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/NoFizzNoBuzzStrategy.java
class NoFizzNoBuzzStrategy (line 12) | @Service
method isEvenlyDivisible (line 19) | public boolean isEvenlyDivisible(final int theInteger) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepOutputGenerationStrategy.java
class SingleStepOutputGenerationStrategy (line 21) | @Service
method SingleStepOutputGenerationStrategy (line 38) | @Autowired
method performGenerationForCurrentStep (line 66) | public void performGenerationForCurrentStep(final SingleStepOutputGene...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepPayload.java
class SingleStepPayload (line 14) | @Service
method SingleStepPayload (line 22) | @Autowired
method runLoopPayload (line 32) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SystemOutFizzBuzzOutputStrategy.java
class SystemOutFizzBuzzOutputStrategy (line 12) | @Service
method output (line 20) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java
class FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter (line 9) | public final class FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputSt...
method FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter (line 16) | public FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdap...
method output (line 24) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java
class LoopContextStateRetrievalToSingleStepOutputGenerationAdapter (line 9) | public final class LoopContextStateRetrievalToSingleStepOutputGeneration...
method LoopContextStateRetrievalToSingleStepOutputGenerationAdapter (line 16) | public LoopContextStateRetrievalToSingleStepOutputGenerationAdapter(fi...
method retrieveIntegerValue (line 25) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsLargerThanSecondDoubleComparator.java
class FirstIsLargerThanSecondDoubleComparator (line 8) | @Service
method FirstIsLargerThanSecond (line 16) | public boolean FirstIsLargerThanSecond(final double dbFirstDoubleToCo...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsSmallerThanSecondDoubleComparator.java
class FirstIsSmallerThanSecondDoubleComparator (line 8) | @Service
method FirstIsSmallerThanSecond (line 16) | public boolean FirstIsSmallerThanSecond(final double dbFirstDoubleToC...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/IntegerForEqualityComparator.java
class IntegerForEqualityComparator (line 8) | @Service
method IntegerForEqualityComparator (line 11) | private IntegerForEqualityComparator() {}
method areTwoIntegersEqual (line 18) | public static boolean areTwoIntegersEqual(final int nFirstInteger, fin...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparator.java
class ThreeWayIntegerComparator (line 10) | @Service
method ThreeWayIntegerComparator (line 13) | private ThreeWayIntegerComparator() {}
method Compare (line 20) | public static ThreeWayIntegerComparisonResult Compare(final int nFirst...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparisonResult.java
type ThreeWayIntegerComparisonResult (line 6) | public enum ThreeWayIntegerComparisonResult {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/BuzzStrategyConstants.java
class BuzzStrategyConstants (line 8) | @Service
method BuzzStrategyConstants (line 11) | private BuzzStrategyConstants() {}
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/FizzStrategyConstants.java
class FizzStrategyConstants (line 8) | @Service
method FizzStrategyConstants (line 11) | private FizzStrategyConstants() {}
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/NoFizzNoBuzzStrategyConstants.java
class NoFizzNoBuzzStrategyConstants (line 8) | @Service
method NoFizzNoBuzzStrategyConstants (line 11) | private NoFizzNoBuzzStrategyConstants() {}
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/DoubleToIntConverter.java
class DoubleToIntConverter (line 8) | @Service
method DoubleToIntConverter (line 11) | private DoubleToIntConverter() {}
method Convert (line 17) | public static int Convert(final double dbDoubleToConvert) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/IntToDoubleConverter.java
class IntToDoubleConverter (line 8) | @Service
method IntToDoubleConverter (line 11) | private IntToDoubleConverter() {}
method Convert (line 17) | public static double Convert(final int nIntegerToConvert) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/BuzzStringReturner.java
class BuzzStringReturner (line 10) | @Service
method getReturnString (line 16) | public String getReturnString() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/FizzStringReturner.java
class FizzStringReturner (line 10) | @Service
method getReturnString (line 16) | public String getReturnString() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/IntegerIntegerStringReturner.java
class IntegerIntegerStringReturner (line 10) | @Service
method getIntegerReturnString (line 17) | public String getIntegerReturnString(final int theInteger) {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/NewLineStringReturner.java
class NewLineStringReturner (line 10) | @Service
method getReturnString (line 16) | public String getReturnString() {
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContext.java
class FizzBuzzOutputGenerationContext (line 10) | public final class FizzBuzzOutputGenerationContext implements OutputGene...
method FizzBuzzOutputGenerationContext (line 19) | public FizzBuzzOutputGenerationContext(final IsEvenlyDivisibleStrategy...
method getPrinter (line 29) | @Override
method getStrategy (line 37) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContextVisitor.java
class FizzBuzzOutputGenerationContextVisitor (line 13) | @Service
method visit (line 21) | @Override
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/FizzBuzz.java
type FizzBuzz (line 6) | public interface FizzBuzz {
method fizzBuzz (line 11) | void fizzBuzz(int nFizzBuzzUpperLimit);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzOutputStrategyFactory.java
type FizzBuzzOutputStrategyFactory (line 8) | public interface FizzBuzzOutputStrategyFactory {
method createOutputStrategy (line 13) | public FizzBuzzOutputStrategy createOutputStrategy();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzSolutionStrategyFactory.java
type FizzBuzzSolutionStrategyFactory (line 8) | public interface FizzBuzzSolutionStrategyFactory {
method createFizzBuzzSolutionStrategy (line 13) | public FizzBuzzSolutionStrategy createFizzBuzzSolutionStrategy();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerPrinterFactory.java
type IntegerPrinterFactory (line 8) | public interface IntegerPrinterFactory {
method createPrinter (line 13) | public IntegerPrinter createPrinter();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerStringReturnerFactory.java
type IntegerStringReturnerFactory (line 8) | public interface IntegerStringReturnerFactory {
method createIntegerStringReturner (line 13) | public IntegerStringReturner createIntegerStringReturner();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IsEvenlyDivisibleStrategyFactory.java
type IsEvenlyDivisibleStrategyFactory (line 8) | public interface IsEvenlyDivisibleStrategyFactory {
method createIsEvenlyDivisibleStrategy (line 13) | public IsEvenlyDivisibleStrategy createIsEvenlyDivisibleStrategy();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/OutputGenerationContextVisitorFactory.java
type OutputGenerationContextVisitorFactory (line 8) | public interface OutputGenerationContextVisitorFactory {
method createVisitor (line 13) | public OutputGenerationContextVisitor createVisitor();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringPrinterFactory.java
type StringPrinterFactory (line 8) | public interface StringPrinterFactory {
method createStringPrinter (line 13) | public StringPrinter createStringPrinter();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringStringReturnerFactory.java
type StringStringReturnerFactory (line 8) | public interface StringStringReturnerFactory {
method createStringStringReturner (line 13) | public StringStringReturner createStringStringReturner();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateManipulation.java
type LoopContextStateManipulation (line 6) | public interface LoopContextStateManipulation {
method start (line 11) | public void start();
method shouldProceed (line 16) | public boolean shouldProceed();
method proceed (line 21) | public void proceed();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateRetrieval.java
type LoopContextStateRetrieval (line 6) | public interface LoopContextStateRetrieval {
method getControlParameter (line 11) | public int getControlParameter();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopPayloadExecution.java
type LoopPayloadExecution (line 6) | public interface LoopPayloadExecution {
method runLoopPayload (line 11) | public void runLoopPayload(LoopContextStateRetrieval stateRetrieval);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/parameters/FizzBuzzUpperLimitParameter.java
type FizzBuzzUpperLimitParameter (line 6) | public interface FizzBuzzUpperLimitParameter {
method obtainUpperLimitValue (line 11) | public int obtainUpperLimitValue();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/DataPrinter.java
type DataPrinter (line 6) | public interface DataPrinter {
method print (line 11) | public void print();
method printValue (line 16) | public void printValue(Object value);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/IntegerPrinter.java
type IntegerPrinter (line 6) | public interface IntegerPrinter extends DataPrinter {
method printInteger (line 11) | public void printInteger(int theInteger);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/StringPrinter.java
type StringPrinter (line 6) | public interface StringPrinter extends DataPrinter {
method print (line 11) | public void print();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzExceptionSafeOutputStrategy.java
type FizzBuzzExceptionSafeOutputStrategy (line 6) | public interface FizzBuzzExceptionSafeOutputStrategy {
method output (line 11) | public void output(String output);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzOutputStrategy.java
type FizzBuzzOutputStrategy (line 8) | public interface FizzBuzzOutputStrategy {
method output (line 14) | public void output(String output) throws IOException;
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzSolutionStrategy.java
type FizzBuzzSolutionStrategy (line 6) | public interface FizzBuzzSolutionStrategy {
method runSolution (line 11) | public void runSolution(int nFizzBuzzUpperLimit);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/IsEvenlyDivisibleStrategy.java
type IsEvenlyDivisibleStrategy (line 6) | public interface IsEvenlyDivisibleStrategy {
method isEvenlyDivisible (line 12) | public boolean isEvenlyDivisible(int theInteger);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/OutputGenerationStrategy.java
type OutputGenerationStrategy (line 6) | public interface OutputGenerationStrategy {
method performGenerationForCurrentStep (line 11) | void performGenerationForCurrentStep(SingleStepOutputGenerationParamet...
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/SingleStepOutputGenerationParameter.java
type SingleStepOutputGenerationParameter (line 6) | public interface SingleStepOutputGenerationParameter {
method retrieveIntegerValue (line 11) | public int retrieveIntegerValue();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/IntegerStringReturner.java
type IntegerStringReturner (line 6) | public interface IntegerStringReturner {
method getIntegerReturnString (line 12) | public String getIntegerReturnString(int theInteger);
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/StringStringReturner.java
type StringStringReturner (line 6) | public interface StringStringReturner {
method getReturnString (line 11) | public String getReturnString();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContext.java
type OutputGenerationContext (line 9) | public interface OutputGenerationContext {
method getStrategy (line 14) | public IsEvenlyDivisibleStrategy getStrategy();
method getPrinter (line 19) | public DataPrinter getPrinter();
FILE: src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContextVisitor.java
type OutputGenerationContextVisitor (line 6) | public interface OutputGenerationContextVisitor {
method visit (line 12) | public void visit(OutputGenerationContext context, int nGenerationPara...
FILE: src/test/java/FizzBuzzTest.java
class FizzBuzzTest (line 20) | public class FizzBuzzTest {
method setUp (line 28) | @Before
method tearDown (line 39) | @After
method doFizzBuzz (line 49) | private void doFizzBuzz(final int n, final String s) throws IOException {
method testFizzBuzz (line 65) | @Test
FILE: src/test/java/TestConstants.java
class TestConstants (line 4) | public class TestConstants {
method TestConstants (line 6) | private TestConstants() {
Condensed preview — 102 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (123K chars).
[
{
"path": ".gitattributes",
"chars": 483,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs diff=csharp\n*.sln"
},
{
"path": ".gitignore",
"chars": 2136,
"preview": "#################\n## Eclipse\n#################\n\n*.pydevproject\n.project\n.metadata\nbin/\ntmp/\n*.tmp\n*.bak\n*.swp\n*~.nib\nloc"
},
{
"path": ".travis.yml",
"chars": 113,
"preview": "language: java\nbefore_install: sudo pip install codecov\nafter_success: codecov\n\njdk:\n - oraclejdk7\n - openjdk7\n"
},
{
"path": "CONTRIBUTING.md",
"chars": 1577,
"preview": "# Contributor Code of Conduct\n\nAs contributors and maintainers of this project, we pledge to respect all people who cont"
},
{
"path": "README.md",
"chars": 1687,
"preview": "# FizzBuzzEnterpriseEdition\n\n[![Build status][Build status image]][Build status URL] [\n}\n\nsourceSets {\n main {\n java {"
},
{
"path": "gradle/wrapper/gradle-wrapper.properties",
"chars": 230,
"preview": "#Fri Oct 30 12:59:42 CET 2015\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_"
},
{
"path": "gradlew",
"chars": 4971,
"preview": "#!/usr/bin/env bash\n\n##############################################################################\n##\n## Gradle start "
},
{
"path": "gradlew.bat",
"chars": 2314,
"preview": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem "
},
{
"path": "pom.xml",
"chars": 3124,
"preview": "<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:schemaLoc"
},
{
"path": "resources/assets/configuration/spring/dependencyinjection/configuration/spring.xml",
"chars": 734,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<beans xmlns=\"http://www.springframework.org/schema/beans\"\n xmlns:xsi=\"http://"
},
{
"path": "settings.gradle",
"chars": 47,
"preview": "rootProject.name = 'FizzBuzzEnterpriseEdition'\n"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/ApplicationContextHolder.java",
"chars": 1465,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.beans.BeansExce"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Constants.java",
"chars": 1220,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\n/**\n * Constants\n */\npublic class Constant"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/Main.java",
"chars": 1139,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.context.Applica"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/StandardFizzBuzz.java",
"chars": 1239,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport org.springframework.beans.factory.a"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStrategyFactory.java",
"chars": 1033,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringPrinterFactory.java",
"chars": 1043,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/BuzzStringReturnerFactory.java",
"chars": 1124,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/EnterpriseGradeFizzBuzzSolutionStrategyFactory.java",
"chars": 1137,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzBuzzOutputGenerationContextVisitorFactory.java",
"chars": 1401,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStrategyFactory.java",
"chars": 1054,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringPrinterFactory.java",
"chars": 1043,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/FizzStringReturnerFactory.java",
"chars": 1112,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerPrinterFactory.java",
"chars": 1101,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/IntegerIntegerStringReturnerFactory.java",
"chars": 1250,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/LoopComponentFactory.java",
"chars": 1775,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringPrinterFactory.java",
"chars": 1082,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NewLineStringReturnerFactory.java",
"chars": 1153,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/NoFizzNoBuzzStrategyFactory.java",
"chars": 1160,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/factories/SystemOutFizzBuzzOutputStrategyFactory.java",
"chars": 1276,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories;\n\nimport org.springframework.beans"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopCondition.java",
"chars": 1021,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopContext.java",
"chars": 2458,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.context.Ap"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopFinalizer.java",
"chars": 452,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\n/**\n * LoopFinalizer\n */\npublic final"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopInitializer.java",
"chars": 398,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopRunner.java",
"chars": 1338,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport com.seriouscompany.business.ja"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/loop/LoopStep.java",
"chars": 435,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop;\n\nimport org.springframework.stereotype"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/IntegerDivider.java",
"chars": 3142,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;\n\nimport org.springframewor"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/math/arithmetics/NumberIsMultipleOfAnotherNumberVerifier.java",
"chars": 1732,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.math.arithmetics;\n\nimport com.seriouscompany"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/parameters/DefaultFizzBuzzUpperLimitParameter.java",
"chars": 1028,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.parameters;\n\nimport com.seriouscompany.busin"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzPrinter.java",
"chars": 773,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/BuzzStringPrinter.java",
"chars": 2048,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzPrinter.java",
"chars": 773,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/FizzStringPrinter.java",
"chars": 2203,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerIntegerPrinter.java",
"chars": 2746,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/IntegerPrinter.java",
"chars": 783,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLinePrinter.java",
"chars": 783,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/printers/NewLineStringPrinter.java",
"chars": 2305,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.printers;\n\nimport org.springframework.beans."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/BuzzStrategy.java",
"chars": 929,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.ster"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/EnterpriseGradeFizzBuzzSolutionStrategy.java",
"chars": 1409,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.bean"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/FizzStrategy.java",
"chars": 929,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.ster"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/NoFizzNoBuzzStrategy.java",
"chars": 1543,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.ster"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepOutputGenerationStrategy.java",
"chars": 3809,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport java.util.ArrayList;\nimp"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SingleStepPayload.java",
"chars": 1510,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport org.springframework.bean"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/SystemOutFizzBuzzOutputStrategy.java",
"chars": 638,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies;\n\nimport java.io.IOException;\n\nim"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/FizzBuzzOutputStrategyToFizzBuzzExceptionSafeOutputStrategyAdapter.java",
"chars": 1324,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;\n\nimport com.seriouscomp"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/adapters/LoopContextStateRetrievalToSingleStepOutputGenerationAdapter.java",
"chars": 1026,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.adapters;\n\nimport com.seriouscomp"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsLargerThanSecondDoubleComparator.java",
"chars": 630,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;\n\nim"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/doublecomparator/FirstIsSmallerThanSecondDoubleComparator.java",
"chars": 632,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.doublecomparator;\n\nim"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/IntegerForEqualityComparator.java",
"chars": 762,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\ni"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparator.java",
"chars": 1149,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\ni"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/comparators/integercomparator/ThreeWayIntegerComparisonResult.java",
"chars": 280,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.comparators.integercomparator;\n\n/"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/BuzzStrategyConstants.java",
"chars": 336,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springfram"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/FizzStrategyConstants.java",
"chars": 336,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springfram"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/constants/NoFizzNoBuzzStrategyConstants.java",
"chars": 520,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.constants;\n\nimport org.springfram"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/DoubleToIntConverter.java",
"chars": 512,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverte"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/strategies/converters/primitivetypesconverters/IntToDoubleConverter.java",
"chars": 520,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.strategies.converters.primitivetypesconverte"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/BuzzStringReturner.java",
"chars": 676,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/FizzStringReturner.java",
"chars": 758,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/IntegerIntegerStringReturner.java",
"chars": 855,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/stringreturners/NewLineStringReturner.java",
"chars": 777,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.stringreturners;\n\nimport org.springframework"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContext.java",
"chars": 1128,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;\n\nimport com.seriouscompany.busines"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl/visitors/FizzBuzzOutputGenerationContextVisitor.java",
"chars": 1197,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.visitors;\n\nimport com.seriouscompany.busines"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/FizzBuzz.java",
"chars": 218,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces;\n\n/**\n * FizzBuzz\n */\npublic interface"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzOutputStrategyFactory.java",
"chars": 387,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/FizzBuzzSolutionStrategyFactory.java",
"chars": 405,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerPrinterFactory.java",
"chars": 346,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IntegerStringReturnerFactory.java",
"chars": 395,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/IsEvenlyDivisibleStrategyFactory.java",
"chars": 410,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/OutputGenerationContextVisitorFactory.java",
"chars": 410,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringPrinterFactory.java",
"chars": 348,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/factories/StringStringReturnerFactory.java",
"chars": 390,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories;\n\nimport com.seriouscompany."
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateManipulation.java",
"chars": 333,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Manipulation for LoopCon"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopContextStateRetrieval.java",
"chars": 237,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Retrieval for LoopContex"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/loop/LoopPayloadExecution.java",
"chars": 277,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.loop;\n\n/**\n * Execution for LoopPayloa"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/parameters/FizzBuzzUpperLimitParameter.java",
"chars": 249,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.parameters;\n\n/**\n * Parameter for Fizz"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/DataPrinter.java",
"chars": 267,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for Data\n */"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/IntegerPrinter.java",
"chars": 257,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for Integer\n"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/printers/StringPrinter.java",
"chars": 216,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers;\n\n/**\n * Printer for String\n "
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzExceptionSafeOutputStrategy.java",
"chars": 270,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for FizzB"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzOutputStrategy.java",
"chars": 316,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\nimport java.io.IOExceptio"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/FizzBuzzSolutionStrategy.java",
"chars": 276,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for FizzB"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/IsEvenlyDivisibleStrategy.java",
"chars": 281,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for IsEve"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/OutputGenerationStrategy.java",
"chars": 321,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Strategy for Outpu"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/strategies/SingleStepOutputGenerationParameter.java",
"chars": 264,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies;\n\n/**\n * Parameter for Sing"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/IntegerStringReturner.java",
"chars": 282,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;\n\n/**\n * Returner for "
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/stringreturners/StringStringReturner.java",
"chars": 237,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.stringreturners;\n\n/**\n * Returner for "
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContext.java",
"chars": 531,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;\n\nimport com.seriouscompany.b"
},
{
"path": "src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/interfaces/visitors/OutputGenerationContextVisitor.java",
"chars": 334,
"preview": "package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.visitors;\n\n/**\n * Visitor for OutputGe"
},
{
"path": "src/test/java/FizzBuzzTest.java",
"chars": 3091,
"preview": "import static org.junit.Assert.assertEquals;\n\nimport java.io.BufferedOutputStream;\nimport java.io.ByteArrayOutputStream;"
},
{
"path": "src/test/java/TestConstants.java",
"chars": 2233,
"preview": "/**\n * Constants for FizzBuzz tests\n */\npublic class TestConstants {\n\n\tprivate TestConstants() {\n\t\tsuper();\n\t}\n\n\tstatic "
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the EnterpriseQualityCoding/FizzBuzzEnterpriseEdition GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 102 files (100.8 KB), approximately 28.9k tokens, and a symbol index with 237 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.