polishing

This commit is contained in:
Juergen Hoeller 2009-05-05 09:36:53 +00:00
parent 6930859e82
commit a6124793fc
5 changed files with 27 additions and 26 deletions

View File

@ -123,7 +123,7 @@ public class ConfigurationClassPostProcessor implements BeanFactoryPostProcessor
* Build and validate a configuration model based on the registry of * Build and validate a configuration model based on the registry of
* {@link Configuration} classes. * {@link Configuration} classes.
*/ */
protected void processConfigBeanDefinitions(BeanDefinitionRegistry registry) { public void processConfigBeanDefinitions(BeanDefinitionRegistry registry) {
Set<BeanDefinitionHolder> configCandidates = new LinkedHashSet<BeanDefinitionHolder>(); Set<BeanDefinitionHolder> configCandidates = new LinkedHashSet<BeanDefinitionHolder>();
for (String beanName : registry.getBeanDefinitionNames()) { for (String beanName : registry.getBeanDefinitionNames()) {
BeanDefinition beanDef = registry.getBeanDefinition(beanName); BeanDefinition beanDef = registry.getBeanDefinition(beanName);
@ -206,7 +206,7 @@ public class ConfigurationClassPostProcessor implements BeanFactoryPostProcessor
* Candidate status is determined by BeanDefinition attribute metadata. * Candidate status is determined by BeanDefinition attribute metadata.
* @see ConfigurationClassEnhancer * @see ConfigurationClassEnhancer
*/ */
protected void enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory) { public void enhanceConfigurationClasses(ConfigurableListableBeanFactory beanFactory) {
Map<String, AbstractBeanDefinition> configBeanDefs = new LinkedHashMap<String, AbstractBeanDefinition>(); Map<String, AbstractBeanDefinition> configBeanDefs = new LinkedHashMap<String, AbstractBeanDefinition>();
for (String beanName : beanFactory.getBeanDefinitionNames()) { for (String beanName : beanFactory.getBeanDefinitionNames()) {
BeanDefinition beanDef = beanFactory.getBeanDefinition(beanName); BeanDefinition beanDef = beanFactory.getBeanDefinition(beanName);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2008 the original author or authors. * Copyright 2002-2009 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -86,7 +86,7 @@ class ContextTypeMatchClassLoader extends DecoratingClassLoader implements Smart
ReflectionUtils.makeAccessible(findLoadedClassMethod); ReflectionUtils.makeAccessible(findLoadedClassMethod);
ClassLoader parent = getParent(); ClassLoader parent = getParent();
while (parent != null) { while (parent != null) {
if (ReflectionUtils.invokeMethod(findLoadedClassMethod, parent, new Object[] {className}) != null) { if (ReflectionUtils.invokeMethod(findLoadedClassMethod, parent, className) != null) {
return false; return false;
} }
parent = parent.getParent(); parent = parent.getParent();

View File

@ -760,6 +760,7 @@ public class MBeanExporter extends MBeanRegistrationSupport
* @param bean the original bean instance * @param bean the original bean instance
* @return the adapted MBean, or <code>null</code> if not possible * @return the adapted MBean, or <code>null</code> if not possible
*/ */
@SuppressWarnings("unchecked")
protected DynamicMBean adaptMBeanIfPossible(Object bean) throws JMException { protected DynamicMBean adaptMBeanIfPossible(Object bean) throws JMException {
Class targetClass = AopUtils.getTargetClass(bean); Class targetClass = AopUtils.getTargetClass(bean);
if (targetClass != bean.getClass()) { if (targetClass != bean.getClass()) {

View File

@ -1,12 +1,12 @@
/* /*
* Copyright 2002-2007 the original author or authors. * Copyright 2002-2009 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@ -18,21 +18,21 @@ package org.springframework.validation;
/** /**
* A validator for application-specific objects. * A validator for application-specific objects.
* *
* <p>This interface is totally divorced from any infrastructure * <p>This interface is totally divorced from any infrastructure
* or context; that is to say it is not coupled to validating * or context; that is to say it is not coupled to validating
* only objects in the web tier, the data-access tier, or the * only objects in the web tier, the data-access tier, or the
* whatever-tier. As such it is amenable to being used in any layer * whatever-tier. As such it is amenable to being used in any layer
* of an application, and supports the encapsulation of validation * of an application, and supports the encapsulation of validation
* logic as first-class citizens in their own right. * logic as first-class citizens in their own right.
* *
* <p>Find below a simple but complete <code>Validator</code> * <p>Find below a simple but complete <code>Validator</code>
* implementation, which validates that the various {@link String} * implementation, which validates that the various {@link String}
* properties of a <code>UserLogin</code> instance are not empty * properties of a <code>UserLogin</code> instance are not empty
* (that is they are not <code>null</code> and do not consist * (that is they are not <code>null</code> and do not consist
* wholly of whitespace), and that any password that is present is * wholly of whitespace), and that any password that is present is
* at least <code>'MINIMUM_PASSWORD_LENGTH'</code> characters in length. * at least <code>'MINIMUM_PASSWORD_LENGTH'</code> characters in length.
* *
* <pre class="code"> public class UserLoginValidator implements Validator { * <pre class="code"> public class UserLoginValidator implements Validator {
* *
* private static final int MINIMUM_PASSWORD_LENGTH = 6; * private static final int MINIMUM_PASSWORD_LENGTH = 6;
@ -53,17 +53,17 @@ package org.springframework.validation;
* } * }
* } * }
* }</pre> * }</pre>
* *
* <p>See also the Spring reference manual for a fuller discussion of * <p>See also the Spring reference manual for a fuller discussion of
* the <code>Validator</code> interface and it's role in a enterprise * the <code>Validator</code> interface and it's role in a enterprise
* application. * application.
* *
* @author Rod Johnson * @author Rod Johnson
* @see Errors * @see Errors
* @see ValidationUtils * @see ValidationUtils
*/ */
public interface Validator { public interface Validator {
/** /**
* Can this {@link Validator} {@link #validate(Object, Errors) validate} * Can this {@link Validator} {@link #validate(Object, Errors) validate}
* instances of the supplied <code>clazz</code>? * instances of the supplied <code>clazz</code>?
@ -77,8 +77,8 @@ public interface Validator {
* {@link #validate(Object, Errors) validate} instances of the * {@link #validate(Object, Errors) validate} instances of the
* supplied <code>clazz</code> * supplied <code>clazz</code>
*/ */
boolean supports(Class clazz); boolean supports(Class<?> clazz);
/** /**
* Validate the supplied <code>target</code> object, which must be * Validate the supplied <code>target</code> object, which must be
* of a {@link Class} for which the {@link #supports(Class)} method * of a {@link Class} for which the {@link #supports(Class)} method

View File

@ -20,8 +20,8 @@
<xsd:element name="property-placeholder"> <xsd:element name="property-placeholder">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
Activates replacement of ${...} placeholders, resolved against the specified properties file or Properties object Activates replacement of ${...} placeholders, resolved against the specified properties file or
(if any). Falls back to resolving placeholders against JVM system properties. Properties object (if any). Falls back to resolving placeholders against JVM system properties.
Alternatively, define a parameterized PropertyPlaceholderConfigurer bean in the context. Alternatively, define a parameterized PropertyPlaceholderConfigurer bean in the context.
]]></xsd:documentation> ]]></xsd:documentation>
<xsd:appinfo> <xsd:appinfo>
@ -155,23 +155,22 @@
<xsd:attribute name="use-default-filters" type="xsd:boolean" default="true"> <xsd:attribute name="use-default-filters" type="xsd:boolean" default="true">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
Indicates whether automatic detection of classes annotated with @Component, @Repository, @Service, or @Controller Indicates whether automatic detection of classes annotated with @Component, @Repository, @Service,
should be enabled. Default is "true". or @Controller should be enabled. Default is "true".
]]></xsd:documentation> ]]></xsd:documentation>
</xsd:annotation> </xsd:annotation>
</xsd:attribute> </xsd:attribute>
<xsd:attribute name="annotation-config" type="xsd:boolean" default="true"> <xsd:attribute name="annotation-config" type="xsd:boolean" default="true">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
Indicates whether the implicit AutowiredAnnotationBeanPostProcessor and CommonAnnotationBeanPostProcessor should Indicates whether the implicit annotation post-processors should be enabled. Default is "true".
be enabled. Default is "true".
]]></xsd:documentation> ]]></xsd:documentation>
</xsd:annotation> </xsd:annotation>
</xsd:attribute> </xsd:attribute>
<xsd:attribute name="name-generator" type="xsd:string"> <xsd:attribute name="name-generator" type="xsd:string">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
The fully-qualified classname of the BeanNameGenerator to be used for naming detected components. The fully-qualified class name of the BeanNameGenerator to be used for naming detected components.
]]></xsd:documentation> ]]></xsd:documentation>
<xsd:appinfo> <xsd:appinfo>
<tool:annotation> <tool:annotation>
@ -184,7 +183,8 @@
<xsd:attribute name="scope-resolver" type="xsd:string"> <xsd:attribute name="scope-resolver" type="xsd:string">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
The fully-qualified class name of the ScopeMetadataResolver to be used for resolving the scope of detected components. The fully-qualified class name of the ScopeMetadataResolver to be used for resolving the scope of
detected components.
]]></xsd:documentation> ]]></xsd:documentation>
<xsd:appinfo> <xsd:appinfo>
<tool:annotation> <tool:annotation>
@ -197,8 +197,8 @@
<xsd:attribute name="scoped-proxy"> <xsd:attribute name="scoped-proxy">
<xsd:annotation> <xsd:annotation>
<xsd:documentation><![CDATA[ <xsd:documentation><![CDATA[
Indicates whether proxies should be generated for detected components, which may be necessary when using certain Indicates whether proxies should be generated for detected components, which may be necessary
non-singleton scopes in a proxy-style fashion. Default is to generate no such proxies. when using scopes in a proxy-style fashion. Default is to generate no such proxies.
]]></xsd:documentation> ]]></xsd:documentation>
</xsd:annotation> </xsd:annotation>
<xsd:simpleType> <xsd:simpleType>