├── .github ├── dependabot.yml └── workflows │ └── gradle.yml ├── .gitignore ├── CLAUDE.md ├── README.md ├── client ├── build.gradle └── src │ └── main │ └── java │ ├── com │ └── kousenit │ │ └── clients │ │ └── Main.java │ └── module-info.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── output.txt ├── server ├── build.gradle └── src │ ├── main │ └── java │ │ ├── com │ │ └── oreilly │ │ │ └── suppliers │ │ │ └── NamesSupplier.java │ │ └── module-info.java │ └── test │ └── java │ └── com │ └── oreilly │ └── suppliers │ └── NamesSupplierTest.java ├── settings.gradle └── src ├── main ├── java │ ├── com │ │ └── kousenit │ │ │ └── recipes │ │ │ ├── DiamondOperator.java │ │ │ ├── collections │ │ │ ├── Holder.java │ │ │ └── MapDemo.java │ │ │ ├── collectors │ │ │ ├── Department.java │ │ │ ├── Developer.java │ │ │ ├── Employee.java │ │ │ ├── GroupByDepartment.java │ │ │ ├── GroupByTasks.java │ │ │ └── Task.java │ │ │ ├── datetime │ │ │ └── DateRange.java │ │ │ ├── generics │ │ │ └── SafeVaragsDemo.java │ │ │ ├── http │ │ │ ├── AstroClient.java │ │ │ ├── JokeClient.java │ │ │ └── JokeResponse.java │ │ │ ├── interfaces │ │ │ ├── PrivateDemo.java │ │ │ └── SumNumbers.java │ │ │ ├── optional │ │ │ ├── Customer.java │ │ │ ├── CustomerDAO.java │ │ │ └── UseCustomerDAO.java │ │ │ ├── processes │ │ │ └── ProcessDemo.java │ │ │ ├── streams │ │ │ ├── RunDemo.java │ │ │ └── TakeWhileDemo.java │ │ │ └── walker │ │ │ └── StackWalkerDemo.java │ └── module-info.java └── resources │ └── myfile.txt └── test └── java └── com └── kousenit └── recipes ├── collections ├── ImmutableCollectionsTest.java └── ImmutableMapTest.java ├── datetime └── DateRangeTest.java ├── generics └── SafeVaragsDemoTest.java ├── http ├── AstroClientTest.java └── JokeClientTest.java ├── interfaces ├── PrivateDemoTest.java └── SumNumbersTest.java ├── lvti └── VarTypeTest.java └── streams └── StreamTests.java /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/gradle.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/.github/workflows/gradle.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/.gitignore -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/README.md -------------------------------------------------------------------------------- /client/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/client/build.gradle -------------------------------------------------------------------------------- /client/src/main/java/com/kousenit/clients/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/client/src/main/java/com/kousenit/clients/Main.java -------------------------------------------------------------------------------- /client/src/main/java/module-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/client/src/main/java/module-info.java -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | javaVersion=17 -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/gradlew.bat -------------------------------------------------------------------------------- /output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/output.txt -------------------------------------------------------------------------------- /server/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/server/build.gradle -------------------------------------------------------------------------------- /server/src/main/java/com/oreilly/suppliers/NamesSupplier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/server/src/main/java/com/oreilly/suppliers/NamesSupplier.java -------------------------------------------------------------------------------- /server/src/main/java/module-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/server/src/main/java/module-info.java -------------------------------------------------------------------------------- /server/src/test/java/com/oreilly/suppliers/NamesSupplierTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/server/src/test/java/com/oreilly/suppliers/NamesSupplierTest.java -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/settings.gradle -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/DiamondOperator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/DiamondOperator.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collections/Holder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collections/Holder.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collections/MapDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collections/MapDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/Department.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/Department.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/Developer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/Developer.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/Employee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/Employee.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/GroupByDepartment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/GroupByDepartment.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/GroupByTasks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/GroupByTasks.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/collectors/Task.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/collectors/Task.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/datetime/DateRange.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/datetime/DateRange.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/generics/SafeVaragsDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/generics/SafeVaragsDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/http/AstroClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/http/AstroClient.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/http/JokeClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/http/JokeClient.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/http/JokeResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/http/JokeResponse.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/interfaces/PrivateDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/interfaces/PrivateDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/interfaces/SumNumbers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/interfaces/SumNumbers.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/optional/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/optional/Customer.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/optional/CustomerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/optional/CustomerDAO.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/optional/UseCustomerDAO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/optional/UseCustomerDAO.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/processes/ProcessDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/processes/ProcessDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/streams/RunDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/streams/RunDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/streams/TakeWhileDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/streams/TakeWhileDemo.java -------------------------------------------------------------------------------- /src/main/java/com/kousenit/recipes/walker/StackWalkerDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/com/kousenit/recipes/walker/StackWalkerDemo.java -------------------------------------------------------------------------------- /src/main/java/module-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/main/java/module-info.java -------------------------------------------------------------------------------- /src/main/resources/myfile.txt: -------------------------------------------------------------------------------- 1 | This is a file 2 | with multiple lines 3 | for demo purposes -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/collections/ImmutableCollectionsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/collections/ImmutableCollectionsTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/collections/ImmutableMapTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/collections/ImmutableMapTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/datetime/DateRangeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/datetime/DateRangeTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/generics/SafeVaragsDemoTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/generics/SafeVaragsDemoTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/http/AstroClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/http/AstroClientTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/http/JokeClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/http/JokeClientTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/interfaces/PrivateDemoTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/interfaces/PrivateDemoTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/interfaces/SumNumbersTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/interfaces/SumNumbersTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/lvti/VarTypeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/lvti/VarTypeTest.java -------------------------------------------------------------------------------- /src/test/java/com/kousenit/recipes/streams/StreamTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kousen/java_9_recipes/HEAD/src/test/java/com/kousenit/recipes/streams/StreamTests.java --------------------------------------------------------------------------------