Groovy 2 Cookbook

Java and Groovy go together like ham and eggs, and this book is a great opportunity to learn how to exploit Groovy 2 to the full. Packed with recipes, both intermediate and advanced, it’s a great way to speed up and modernize your programming.

Groovy 2 Cookbook

Cookbook
Andrey Adamovich, Luciano Fiandesio

Java and Groovy go together like ham and eggs, and this book is a great opportunity to learn how to exploit Groovy 2 to the full. Packed with recipes, both intermediate and advanced, it’s a great way to speed up and modernize your programming.
$29.99
$49.99
RRP $29.99
RRP $49.99
eBook
Print + eBook
$12.99 p/month

Want this title & more? Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.
+ Collection
Free Sample

Book Details

ISBN 139781849519366
Paperback394 pages

About This Book

  • Simple and more advanced recipes to cover a broad number of topics and challenges
  • With scores of practical examples, this book will help you to build efficient, flexible, and well-integrated systems
  • Solve everyday programming problems with the elegance and simplicity of Groovy 2

Who This Book Is For

This book is for Java developers who have an interest in discovering new ways to quickly get the job done using a new language that shares many similarities with Java. The book’s recipes start simple, therefore no previous Groovy experience is required to understand the code and the explanations accompanying the examples.

Table of Contents

Chapter 1: Getting Started with Groovy
Introduction
Installing Groovy on Windows
Installing Groovy on Linux and OS X
Executing Groovy code from the command line
Using Groovy as a command-line text file editor
Using Groovy to start a server on the command line
Running Groovy with invokedynamic support
Building Groovy from source
Managing multiple Groovy installations on Linux
Using groovysh to try out Groovy commands
Starting groovyConsole to execute Groovy snippets
Configuring Groovy in Eclipse
Configuring Groovy in IntelliJ IDEA
Chapter 2: Using Groovy Ecosystem
Introduction
Using Java classes from Groovy
Embedding Groovy into Java
Compiling Groovy code
Simplifying dependency management with Grape
Integrating Groovy into the build process using Ant
Integrating Groovy into the build process using Maven
Integrating Groovy into the build process using Gradle
Generating documentation for Groovy code
Checking Groovy code's quality with CodeNarc
Chapter 3: Using Groovy Language Features
Introduction
Searching strings with regular expressions
Writing less verbose Java Beans with Groovy Beans
Inheriting constructors in Groovy classes
Adding the cloning functionality to Groovy Beans
Defining code as data in Groovy
Defining data structures as code in Groovy
Implementing multiple inheritance in Groovy
Adding a functionality to the existing Java/Groovy classes
Defining type-checking rules for dynamic code
Adding automatic logging to Groovy classes
Chapter 4: Working with Files in Groovy
Introduction
Reading from a file
Reading a text file line by line
Processing every word in a text file
Writing to a file
Replacing tabs with spaces in a text file
Filtering a text file's content
Deleting a file or directory
Walking through a directory recursively
Searching for files
Changing file attributes on Windows
Reading data from a ZIP file
Reading an Excel file
Extracting data from a PDF
Chapter 5: Working with XML in Groovy
Introduction
Reading XML using XmlSlurper
Reading XML using XmlParser
Reading XML content with namespaces
Searching in XML with GPath
Searching in XML with XPath
Constructing XML content
Modifying XML content
Sorting XML nodes
Serializing Groovy Beans to XML
Chapter 6: Working with JSON in Groovy
Introduction
Parsing JSON messages with JsonSlurper
Constructing JSON messages with JsonBuilder
Modifying JSON messages
Validating JSON messages
Converting JSON message to XML
Converting JSON message to Groovy Bean
Using JSON to configure your scripts
Chapter 7: Working with Databases in Groovy
Introduction
Creating a database table
Connecting to an SQL database
Querying an SQL database
Modifying data in an SQL database
Calling a stored procedure
Reading BLOB/CLOB from a database
Building a simple ORM framework
Using Groovy to access Redis
Using Groovy to access MongoDB
Using Groovy to access Apache Cassandra
Chapter 8: Working with Web Services in Groovy
Introduction
Downloading content from the Internet
Executing an HTTP GET request
Executing an HTTP POST request
Constructing and modifying complex URLs
Issuing a REST request and parsing a response
Issuing a SOAP request and parsing a response
Consuming RSS and Atom feeds
Using basic authentication for web service security
Using OAuth for web service security
Chapter 9: Metaprogramming and DSLs in Groovy
Introduction
Querying methods and properties
Dynamically extending classes with new methods
Overriding methods dynamically
Adding performance logging to methods
Adding a caching functionality around methods
Adding transparent imports to a script
DSL for executing commands over SSH
DSL for generating reports from logfiles
Chapter 10: Concurrent Programming in Groovy
Introduction
Processing collections concurrently
Downloading files concurrently
Splitting a large task into smaller parallel jobs
Running tasks in parallel and asynchronously
Using actors to build message-based concurrency
Using STM to atomically update fields
Using dataflow variables for lazy evaluation

What You Will Learn

  • Use Groovy with different IDEs and Operating Systems
  • Integrate Groovy with Java and understand the peculiar features of the language
  • Work with files of different formats, like PDF, Excel, and Zip
  • Manipulate XML and work with JSON
  • Access databases using the elegant Groovy API
  • Unleash the power of asynchronous programming using the advanced features of the GPars API
  • Learn how to use Groovy to test your Java code and other testing techniques
  • Master the metaprogramming capabilities of the language and learn how to write Domain Specific Languages

In Detail

Get up to speed with Groovy, a language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. This book will show you the powerful features of Groovy 2 applied to real-world scenarios and how the dynamic nature of the language makes it very simple to tackle problems that would otherwise require hours or days of research and implementation.

Groovy 2 Cookbook contains a vast number of recipes covering many facets of today's programming landscape. From language-specific topics such as closures and metaprogramming, to more advanced applications of Groovy flexibility such as DSL and testing techniques, this book gives you quick solutions to everyday problems.

The recipes in this book start from the basics of installing Groovy and running your first scripts and continue with progressively more advanced examples that will help you to take advantage of the language's amazing features.

Packed with hundreds of tried-and-true Groovy recipes, Groovy 2 Cookbook includes code segments covering many specialized APIs to work with files and collections, manipulate XML, work with REST services and JSON, create asynchronous tasks, and more. But Groovy does more than just ease traditional Java development: it brings modern programming features to the Java platform like closures, duck-typing, and metaprogramming.

In this new book, you'll find code examples that you can use in your projects right away along with a discussion about how and why the solution works. Focusing on what's useful and tricky, Groovy 2 Cookbook offers a wealth of useful code for all Java and Groovy programmers, not just advanced practitioners.

Authors

Table of Contents

Chapter 1: Getting Started with Groovy
Introduction
Installing Groovy on Windows
Installing Groovy on Linux and OS X
Executing Groovy code from the command line
Using Groovy as a command-line text file editor
Using Groovy to start a server on the command line
Running Groovy with invokedynamic support
Building Groovy from source
Managing multiple Groovy installations on Linux
Using groovysh to try out Groovy commands
Starting groovyConsole to execute Groovy snippets
Configuring Groovy in Eclipse
Configuring Groovy in IntelliJ IDEA
Chapter 2: Using Groovy Ecosystem
Introduction
Using Java classes from Groovy
Embedding Groovy into Java
Compiling Groovy code
Simplifying dependency management with Grape
Integrating Groovy into the build process using Ant
Integrating Groovy into the build process using Maven
Integrating Groovy into the build process using Gradle
Generating documentation for Groovy code
Checking Groovy code's quality with CodeNarc
Chapter 3: Using Groovy Language Features
Introduction
Searching strings with regular expressions
Writing less verbose Java Beans with Groovy Beans
Inheriting constructors in Groovy classes
Adding the cloning functionality to Groovy Beans
Defining code as data in Groovy
Defining data structures as code in Groovy
Implementing multiple inheritance in Groovy
Adding a functionality to the existing Java/Groovy classes
Defining type-checking rules for dynamic code
Adding automatic logging to Groovy classes
Chapter 4: Working with Files in Groovy
Introduction
Reading from a file
Reading a text file line by line
Processing every word in a text file
Writing to a file
Replacing tabs with spaces in a text file
Filtering a text file's content
Deleting a file or directory
Walking through a directory recursively
Searching for files
Changing file attributes on Windows
Reading data from a ZIP file
Reading an Excel file
Extracting data from a PDF
Chapter 5: Working with XML in Groovy
Introduction
Reading XML using XmlSlurper
Reading XML using XmlParser
Reading XML content with namespaces
Searching in XML with GPath
Searching in XML with XPath
Constructing XML content
Modifying XML content
Sorting XML nodes
Serializing Groovy Beans to XML
Chapter 6: Working with JSON in Groovy
Introduction
Parsing JSON messages with JsonSlurper
Constructing JSON messages with JsonBuilder
Modifying JSON messages
Validating JSON messages
Converting JSON message to XML
Converting JSON message to Groovy Bean
Using JSON to configure your scripts
Chapter 7: Working with Databases in Groovy
Introduction
Creating a database table
Connecting to an SQL database
Querying an SQL database
Modifying data in an SQL database
Calling a stored procedure
Reading BLOB/CLOB from a database
Building a simple ORM framework
Using Groovy to access Redis
Using Groovy to access MongoDB
Using Groovy to access Apache Cassandra
Chapter 8: Working with Web Services in Groovy
Introduction
Downloading content from the Internet
Executing an HTTP GET request
Executing an HTTP POST request
Constructing and modifying complex URLs
Issuing a REST request and parsing a response
Issuing a SOAP request and parsing a response
Consuming RSS and Atom feeds
Using basic authentication for web service security
Using OAuth for web service security
Chapter 9: Metaprogramming and DSLs in Groovy
Introduction
Querying methods and properties
Dynamically extending classes with new methods
Overriding methods dynamically
Adding performance logging to methods
Adding a caching functionality around methods
Adding transparent imports to a script
DSL for executing commands over SSH
DSL for generating reports from logfiles
Chapter 10: Concurrent Programming in Groovy
Introduction
Processing collections concurrently
Downloading files concurrently
Splitting a large task into smaller parallel jobs
Running tasks in parallel and asynchronously
Using actors to build message-based concurrency
Using STM to atomically update fields
Using dataflow variables for lazy evaluation

Book Details

ISBN 139781849519366
Paperback394 pages
Read More

Recommended for You