Extend and enhance your Java applications with domain-specific scripting in GroovyAbout This BookBuild domain-specific mini languages in Groovy that integrate seamlessly with your Java apps with this hands-on guideIncrease stakeholder participation in the development process with domain-specific scripting in GroovyGet up to speed with the newest features in Groovy using this second edition and integrate Groovy-based DSLs into your existing Java applications.Who This Book Is ForThis book is for Java software developers who have an interest in building domain scripting into their Java applications. No knowledge of Groovy is required, although it will be helpful. This book does not teach Groovy, but quickly introduces the basic ideas of Groovy. An experienced Java developer should have no problems with these and move quickly on to the more involved aspects of creating DSLs with Groovy. No experience of creating a DSL is required.What You Will LearnFamiliarize yourself with Groovy scripting and work with Groovy closuresUse the meta-programming features in Groovy to build mini languagesEmploy Groovy mark-up and builders to simplify application developmentFamiliarize yourself with Groovy mark-up and build your own Groovy buildersBuild effective DSLs with operator overloading, command chains, builders, and a host of other Groovy language featuresIntegrate Groovy with your Java and JVM based applicationsIn DetailThe times when developing on the JVM meant you were a Java programmer have long passed. The JVM is now firmly established as a polyglot development environment with many projects opting for alternative development languages to Java such as Groovy, Scala, Clojure, and JRuby. In this pantheon of development languages, Groovy stands out for its excellent DSL enabling features which allows it to be manipulated to produce mini languages that are tailored to a project's needs.A comprehensive tutorial on designing and developing mini Groovy based Domain Specific Languages, this book will guide you through the development of several mini DSLs that will help you gain all the skills needed to develop your own Groovy based DSLs with confidence and ease.Starting with the bare basics, this book will focus on how Groovy can be used to construct domain specific mini languages, and will go through the more complex meta-programming features of Groovy, including using the Abstract Syntax Tree (AST). Practical examples are used throughout this book to de-mystify these seemingly complex language features and to show how they can be used to create simple and elegant DSLs. Packed with examples, including several fully worked DSLs, this book will serve as a springboard for developing your own DSLs.Style and approachThis book is a hands-on guide that will walk you through examples for building DSLs with Groovy rather than just talking about "metaprogramming with Groovy". The examples in this book have been designed to help you gain a good working knowledge of the techniques involved and apply these to producing your own Groovy based DSLs.