Preface |
|
xi | |
|
Supplements to the Java 2 Platform |
|
|
1 | (39) |
|
|
1 | (2) |
|
Joining the Commons-User Mailing List |
|
|
3 | (1) |
|
Getting the Commons Lang Source Code |
|
|
4 | (1) |
|
Automating the Generation of toString() Content |
|
|
5 | (2) |
|
Customizing Generated toString() Content |
|
|
7 | (3) |
|
Automating hashCode() and equals() |
|
|
10 | (2) |
|
|
12 | (2) |
|
|
14 | (1) |
|
Cloning and Reversing Arrays |
|
|
15 | (2) |
|
Transforming Between Object Arrays and Primitive Arrays |
|
|
17 | (2) |
|
Finding Items in an Array |
|
|
19 | (2) |
|
Creating a Map from a Multidimensional Array |
|
|
21 | (1) |
|
|
22 | (2) |
|
|
24 | (2) |
|
|
26 | (2) |
|
|
28 | (4) |
|
Generating Unique Numeric Identifiers |
|
|
32 | (2) |
|
Validation of Method Parameters |
|
|
34 | (3) |
|
|
37 | (3) |
|
|
40 | (24) |
|
Setting Up StringUtils and WordUtils |
|
|
41 | (1) |
|
Checking for an Empty String |
|
|
41 | (2) |
|
|
43 | (2) |
|
|
45 | (1) |
|
|
46 | (2) |
|
Stripping and Trimming a String |
|
|
48 | (1) |
|
|
49 | (1) |
|
Creating an Emphasized Header |
|
|
49 | (1) |
|
|
50 | (1) |
|
|
51 | (2) |
|
Testing the Contents of a String |
|
|
53 | (2) |
|
Measuring the Frequency of a String |
|
|
55 | (1) |
|
Parsing Formatted Strings |
|
|
56 | (3) |
|
Calculating String Difference |
|
|
59 | (2) |
|
|
61 | (1) |
|
Getting the Commons Codec Source Code |
|
|
62 | (1) |
|
|
62 | (2) |
|
|
64 | (33) |
|
Representing Beans Graphically |
|
|
65 | (3) |
|
Obtaining Commons BeanUtils |
|
|
68 | (1) |
|
Getting the Commons BeanUtils Source Code |
|
|
69 | (1) |
|
Accessing Simple Bean Properties |
|
|
70 | (2) |
|
Accessing Nested Bean Properties |
|
|
72 | (2) |
|
Accessing Indexed Bean Properties |
|
|
74 | (1) |
|
Accessing Mapped Bean Properties |
|
|
75 | (2) |
|
Accessing a Simple, Nested, Indexed, and Mapped Bean Property |
|
|
77 | (2) |
|
Determining the Type of a Bean Property |
|
|
79 | (1) |
|
|
80 | (4) |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
87 | (1) |
|
Validating Beans with Predicates |
|
|
88 | (2) |
|
Creating a Map of Bean Properties |
|
|
90 | (1) |
|
Wrapping a Bean with a Map |
|
|
91 | (2) |
|
|
93 | (2) |
|
Getting and Setting Properties as Strings |
|
|
95 | (2) |
|
|
97 | (35) |
|
Obtaining Commons Collections |
|
|
98 | (1) |
|
Getting the Commons Collections Source Code |
|
|
99 | (1) |
|
|
100 | (2) |
|
|
102 | (2) |
|
|
104 | (2) |
|
|
106 | (4) |
|
|
110 | (4) |
|
Writing a Custom Predicate |
|
|
114 | (2) |
|
Creating Composite Predicates |
|
|
116 | (4) |
|
|
120 | (1) |
|
Creating a Chain of Transformations |
|
|
121 | (2) |
|
Applying Conditional Transformations |
|
|
123 | (2) |
|
|
125 | (1) |
|
|
126 | (1) |
|
Modeling Conditional Statements with Closures |
|
|
127 | (3) |
|
Modeling Loops with Closures |
|
|
130 | (2) |
|
|
132 | (52) |
|
Obtaining Commons Collections |
|
|
132 | (1) |
|
|
133 | (2) |
|
Iterating Over an ArrayList |
|
|
135 | (2) |
|
Filtering a Collection with a Predicate |
|
|
137 | (3) |
|
Iterating Through Distinct Elements |
|
|
140 | (1) |
|
|
141 | (5) |
|
|
146 | (2) |
|
Creating a Priority Queue |
|
|
148 | (4) |
|
|
152 | (3) |
|
Storing Multiple Values in a Map |
|
|
155 | (2) |
|
Retrieving a Key by a Value |
|
|
157 | (3) |
|
Using a Case-Insensitive Map |
|
|
160 | (2) |
|
Creating Typed Collections and Maps |
|
|
162 | (4) |
|
|
166 | (3) |
|
Constraining List Contents |
|
|
169 | (1) |
|
|
170 | (2) |
|
Creating a Least Recently Used Cache |
|
|
172 | (2) |
|
|
174 | (4) |
|
Counting Objects in a Collection |
|
|
178 | (2) |
|
Performing Set Operations |
|
|
180 | (2) |
|
Retrieving Map Values Without Casting |
|
|
182 | (2) |
|
|
184 | (25) |
|
Obtaining Jakarta Commons Digester |
|
|
185 | (1) |
|
Turning XML Documents into Objects |
|
|
186 | (5) |
|
|
191 | (3) |
|
Creating a Simple XML Command Language |
|
|
194 | (4) |
|
Variable Substitution and XML Parsing |
|
|
198 | (3) |
|
Obtaining Jakarta Commons Betwixt |
|
|
201 | (1) |
|
Turning Beans into XML Documents |
|
|
201 | (3) |
|
Customizing XML Generated from an Object |
|
|
204 | (3) |
|
Turning XML Documents into Beans |
|
|
207 | (2) |
|
Application Infrastructure |
|
|
209 | (20) |
|
|
209 | (1) |
|
Parsing a Simple Command Line |
|
|
210 | (2) |
|
Parsing a Complex Command Line |
|
|
212 | (1) |
|
Printing Usage Information |
|
|
213 | (2) |
|
Obtaining Commons Configuration |
|
|
215 | (1) |
|
Configuring Applications with Properties Files |
|
|
216 | (1) |
|
Configuring Applications with XML |
|
|
217 | (1) |
|
Using Composite Configuration |
|
|
218 | (3) |
|
Obtaining Commons Logging |
|
|
221 | (1) |
|
Using an Abstract Logging Interface |
|
|
222 | (1) |
|
Specifying a Logging Implementation |
|
|
223 | (2) |
|
|
225 | (1) |
|
Configuring Log4J with a Properties File |
|
|
225 | (2) |
|
Configuring Log4J with XML |
|
|
227 | (2) |
|
|
229 | (20) |
|
|
229 | (3) |
|
Finding the Maximum and Minimum in an Array |
|
|
232 | (1) |
|
|
232 | (3) |
|
Generating Random Variables |
|
|
235 | (1) |
|
|
236 | (1) |
|
Calculating Simple Univariate Statistics |
|
|
237 | (2) |
|
Solving a System of Linear Equations |
|
|
239 | (2) |
|
Arithmetic with Complex Numbers |
|
|
241 | (1) |
|
Establishing Relationships Between Variables |
|
|
242 | (2) |
|
Estimating the Amount of Time Left in a Process |
|
|
244 | (5) |
|
|
249 | (33) |
|
|
252 | (1) |
|
Using an Expression Language |
|
|
253 | (3) |
|
Invoking Methods in an Expression |
|
|
256 | (1) |
|
Externalizing Logic with an Expression Language |
|
|
257 | (2) |
|
Obtaining Jakarta Velocity |
|
|
259 | (1) |
|
Using a Simple Templating Language |
|
|
260 | (2) |
|
Writing Templates with Conditionals and Loops |
|
|
262 | (3) |
|
Using Macros in a Templating Engine |
|
|
265 | (3) |
|
Invoking Methods in a Template |
|
|
268 | (3) |
|
|
271 | (1) |
|
Using a Complex Scripting Engine |
|
|
272 | (4) |
|
Accessing XML Documents from a Templating Engine |
|
|
276 | (2) |
|
Using Velocity in a Web Application |
|
|
278 | (2) |
|
Using FreeMarker in a Web Application |
|
|
280 | (1) |
|
Writing Templates in Eclipse |
|
|
281 | (1) |
|
|
282 | (22) |
|
|
283 | (1) |
|
Copying Streams, byte[], Readers, and Writers |
|
|
284 | (1) |
|
Closing Streams, Readers, and Writers |
|
|
285 | (2) |
|
Printing a Human-Readable File Size |
|
|
287 | (1) |
|
Copying Files, Strings, and URLs |
|
|
288 | (1) |
|
Deleting Directories Recursively |
|
|
289 | (1) |
|
Obtaining the Size of a Directory |
|
|
290 | (1) |
|
|
291 | (1) |
|
|
291 | (2) |
|
|
293 | (1) |
|
Splitting an OutputStream |
|
|
294 | (1) |
|
|
295 | (1) |
|
Using Globs and Perl5 Regular Expressions to List Files |
|
|
296 | (1) |
|
|
296 | (1) |
|
|
297 | (2) |
|
|
299 | (2) |
|
|
301 | (3) |
|
|
304 | (34) |
|
Obtaining Jakarta HttpClient |
|
|
304 | (2) |
|
Getting Jakarta HttpClient Source Code |
|
|
306 | (1) |
|
|
307 | (1) |
|
Sending Parameters in a Query String |
|
|
308 | (3) |
|
Retrieving Content with a Conditional GET |
|
|
311 | (3) |
|
Debugging HTTP Communications |
|
|
314 | (2) |
|
Making an HTTP POST Request |
|
|
316 | (2) |
|
Sending POST Data from a File |
|
|
318 | (1) |
|
Uploading Files with a Multipart POST |
|
|
319 | (2) |
|
|
321 | (2) |
|
|
323 | (2) |
|
|
325 | (2) |
|
|
327 | (3) |
|
|
330 | (1) |
|
Accepting a Self-Signed Certificate |
|
|
331 | (2) |
|
|
333 | (1) |
|
Connecting to WebDAV Resources |
|
|
334 | (2) |
|
Modifying a WebDAV Resource |
|
|
336 | (2) |
|
|
338 | (23) |
|
|
339 | (1) |
|
Querying an Object Graph with XPath |
|
|
339 | (3) |
|
Search a Collection of Simple Objects |
|
|
342 | (2) |
|
Applying XPath Queries to Complex Object Graphs |
|
|
344 | (3) |
|
|
347 | (1) |
|
Creating an Index of XML Documents |
|
|
348 | (6) |
|
Searching for a Specific Term in a Document Index |
|
|
354 | (3) |
|
Finding the Frequency of Terms in an Index |
|
|
357 | (4) |
Index |
|
361 | |