In the last chapter, we started developing an e-commerce application and we created the functionality to look up products based on their ID and, also, on the basis of several parameters. In this chapter, we will extend this functionality so that we can also order the products we selected. While doing so, we will learn new technologies, focusing on functional programming in Java and on some other language features, such as reflection and annotation handling during runtime, and a scripting interface.
As we did in the previous chapters, we will develop the application step by step. As we discover the newly learned technologies, we will refactor the code to enroll the new tools and methods to produce more readable and effective code. We will also mimic the development of real-life projects in the sense that, at the start, we will have simple requirements...