@@ -235,9 +235,9 @@ public class BeanDefinitionParserDelegate {
235
235
236
236
private final XmlReaderContext readerContext ;
237
237
238
- private DocumentDefaultsDefinition defaults ;
238
+ private final DocumentDefaultsDefinition defaults = new DocumentDefaultsDefinition () ;
239
239
240
- private ParseState parseState = new ParseState ();
240
+ private final ParseState parseState = new ParseState ();
241
241
242
242
/**
243
243
* Stores all used bean names so we can enforce uniqueness on a per file basis.
@@ -295,10 +295,19 @@ protected void error(String message, Element source, Throwable cause) {
295
295
/**
296
296
* Initialize the default lazy-init, autowire, dependency check settings,
297
297
* init-method, destroy-method and merge settings.
298
+ * @see #populateDefaults(DocumentDefaultsDefinition, org.w3c.dom.Element)
298
299
* @see #getDefaults()
299
300
*/
300
301
public void initDefaults (Element root ) {
301
- DocumentDefaultsDefinition defaults = new DocumentDefaultsDefinition ();
302
+ populateDefaults (this .defaults , root );
303
+ this .readerContext .fireDefaultsRegistered (this .defaults );
304
+ }
305
+
306
+ /**
307
+ * Populate the given DocumentDefaultsDefinition instance with the default lazy-init,
308
+ * autowire, dependency check settings, init-method, destroy-method and merge settings.
309
+ */
310
+ protected void populateDefaults (DocumentDefaultsDefinition defaults , Element root ) {
302
311
defaults .setLazyInit (root .getAttribute (DEFAULT_LAZY_INIT_ATTRIBUTE ));
303
312
defaults .setMerge (root .getAttribute (DEFAULT_MERGE_ATTRIBUTE ));
304
313
defaults .setAutowire (root .getAttribute (DEFAULT_AUTOWIRE_ATTRIBUTE ));
@@ -313,9 +322,6 @@ public void initDefaults(Element root) {
313
322
defaults .setDestroyMethod (root .getAttribute (DEFAULT_DESTROY_METHOD_ATTRIBUTE ));
314
323
}
315
324
defaults .setSource (this .readerContext .extractSource (root ));
316
-
317
- this .defaults = defaults ;
318
- this .readerContext .fireDefaultsRegistered (defaults );
319
325
}
320
326
321
327
/**
@@ -332,13 +338,11 @@ public DocumentDefaultsDefinition getDefaults() {
332
338
*/
333
339
public BeanDefinitionDefaults getBeanDefinitionDefaults () {
334
340
BeanDefinitionDefaults bdd = new BeanDefinitionDefaults ();
335
- if (this .defaults != null ) {
336
- bdd .setLazyInit ("TRUE" .equalsIgnoreCase (this .defaults .getLazyInit ()));
337
- bdd .setDependencyCheck (this .getDependencyCheck (DEFAULT_VALUE ));
338
- bdd .setAutowireMode (this .getAutowireMode (DEFAULT_VALUE ));
339
- bdd .setInitMethodName (this .defaults .getInitMethod ());
340
- bdd .setDestroyMethodName (this .defaults .getDestroyMethod ());
341
- }
341
+ bdd .setLazyInit ("TRUE" .equalsIgnoreCase (this .defaults .getLazyInit ()));
342
+ bdd .setDependencyCheck (this .getDependencyCheck (DEFAULT_VALUE ));
343
+ bdd .setAutowireMode (this .getAutowireMode (DEFAULT_VALUE ));
344
+ bdd .setInitMethodName (this .defaults .getInitMethod ());
345
+ bdd .setDestroyMethodName (this .defaults .getDestroyMethod ());
342
346
return bdd ;
343
347
}
344
348
@@ -348,7 +352,7 @@ public BeanDefinitionDefaults getBeanDefinitionDefaults() {
348
352
*/
349
353
public String [] getAutowireCandidatePatterns () {
350
354
String candidatePattern = this .defaults .getAutowireCandidates ();
351
- return candidatePattern == null ? null : StringUtils .commaDelimitedListToStringArray (candidatePattern );
355
+ return ( candidatePattern != null ? StringUtils .commaDelimitedListToStringArray (candidatePattern ) : null );
352
356
}
353
357
354
358
0 commit comments