Welcome to the Groovy User Guide. We hope you find it useful.
The User Guide assumes you have already downloaded and installed Groovy. See the Getting Started Guide if this is not the case.
- OSGi and Groovy
- Advanced OO
- Annotations with Groovy
- Ant Integration with Groovy
- Bean Scripting Framework
- Bitwise Operations
- Builders
- Closures
- Collections
- Compile-time Metaprogramming - AST Transformations
- Control Structures
- Database features
- Dynamic Groovy
- Evaluating the MetaClass runtime
- ExpandoMetaClass
- ExpandoMetaClass - Borrowing Methods
- ExpandoMetaClass - Constructors
- ExpandoMetaClass Domain-Specific Language
- ExpandoMetaClass - Dynamic Method Names
- ExpandoMetaClass - GroovyObject Methods
- ExpandoMetaClass - Interfaces
- ExpandoMetaClass - Methods
- ExpandoMetaClass - Overriding static invokeMethod
- ExpandoMetaClass - Properties
- ExpandoMetaClass - Runtime Discovery
- ExpandoMetaClass - Static Methods
- Global AST Transformations
- Local AST Transformations
- Per-Instance MetaClass
- Runtime mixins
- Using invokeMethod and getProperty
- Using methodMissing and propertyMissing
- GDK Extensions to Object
- Generics
- GPath
- Grape
- Groovy and JMX
- Groovy Categories
- Groovy CLI
- Groovy Console
- Groovy Math
- Groovy Shell
- Groovy Truth
- Groovy Utils
- GUI Programming with Groovy
- Swing Builder
- Alphabetical Widgets List
- SwingBuidler.borderLayout
- SwingBuilder.action
- SwingBuilder.actions
- SwingBuilder.bind
- SwingBuilder.borderLayout
- SwingBuilder.boundedRangeModel
- SwingBuilder.box
- SwingBuilder.boxLayout
- SwingBuilder.button
- SwingBuilder.buttonGroup
- SwingBuilder.cardLayout
- SwingBuilder.checkBox
- SwingBuilder.checkBoxMenuItem
- SwingBuilder.closureColumn
- SwingBuilder.colorChooser
- SwingBuilder.comboBox
- SwingBuilder.compoundBorder
- SwingBuilder.container
- SwingBuilder.desktopPane
- SwingBuilder.dialog
- SwingBuilder.editorPane
- SwingBuilder.emptyBorder
- SwingBuilder.etchedBorder
- SwingBuilder.fileChooser
- SwingBuilder.flowLayout
- SwingBuilder.formattedTextField
- SwingBuilder.frame
- SwingBuilder.gridBagConstraints
- SwingBuilder.gridBagLayout
- SwingBuilder.gridLayout
- SwingBuilder.imageIcon
- SwingBuilder.internalFrame
- SwingBuilder.JComponent
- SwingBuilder.label
- SwingBuilder.layeredPane
- SwingBuilder.lineBorder
- SwingBuilder.list
- SwingBuilder.loweredBevelBorder
- SwingBuilder.map
- SwingBuilder.matteBorder
- SwingBuilder.menu
- SwingBuilder.menuBar
- SwingBuilder.menuItem
- SwingBuilder.optionPane
- SwingBuilder.overlayLayout
- SwingBuilder.panel
- SwingBuilder.passwordField
- SwingBuilder.popupMenu
- SwingBuilder.progressBar
- SwingBuilder.propertyColumn
- SwingBuilder.radioButton
- SwingBuilder.radioButtonMenuItem
- SwingBuilder.raisedBevelBorder
- SwingBuilder.raisedEtchedBorder
- SwingBuilder.scrollBar
- SwingBuilder.scrollPane
- SwingBuilder.separator
- SwingBuilder.slider
- SwingBuilder.spinner
- SwingBuilder.spinnerDateModel
- SwingBuilder.spinnerListModel
- SwingBuilder.spinnerNumberModel
- SwingBuilder.splitPane
- SwingBuilder.springLayout
- SwingBuilder.tabbedPane
- SwingBuilder.table
- SwingBuilder.tableColumn
- SwingBuilder.tableLayout
- SwingBuilder.tableModel
- SwingBuilder.td
- SwingBuilder.textArea
- SwingBuilder.textField
- SwingBuilder.textPane
- SwingBuilder.titledBorder
- SwingBuilder.toggleButton
- SwingBuilder.toolBar
- SwingBuilder.tr
- SwingBuilder.tree
- SwingBuilder.viewport
- SwingBuilder.widget
- SwingBuilder.window
- Categorical Widget List
- Extending Swing Builder
- Multithreading with SwingBuilder
- Alphabetical Widgets List
- SwingXBuilder
- Swing Builder
- IDE Support
- Debugging with JSwat
- Eclipse Plugin
- About GroovyEclipse Plugin v1
- Compiler Switching within Groovy-Eclipse
- Create Your First Groovy Project
- Eclipse Plugin 2.0.0 FAQ
- Eclipse Plugin Refactoring
- Groovy Eclipse 1.5.7 Release Notes
- Groovy-Eclipse 2.0.0M1 New and Noteworthy
- Groovy-Eclipse 2.0.0M2 New and Noteworthy
- Groovy-Eclipse 2.0.0 New and Noteworthy
- Groovy-Eclipse 2.0.0RC1 New and Noteworthy
- Groovy-Eclipse New and Noteworthies
- Groovy-Eclipse Roadmap
- How-To Start Contributing to Groovy Eclipse
- Install Groovy-Eclipse Plugin
- Emacs Mode
- IntelliJ IDEA Plugin
- IntelliJ IDEA Plugin by JetBrains
- JEdit Plugin
- NetBeans Plugin
- Oracle JDeveloper Plugin
- Other Plugins
- TextMate
- Input Output
- Integration
- JSR 223 Scripting with Groovy
- Logging
- Migration From Classic to JSR syntax
- Operators
- Processing XML
- Creating XML using Groovy's MarkupBuilder
- Creating XML using Groovy's StreamingMarkupBuilder
- Creating XML with Groovy and DOM
- Processing XML with XSLT
- Reading XML using Groovy's DOMCategory
- Reading XML using Groovy's XmlParser
- Reading XML using Groovy's XmlSlurper
- Reading XML with Groovy and DOM
- Reading XML with Groovy and SAX
- Reading XML with Groovy and StAX
- Reading XML with Groovy and XPath
- Updating XML with DOMCategory
- Updating XML with XmlParser
- Updating XML with XmlSlurper
- Using Other XML Libraries
- Validating XML with a DTD
- Validating XML with a W3C XML Schema
- Validating XML with RELAX NG
- XML Example
- Process Management
- Regular Expressions
- Reserved Words
- Running Groovy on .NET 2.0 using IKVM
- Scoping and the Semantics of "def"
- Scripts and Classes
- Statements
- Static Import Usage
- Strings and GString
- Things to remember
- Things you can do but better leave undone
- Using Enums
- Using Spring Factories with Groovy
- WebStart











