# Groovy 4.0.0-rc-1

## Groovy - An extensible multi-paradigm language for the JVM Platform
(GroovyDoc for Groovy and Java classes)

Groovy...

- is an extensible and multi-paradigm language for the Java Virtual Machine
- makes modern programming features available to Java developers with almost-zero learning curve
- has a dynamic nature like Python and Ruby, which means that it is very powerful, easy to learn, and productive
- optionally has static typing like Java and Kotlin, which makes it fast and provides extra type checking when desired
- has first-class functional, stream processing and immutability support, meaning that it offers features similar to Scala and can offer many advantages when working in parallel processing or clustered environments
- supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
- makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
- increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
- simplifies testing by supporting unit testing and mocking out-of-the-box
- compiles straight to Java bytecode so you can use it anywhere you can use Java; it seamlessly integrates with all existing Java objects and libraries

Packages
Package
Description
groovy.ant
groovy.beans
groovy.cli
groovy.console.ui
An interactive command line terminal along with a Swing console for evaluating Groovy scripts and inspecting objects, AST and bytecode information.
groovy.console.ui.text
Text processing helpers for the interactive command line terminal.
groovy.contracts
groovy.ginq.transform
groovy.grape
groovy.inspect
Classes for inspecting object properties through introspection.
groovy.io
Classes for Groovier Input/Output.
groovy.jmx
Classes for working with the Java Management Extensions (JMX) technology.
groovy.jmx.builder
Classes for the JMX Builder.
groovy.json
groovy.junit5.plugin
Classes to support running JUnit5 tests as scripts.
groovy.lang
Core Groovy language classes for implementing data structures, closures, metadata and so forth.
groovy.lang.groovydoc
groovy.mock.interceptor
The groovy.mock.interceptor is an all-groovy mock testing library.
groovy.namespace
groovy.security
Security-related classes
groovy.servlet
Support for Groovlets which are Servlets written as a simple Groovy script.
groovy.sql
Groovy helper classes for working with SQL data as Groovy objects
groovy.swing.binding
Binding classes for SwingBuilder
groovy.swing.impl
Implementation classes for SwingBuilder
groovy.swing.model
An MVC model package for working with user interfaces and data structures and arbitrary Java and Groovy objects
groovy.swing.table
groovy.test
groovy.text
Contains the text processing utilities including templating APIs and default implementations.
groovy.text.markup
Contains a template engine facilitating generation of XML-like markup with optional type checking.
groovy.time
Classes for easily manipulating Dates and times.
groovy.toml
Classes for building and parsing TOML.
groovy.transform
groovy.transform.builder
groovy.transform.options
groovy.transform.stc
groovy.ui
groovy.util
Various Groovy utilities for working with nodes, builders, logging, and other things.
groovy.util.logging
groovy.xml
Groovy markup builder classes for working with SAX and W3C DOM and Groovy markup.
groovy.xml.dom
Groovy XML Dom processing classes.
groovy.xml.markupsupport
groovy.xml.slurpersupport
Helper classes for XmlSlurper.
groovy.xml.streamingmarkupsupport
XmlBuilder related classes to support streaming XML.
groovy.yaml
Classes for building and parsing YAML.
org.apache.groovy.antlr
org.apache.groovy.ast.builder
org.apache.groovy.ast.tools
org.apache.groovy.contracts
org.apache.groovy.contracts.annotations.meta
org.apache.groovy.contracts.ast
org.apache.groovy.contracts.ast.visitor
org.apache.groovy.contracts.classgen.asm
org.apache.groovy.contracts.common.base
org.apache.groovy.contracts.common.impl
org.apache.groovy.contracts.common.impl.lc
org.apache.groovy.contracts.common.spi
org.apache.groovy.contracts.domain
org.apache.groovy.contracts.generation
org.apache.groovy.contracts.util
org.apache.groovy.datetime.extensions
org.apache.groovy.dateutil.extensions
org.apache.groovy.ginq
org.apache.groovy.ginq.dsl
org.apache.groovy.ginq.dsl.expression
org.apache.groovy.ginq.provider.collection.runtime
org.apache.groovy.ginq.transform
org.apache.groovy.groovydoc.tools
org.apache.groovy.internal.metaclass
org.apache.groovy.internal.util
org.apache.groovy.io
org.apache.groovy.json
org.apache.groovy.json.internal
org.apache.groovy.lang
org.apache.groovy.lang.annotation
org.apache.groovy.macrolib
org.apache.groovy.metaclass
org.apache.groovy.nio.extensions
org.apache.groovy.nio.runtime
org.apache.groovy.parser.antlr4
org.apache.groovy.parser.antlr4.internal
org.apache.groovy.parser.antlr4.internal.atnmanager
org.apache.groovy.parser.antlr4.util
org.apache.groovy.plugin
org.apache.groovy.plugin.testng
Classes to support running TestNG tests as scripts.
org.apache.groovy.sql.extensions
org.apache.groovy.swing.binding
Classes related to property binding.
org.apache.groovy.swing.extensions
org.apache.groovy.test
org.apache.groovy.test.transform
org.apache.groovy.toml.util
Utility classes for TOML processing.
org.apache.groovy.util
org.apache.groovy.util.concurrent
org.apache.groovy.util.concurrent.concurrentlinkedhashmap
This package contains an implementation of a bounded `ConcurrentMap` data structure.
org.apache.groovy.xml.extensions
org.apache.groovy.xml.tools
org.apache.groovy.yaml.util
Utility classes for YAML processing.
org.codehaus.groovy
Groovy Language for the JVM
org.codehaus.groovy.ant
Ant tasks for working with Groovy - such as groovyc for compiling Groovy source code to Java bytecode
org.codehaus.groovy.antlr
org.codehaus.groovy.ast
Groovy AST nodes for the syntax of the language
org.codehaus.groovy.ast.builder
org.codehaus.groovy.ast.decompiled
org.codehaus.groovy.ast.expr
AST nodes for Groovy expressions
org.codehaus.groovy.ast.stmt
AST nodes for Groovy statements
org.codehaus.groovy.ast.tools
org.codehaus.groovy.classgen
Generates Java classes for Groovy classes using ASM.
org.codehaus.groovy.classgen.asm
Helper classes for ASMClassGenerator.
org.codehaus.groovy.classgen.asm.indy
org.codehaus.groovy.classgen.asm.indy.sc
org.codehaus.groovy.classgen.asm.sc
org.codehaus.groovy.classgen.asm.util
org.codehaus.groovy.control
Compiler control classes.
org.codehaus.groovy.control.customizers
org.codehaus.groovy.control.customizers.builder
org.codehaus.groovy.control.io
Internal classes for Groovier Input/Output.
org.codehaus.groovy.control.messages
Error message classes.
org.codehaus.groovy.groovydoc
GroovyDoc internal classes.
org.codehaus.groovy.jsr223
org.codehaus.groovy.macro.matcher
org.codehaus.groovy.macro.methods
org.codehaus.groovy.macro.runtime
org.codehaus.groovy.macro.transform
org.codehaus.groovy.reflection
Internal classes for assisting with reflection.
org.codehaus.groovy.reflection.android
org.codehaus.groovy.reflection.stdclasses
org.codehaus.groovy.reflection.v7
org.codehaus.groovy.runtime
Runtime classes for Groovy - whether the dynamic interpreter is being used, the compiler or the bytecode generator.
org.codehaus.groovy.runtime.callsite
org.codehaus.groovy.runtime.dgmimpl
org.codehaus.groovy.runtime.dgmimpl.arrays
org.codehaus.groovy.runtime.m12n
org.codehaus.groovy.runtime.memoize
org.codehaus.groovy.runtime.metaclass
Internal classes related to Groovy's metaclass implementation.
org.codehaus.groovy.runtime.powerassert
org.codehaus.groovy.runtime.typehandling
Classes used to execute special actions based on the type.
org.codehaus.groovy.runtime.wrappers
Groovy wrapper classes for primitive types.
org.codehaus.groovy.syntax
Lexer, parser and trees.
org.codehaus.groovy.tools
Compiler entry points and miscellaneous development tools.
org.codehaus.groovy.tools.groovydoc
GroovyDoc tool.
org.codehaus.groovy.tools.groovydoc.antlr4
org.codehaus.groovy.tools.groovydoc.gstringTemplates
org.codehaus.groovy.tools.gse
org.codehaus.groovy.tools.javac
Classes related to the joint compiler.
org.codehaus.groovy.tools.shell
org.codehaus.groovy.tools.shell.util
org.codehaus.groovy.transform
org.codehaus.groovy.transform.sc
org.codehaus.groovy.transform.sc.transformers
org.codehaus.groovy.transform.stc
org.codehaus.groovy.transform.tailrec
org.codehaus.groovy.transform.trait
org.codehaus.groovy.util
org.codehaus.groovy.vmplugin
JVM version specific classes.
org.codehaus.groovy.vmplugin.v10
org.codehaus.groovy.vmplugin.v16
org.codehaus.groovy.vmplugin.v8
org.codehaus.groovy.vmplugin.v9