Email the Author

You can use this page to email Hubert A. Klein Ikkink (mrhaki) about Groovy Goodness Notebook.

Please include an email address so the author can respond to your query

This message will be sent to Hubert A. Klein Ikkink (mrhaki)

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

In 2009 I started to write small blog posts about Groovy at Messages from mrhaki. The posts contained code samples of cool Groovy features I just didn't want to forget. The blog posts turned out to be a useful resource for people learning and using Groovy in their every day programming.

The Groovy Goodness Notebook contains the blog posts about Groovy previously mentioned on my blog. The posts have been edited slightly so they can be used for the book. The book gives a broad overview of all the great features we can find in the Groovy language.

Updated on October 1, 2021 to include the following new subjects:

  • Direct Field Access In (Super) Classes
  • Identity Closure
  • Groovy Goodness Notebook Is Updated
  • Uncapitalize Strings
  • Creating Root JSON Array With JsonBuilder
  • Using The Call Operator ()
  • Redirecting Print Methods In Scripts
  • Download Grab Dependencies In IntelliJ IDEA
  • Make Sure Closeable Objects Are Closed Using withCloseable Method
  • Add Map Constructor With Annotation
  • Base64 URL and Filename Safe Encoding
  • Calculate MD5 And SHA Hash Values
  • Creating Extra Method Supporting Named Arguments Using @NamedVariant Annotation
  • Customizing JSON Output
  • Easy Object Creation With Tap Method
  • Getting All Init And Tail Values Recursively 
  • Implement Interface And Abstract Methods Automatically
  • Intersect Collections With Custom Comparator
  • Java 8 Stream Enhancements
  • Preorder And Postorder Tree Traversal
  • Remove Last Item From List Using RemoveLast Method (And Pop/Push Methods Reimplemented)
  • Truncate And Round BigDecimal Values
  • Tuples With Up To 9 Items
  • Unmodifiable Collections
  • Use Optional In Conditional Context
  • Use Range By Method To Set Steps Between Numbers
  • Using String Values In Ranges
  • Where Is My Class?
  • Use Expanded Variables in SQL GString Query
  • Transform Elements While Flattening
  • Calculate Average For Collection
  • Check Item Is Not In A Collection With !in
  • Create YAML With YamlBuilder
  • The Elvis Assignment Operator
  • Lambda Default Parameter Value
  • Parse YAML With YamlSlurper
  • Shuffle List or Array
  • Check Object Instances Are The Same With === Operator
  • Getting Parts Of A String Enclosed By Strings
  • Safe Index Based Access For Lists, Arrays and Maps
  • Taking Or Dropping Number Of Characters From A String
  • Using !instanceof Operator

The book categorizes the posts into the following sections:

  • Syntax
  • Operators
  • Numbers
  • Strings
  • Regular Expressions
  • Dates
  • Lists, Ranges and Arrays
  • Maps
  • Closures
  • SQL
  • Files, Reades, Writers and URls
  • XML and JSON
  • AST transformations
  • Metaprogramming
  • DSL and Builder Support
  • Scripts
  • Testing
  • Miscellaneous

About the Author

Hubert A. Klein Ikkink (mrhaki)’s avatar Hubert A. Klein Ikkink (mrhaki)

@mrhaki

Hello. I am a passionate Groovy and Java developer based in Tilburg, The Netherlands. My goal is to write software, like Pixar makes movies, BMW makes cars, Bang & Olufsen makes audio and TV systems and Apple makes computers and devices: clean, elegant, user-centered and high quality.

My name is Hubert A. Klein Ikkink. Not a very common name, right? To make things easier I just picked the first letters of my firstname and surname and came up with haki. So there you have it, now I am known as Mr. Haki or mrhaki for short.

In 2009 I started writing blog posts about Groovy with the name Groovy Goodness. These posts contain small snippets of code explaining core and exotic features of the Groovy language.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Groovy-goodness-notebook › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • Imagine a world...
    • Manifesto
    • COVID-19
    • More
    • Causes
    • Accessibility
    • MEMBERSHIPS
    • Reader Memberships
    • Author Memberships
    • Your Membership
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2023 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss