Programming Groovy 2: dynamic productivity for the Java developer
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Raleigh, NC [u.a.]
The Pragmatic Bookshelf
2013
|
Schriftenreihe: | The Pragmatic Programmers
|
Schlagworte: | |
Online-Zugang: | Umschlagbild Inhaltsverzeichnis |
Beschreibung: | XXVII, 333 S. |
ISBN: | 9781937785307 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV041349636 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 131009s2013 |||| 00||| eng d | ||
020 | |a 9781937785307 |9 978-1-937785-30-7 | ||
035 | |a (OCoLC)914799481 | ||
035 | |a (DE-599)BSZ277191092 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-863 | ||
082 | 0 | |a 005.133 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
100 | 1 | |a Subramaniam, Venkat |e Verfasser |4 aut | |
245 | 1 | 0 | |a Programming Groovy 2 |b dynamic productivity for the Java developer |c Venkat Subramaniam |
264 | 1 | |a Raleigh, NC [u.a.] |b The Pragmatic Bookshelf |c 2013 | |
300 | |a XXVII, 333 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The Pragmatic Programmers | |
650 | 0 | 7 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Metaprogrammierung |0 (DE-588)4199820-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Groovy |g Programmiersprache |0 (DE-588)7575961-5 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 0 | 1 | |a Groovy |g Programmiersprache |0 (DE-588)7575961-5 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Metaprogrammierung |0 (DE-588)4199820-0 |D s |
689 | 1 | |5 DE-604 | |
856 | 4 | 2 | |m V:DE-576;X:oreilly |q application/pdf |u http://swbplus.bsz-bw.de/bsz277191092cov.htm |3 Umschlagbild |
856 | 4 | 2 | |m SWB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=026798238&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-026798238 |
Datensatz im Suchindex
DE-BY-863_location | 1000 |
---|---|
DE-BY-FWS_call_number | 1000/ST 250 G88 S941 |
DE-BY-FWS_katkey | 570796 |
DE-BY-FWS_media_number | 083101402714 |
_version_ | 1806173739699666944 |
adam_text | FOREWORD XVII
L
1
INTRODUCTION
1
1.1 WHY DYNAMIC LANGUAGES?
.................
1
1.2 WHAT S
GROOVY?
.......................
4
1.3 WHY GROOVY?
.........................
5
1.4 WHAT S
IN THIS BOOK?
....................
8
1.5 WHO IS THIS BOOK FOR?
...................
11
1.6
ACKNOWLEDGMENTS
......................
11
I
BEGINNING
GROOVY
15
2
GETTING STARTED
17
2.1
GETTING
GROOVY
........................
17
2.2 INSTALLING
GROOVY
......................
1
8
2.3 TEST-DRIVE USING
GROOVYSH
.................
19
2.4 USING GROOVYCONSOLE
....................
20
2.5
RUNNING
GROOVY ON THE
COMMAND
LINE
.....
.
21
2.6
USING AN IDE
.....................
.
22
3
GROOVY FOR THE
JAVA
EYES
25
3.1
FROM JAVA TO GROOVY
....................
25
3.2 JAVABEANS
..........................
33
3.3
OPTIONAL
PARAMETERS
....................
3
8
3.4 IMPLEMENTING INTERFACES
..................
39
3.5 GROOVY
BOOLEAN EVALUATION
................
43
3.6
OPERATOR OVERLOADING
....................
44
3.7
SUPPORT
OF JAVA
5 LANGUAGE FEATURES
..........
47
3.8
GOTCHAS
............................
55
XII
CONTENTS
4
DYNADC
TYPING
63
4.1 TYPING IN JAVA
........................
63
4.2 DYNAMICTYPING
.......................
66
4.3 DYNAMIC
TYPING
!=
WEAK TYPING
.............
67
4.4 DESIGN
BY CAPABILITY
....................
68
4.5 OPTIONAL
TYPING
.......................
74
4.6 TYPES
IN GROOVY
.......................
74
4.7 MULTIMETHODS
........................
75
4.8 DYNAMIC:
TO BE OR NOT TO BE?
...............
79
5
USING CLOSURES
5.1 CLOSURES
...........................
5.2 USE OF CLOSURES
.......................
5.3 WORKING
WITH CLOSURES
...................
5.4 CLOSURE
AND
RESOURCE
CLEANUP
..............
5.5 CLOSURES AND COROUTINES
..................
5.6 CURRIED CLOSURE
.......................
5.7 DYNAMIC CLOSURES
......................
5.8
CLOSURE
DELEGATION
.....................
5.9 USING CLOSURES
.......................
6
WORKING
WITH
STRINGS
101
6.1 LITERALS AND EXPRESSIONS
..................
101
6.2 GSTRING
LAZY
EVALUATION PROBLEM
.............
104
6.3 MULTILINE
STRING
.......................
108
6.4 STRING
CONVENIENCE METHODS
...............
110
6.5 REGULAR EXPRESSIONS
....................
111
7
WORKING
WITH
COLLECTIONS
115
7.1
USING LIST
...........................
115
7.2
ITERATING
OVER AN ARRAYLIST
.................
117
7.3
FINDER METHODS
.......................
120
7.4
COLLECTIONS
CONVENIENCE
METHODS
............
12L
7.5
USING
MAP
..........................
124
7.6 ITERATING
OVER MAP
.....................
126
7.7
MAP CONVENIENCE
METHODS
.................
1Z8
I1
USING
GROOVY
8
EXPLORING
THE GDK
8.1 OBJECT EXTENSIONS
8.2 OTHER
EXTENSIONS
9 WORKING WITH
XML
131
133
......................
133
......................
139
147
9.1 PARSINGXML
.........................
147
9.2 CREATING
XML
........................
152
10 WORKING WITH
DATABASES 157
10.1 CONNECTIRLG TO A DATABASE
.................
158
10.2 DATABASE SELECT
.......................
159
10.3 TRANSFORMING DATA TO XMI,
.................
160
10.4 USING DATASET
........................
161
10.5 INSERTING
AND
UPDATING
...................
162
10.6 ACCESSING MICROSOFT EXCEL
.................
162
11 WORKING WITH SCRIPTS
AND CLASSES
165
1
1.1 THE
MELTING POT OF JAVA AND
GROOY
...........
16
5
1
1.2 RUNNING
GROOVY
.......................
16
6
1
1.3 USING GROOVY CLASSES FROM GROOY
............
167
1 1.4 USING GROOVY CLASSES
FROM
JAVA
.............
L68
1
1.5
USING
JAVA
CLASSES FROM GROOY
.............
169
1
1.6
USING GROOVY SCRIPTS
FROM GROOXY
............
171
1
1.7 USING
GROOVY SCRIPTS
FROM JAVA
..............
173
1
1.8 EASE
OF INTEGRATION
.....................
175
111
MOPPING
GROOVY
177
12 EXPLORING META-OBJECT
PROTOCOL
(MOP)
179
........................
12.1 GROOVY OBJECL 180
12.2 QUERYING
METHODS AND
PROPERTIES
............
18
5
..............
12.3
DYNAMICALLY ACCESSING OBJECTS
187
13 INTERCEPTING METHODS USING MOP
189
13.1 INTERCEPTING
METHODS USING GROOVYINTERCEPT: BLE
....
189
13.2
INTERCEPTING
METHODS USING METACLASS
.........
192
XIV
F
CONTENTS
14
MOP METHOD INJECTION AND SYNTHESIS
197
14.1 INJECTING
METHODS
USING CATEGORIES
...........
19
8
14.2 INJECTING METHODS
USING
EXPANDOMETACLASS
......
203
14.3 INJECTING
METHODS
INTO
SPECIFIC
INSTANCES
........
207
14.4 METHOD SYNTHESIS USING METHODMISSING
.........
209
14.5 METHOD SYNTHESIS
USING
EXPANDOMETACLASS
......
214
14.6 SYNTHESIZING
METHODS
FOR SPECIFIC
INSTANCES
......
2 17
15
MOPPING
UP
219
15.1 CREATING
DYNAMIC CLASSES
WITH EXPANDO
........
219
15.2 METHOD DELEGATION: PUTTING IT ALL TOGETHER
.......
222
15.3 REVIEW OF
MOP
TECHNIQUES
.................
226
L6
UNIT TESTING AND MOCKING
229
16.1 CODE IN THIS BOOK
AND
AUTOMATED UNIT TESTS
......
229
16.2 UNIT TESTING
JAVA
AND
GROOVY CODE
...........
231
16.3 TESTING
FOR EXCEPTIONS
...................
235
16.4 MOCKING
............................
236
16.5 MOCKING BY OVERRIDING
...................
239
16.6 MOCKING USING CATEGORIES
.................
243
16.7 MOCKING USING EXPANDOMETACLASS
............
244
16.8 MOCKING USING EXPANDO
..................
246
16.9 MOCKING
USING
MAP
.....................
248
16-10
MOCKING USING THE
GROOVY MOCK LIBRARY
.........
249
17
GROOVY BUILDERS
255
17.1 BUILDING
XML
........................
255
17.2 BUILDING
SWING
........................
259
17.3
CUSTOM BUILDER
USING METAPROGRAMMING
........
2G0
17.4 USING BUILDERSUPPORT
....................
263
17.5 USING FACTORYBUILDERSUPPORT
...............
267
18
CREATING
DSB
IN
~ROOVY
273
18.1 CONTEXT
............................
273
18.2 FLUENCY
............................
18.3 TYPES OF DSLS
........................
276
18.4 DESIGNING INTERNAL DSLS
..................
277
18.5 GROOVY AND
DSLS
......................
277
18.6 CLOSURES AND
DSLS
.....................
278
18.7 METHOD INTERCEPTION AND
DSLS
..............
279
18.8 THE PARENTHESES
LIMITATION
AND
A WORKAROUND
.....
Z8L
18.
9
CATEGORIES
AND
DSH
....................
282
18.10
EXPANDOMETA~LASS
AND
DSLS
...............
2A5
A
WEB
RESOURCES
B
BIBLIOGRAPHY
INDEX
|
any_adam_object | 1 |
author | Subramaniam, Venkat |
author_facet | Subramaniam, Venkat |
author_role | aut |
author_sort | Subramaniam, Venkat |
author_variant | v s vs |
building | Verbundindex |
bvnumber | BV041349636 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)914799481 (DE-599)BSZ277191092 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01680nam a2200409 c 4500</leader><controlfield tag="001">BV041349636</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">131009s2013 |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781937785307</subfield><subfield code="9">978-1-937785-30-7</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)914799481</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ277191092</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-863</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Subramaniam, Venkat</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming Groovy 2</subfield><subfield code="b">dynamic productivity for the Java developer</subfield><subfield code="c">Venkat Subramaniam</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Raleigh, NC [u.a.]</subfield><subfield code="b">The Pragmatic Bookshelf</subfield><subfield code="c">2013</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXVII, 333 S.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The Pragmatic Programmers</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Metaprogrammierung</subfield><subfield code="0">(DE-588)4199820-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Groovy</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7575961-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Groovy</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7575961-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Metaprogrammierung</subfield><subfield code="0">(DE-588)4199820-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">V:DE-576;X:oreilly</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://swbplus.bsz-bw.de/bsz277191092cov.htm</subfield><subfield code="3">Umschlagbild</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">SWB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=026798238&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-026798238</subfield></datafield></record></collection> |
id | DE-604.BV041349636 |
illustrated | Not Illustrated |
indexdate | 2024-08-01T10:38:26Z |
institution | BVB |
isbn | 9781937785307 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-026798238 |
oclc_num | 914799481 |
open_access_boolean | |
owner | DE-11 DE-863 DE-BY-FWS |
owner_facet | DE-11 DE-863 DE-BY-FWS |
physical | XXVII, 333 S. |
publishDate | 2013 |
publishDateSearch | 2013 |
publishDateSort | 2013 |
publisher | The Pragmatic Bookshelf |
record_format | marc |
series2 | The Pragmatic Programmers |
spellingShingle | Subramaniam, Venkat Programming Groovy 2 dynamic productivity for the Java developer Java Programmiersprache (DE-588)4401313-9 gnd Metaprogrammierung (DE-588)4199820-0 gnd Groovy Programmiersprache (DE-588)7575961-5 gnd |
subject_GND | (DE-588)4401313-9 (DE-588)4199820-0 (DE-588)7575961-5 |
title | Programming Groovy 2 dynamic productivity for the Java developer |
title_auth | Programming Groovy 2 dynamic productivity for the Java developer |
title_exact_search | Programming Groovy 2 dynamic productivity for the Java developer |
title_full | Programming Groovy 2 dynamic productivity for the Java developer Venkat Subramaniam |
title_fullStr | Programming Groovy 2 dynamic productivity for the Java developer Venkat Subramaniam |
title_full_unstemmed | Programming Groovy 2 dynamic productivity for the Java developer Venkat Subramaniam |
title_short | Programming Groovy 2 |
title_sort | programming groovy 2 dynamic productivity for the java developer |
title_sub | dynamic productivity for the Java developer |
topic | Java Programmiersprache (DE-588)4401313-9 gnd Metaprogrammierung (DE-588)4199820-0 gnd Groovy Programmiersprache (DE-588)7575961-5 gnd |
topic_facet | Java Programmiersprache Metaprogrammierung Groovy Programmiersprache |
url | http://swbplus.bsz-bw.de/bsz277191092cov.htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=026798238&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT subramaniamvenkat programminggroovy2dynamicproductivityforthejavadeveloper |
Inhaltsverzeichnis
THWS Würzburg Zentralbibliothek Lesesaal
Signatur: |
1000 ST 250 G88 S941 |
---|---|
Exemplar 1 | ausleihbar Verfügbar Bestellen |