Check nearby libraries
Buy this book
An introduction to the Java-based Groovy scripting language.
Check nearby libraries
Buy this book
Previews available in: English
Showing 1 featured edition. View all 1 editions?
Edition | Availability |
---|---|
1
Programming Groovy: Dynamic Productivity for the Java Developer
March 15, 2008, Pragmatic Bookshelf
Paperback
in English
1934356093 9781934356098
|
aaaa
Libraries near you:
WorldCat
|
Book Details
Table of Contents
Foreword
Page xvii
1.
Introduction
Page 1
1.1.
Why Dynamic Languages?
Page 1
1.2.
What's Groovy?
Page 4
1.3.
Why Groovy?
Page 5
1.4.
What's in This Book?
Page 8
1.5.
Who Is This Book For?
Page 11
1.6.
Acknowledgements
Page 11
I.
Beginning Groovy
Page 15
2.
Getting Started
Page 17
2.1.
getting Groovy
Page 17
2.2.
Installing Groovy
Page 18
2.3.
Test-Drive Using groovysh
Page 19
2.4.
Using groovyConsolr
Page 20
2.5.
Running Groovy on the Command Line
Page 21
2.6.
Using an IDE
Page 22
3.
Groovy for the Java Eyes
Page 25
3.1.
From Java to Groovy
Page 25
3.2.
Optional Parameters
Page 38
3.3.
Optional Parameters
Page 38
3.4.
Implementing Interfaces 39
3.5.
Groovy boolean Evaluation
Page 43
3.6.
Operator Overloading
Page 44
3.7.
Support of Java 5 Language Features
Page 47
3.8.
Gotchas
Page 55
4.
Dynamic Typing
Page 63
4.1.
Typing in Java
Page 63
4.2.
Dynamic Typing
Page 66
4.3.
Dynamic Typing != Weak Typing
Page 67
4.4.
Design by Capability
Page 68
4.5.
Optional Typing
Page 74
4.6.
Types in Groovy
Page 74
4.7.
Multimethods
Page 75
4.8.
Dynamic: To Be or Not to Be?
Page 79
5.
Using Closures
Page 81
5.1.
Closures
Page 81
5.2.
Use of Closures
Page 85
5.3.
Working with Closures
Page 87
5.4.
Closure and Resource Cleanup
Page 87
5.5.
Closures and Coroutines
Page 90
5.6.
Curried Closure
Page 91
5.7.
Dynamic Closures
Page 94
5.8.
Closure Delegation
Page 96
5.9.
Using Closures
Page 99
6.
Working with Strings
Page 101
6.1.
Literals and Expressions
Page 101
6.2.
GString Lazy Evaluation Problem
Page 104
6.3.
Multiline String
Page 108
6.4.
String Convenience Methods
Page 110
6.5.
Regular Expressions
Page 111
7.
Working with Collections
Page 115
7.1.
Using List
Page 115
7.2.
Iterating Over an ArrayList
Page 117
7.3.
Finder Methods
Page 120
7.4.
collections' Convenience Methods
Page 121
7.5.
Using Map
Page 124
7.6.
Iterating Over Map
Page 126
7.7.
Map Convenience Methods
Page 128
II.
Using Groovy
Page 131
8.
Exploring the GDK
Page 133
8.1.
Object Extensions
Page 133
8.2.
Other Extensions
Page 139
9.
Working with XML
Page 147
9.1.
Parsing XML
Page 147
9.2.
Creating XML
Page 152
10.
Working with Databases
Page 157
10.1.
Connecting to a Database
Page 158
10.2.
Database Select
Page 159
10.3.
Transforming Data to XML
Page 160
10.4.
Using DataSet
Page 161
10.5.
Inserting and Updating
Page 162
10.6.
Accessing Microsoft Excel
Page 162
11.
Working with Scripts and Classes
Page 165
11.1.
The Melting Pot of Java and Groovy
Page 165
11.2.
Running Groovy
Page 166
11.3.
Using Groovy Classes from Groovy
Page 167
11.4.
Using Groovy Classes from Java
Page 168
11.5.
Using Java Classes from Groovy
Page 169
11.6.
Using Groovy Scripts from Groovy
Page 171
11.7.
Using Groovy Scripts from Java
Page 173
11.8.
Ease of Integration
Page 175
III.
MOPping Groovy
Page 177
12.
Exploring Meta-Object Protocol (MOP)
Page 179
12.1.
Groovy Object
Page 180
12.2.
Querying Methods and Properties
Page 185
12.3.
Dynamically Accessing Objects
Page 187
13.
Intercepting Methods Using MOP
Page 189
13.1.
Intercepting Methods Using GroovyInterceptable
Page 189
13.2.
Intercepting Methods Using MetaClass
Page 192
14.
MOP Method Injection and Synthesis
Page 197
14.1.
Injecting Methods Using Categories
Page 198
14.2.
Injecting Methods Using ExpandoMetaClass
Page 203
14.3.
Injecting Methods into Specific Instances
Page 207
14.4.
Method Synthesis Using methodMissing
Page 209
14.5.
Method Synthesis Using ExpandoMetaClass
Page 214
14.6.
Synthesizing Methods for Specific Instances
Page 217
15.
MOPping Up
Page 219
15.1.
Creating Dynamic Classes with Expando
Page 219
15.2.
Method Delegation: Putting It All Together
Page 222
15.3.
Review of MOP Techniques
Page 226
16.
Unit Testing and Mocking
Page 229
16.1.
Code in This Book and Automated Unit Tests
Page 229
16.2.
Unit testing Java and Groovy Code
Page 231
16.3.
Testing for Exceptions
Page 235
16.4.
Mocking
Page 236
16.5.
Mocking by Overriding
Page 239
16.6.
Mocking Using Categories
Page 243
16.7.
Mocking Using expandoMetaClass
Page 244
16.8.
Mocking Using Expando
Page 246
16.9.
Mocking Using Map
Page 248
16.10.
Mocking Using the Groovy Mock Library
Page 249
17.
Groovy Builders
Page 255
17.1.
Building XML
Page 255
17.2.
Building Swing
Page 259
17.3.
Custom Builder Suing Metaprogramming
Page 260
17.4.
Using BuilderSupport
Page 263
17.5.
Using FactoryBuilderSupport
Page 267
18.
Creating DSLs in Groovy
Page 273
18.1.
Context
Page 273
18.2.
Fluency
Page 275
18.3.
Types of DSLs
Page 276
18.4.
Designing Internal DSLs
Page 277
18.5.
Groovy and DSLs
Page 277
18.6.
Closures and DSLs
Page 278
18.7.
Method Interception and DSLs
Page 279
18.8.
The Parentheses Limitation and a Workaround
Page 281
18.9.
Categories and DSLs
Page 282
18.10.
ExpandoMetaClass and DSLs
Page 285 |
A.
Web Resources
Page 287
B.
Bibliography
Page 293
Index
Page 295
Classifications
The Physical Object
ID Numbers
Community Reviews (0)
Feedback?History
- Created April 30, 2008
- 17 revisions
Wikipedia citation
×CloseCopy and paste this code into your Wikipedia page. Need help?
December 20, 2020 | Edited by MARC Bot | import existing book |
July 2, 2019 | Edited by MARC Bot | replacing ocaid with lendable copy |
January 12, 2019 | Edited by MARC Bot | import existing book |
April 6, 2014 | Edited by ImportBot | Added IA ID. |
April 30, 2008 | Created by an anonymous user | Imported from amazon.com record. |