Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities for the Java platform, aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.
![Groovy Features](https://github.com/Blackdog-Programmer/ApacheGroovyBootstrap/raw/master/reference/overview/groovy_features.png?raw=true)
- groovysh - the Groovy repl-like shell
- groovyc - the Groovy compiler
- groovyConsole - the Groovy Swing consoler
- Groovy Syntax
- Grrovy Default Imports
- Groovy Keywords
- Groovy Comments
- Groovy Power Assertion
- Groovy Scripts file is always compiled to java class file!
- Groovy Classes
- Groovy Control Structure
- Groovy Annotation
- Groovy Tranfrom APIs
- Groovy Operators
- Dependency management with Grape
- Java Primitive Data Types
- Groovy Data Types: all primitive datatypes are wrapper class
- Groovy Number Pormotion
- Groovy Operator Overloading
- Groovy String Manipulations
- How to write Regular Expressions?
![Closure Overview](https://github.com/Blackdog-Programmer/ApacheGroovyBootstrap/raw/master/reference/Closure/Closure_Overview.png?raw=true)
![Closure: Scope, Delegate and Strategy](https://github.com/Blackdog-Programmer/ApacheGroovyBootstrap/raw/master/reference/Closure/Owner_Delegate_This.png?raw=true)
![Groovy Truth Table](https://github.com/Blackdog-Programmer/ApacheGroovyBootstrap/raw/master/reference/ControlStrcuture/Groovy_Boolean_Test.png?raw=true)
![MOP Definition](https://github.com/Blackdog-Programmer/ApacheGroovyBootstrap/raw/master/reference/MetaProgramming/MetaObjectProtocol(MOP).png?raw=true)