Commit Graph

545 Commits

Author SHA1 Message Date
Sam Brannen
9d7bc31f0d polishing 2011-07-17 16:35:22 +00:00
Chris Beams
605f0e7a22 Introduce GenericTypeResolver#resolveReturnTypeArgument
Issue: SPR-8514
2011-07-06 09:15:32 +00:00
Chris Beams
7c25c84ee2 Deprecate/move CGLIB methods AopUtils=>ClassUtils
isCglibProxy* methods in AopUtils are useful in lower-level modules,
i.e. those that cannot depend on .aop.  Therefore copied these methods
to ClassUtils; deprecated the existing ones in AopUtils and now
delegating to the new location; switched all usage of
AopUtils#isCglibProxy* within the framework to use
ClassUtils#isCglibProxy* instead.
2011-07-06 09:15:27 +00:00
Chris Beams
b5b2add5cf Rename {DEFAULT_=>}COMMAND_LINE_PROPERTY_SOURCE_NAME
For consistency with all other constants representing default
property source names, such as
StandardServletEnvironment#SERVLET_CONTEXT_PROPERTY_SOURCE_NAME and
StandardEnvironment#SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME

Issue: SPR-8482
2011-07-02 21:39:52 +00:00
Chris Beams
1eb5811347 Introduce CommandLinePropertySource and impls
Users may now work with command line arguments as a source of
properties for use with the PropertySource and Environment APIs.
An implementation based on the jopt library and a "simple"
implementation requiring no external libraries are are provided
out-of-the box.

See Javadoc for CommandLinePropertySource, JOptCommandLinePropertySource
and SimpleCommandLinePropertySource for details.

Issue: SPR-8482
2011-06-30 22:33:56 +00:00
Keith Donald
8504830da1 javadoc update 2011-06-27 21:37:34 +00:00
Keith Donald
c9d73e2bde SPR-8465 2011-06-27 21:36:48 +00:00
Sam Brannen
3eb4f1d78b fixed typo 2011-06-25 15:53:43 +00:00
Rossen Stoyanchev
2d29439130 SPR-7787 Allow qualifiers in regular expressions of URI template patterns. 2011-06-22 20:39:10 +00:00
Arjen Poutsma
7c504853cd SPR-8457 - XMLEventStreamReader.getText() fails for COMMENT and ENTITY_REFERENCE events 2011-06-17 09:06:02 +00:00
Chris Beams
5dc2d56600 Fix regression with covariant property return types
Prior to this change, the Property class introduced in 3.1 M2 validated
read/write property method pairs based on whether their parameter/return
types were equal to one another.  This precluded the valid possibility
of read method that returns a subtype of the write method's parameter
type, and represented a regression against 3.1 M1 and earlier versions.

The implementation now uses isAssignableFrom rather than a straight
equals check against the types.

Issue: SPR-8432
2011-06-16 07:53:42 +00:00
Chris Beams
2d68b726b5 Add syntax highlighting to Javadoc where necessary
Issue: SPR-8426
2011-06-12 06:56:17 +00:00
Juergen Hoeller
d940811d8b full support for arbitrary nesting of collections in fields (SPR-8394); proper type detection in nested collections within arrays 2011-06-07 22:33:23 +00:00
Keith Donald
15e009f3a0 added utility method to reduce code duplication 2011-06-07 20:44:02 +00:00
Keith Donald
1e39b0bbbc implemented collection/map converter conditional matching checks; updated SpEL to reflect this behavior 2011-06-07 20:00:28 +00:00
Keith Donald
e5d551587a fixed failing test; initial conditional converter impls for collections, arrays, and maps 2011-06-07 15:56:51 +00:00
Keith Donald
a60cb43c6a added back element type checks in TypeDescriptor#isAssignable; clarified semantics in javadoc 2011-06-07 15:33:44 +00:00
Keith Donald
5e3a5202fb restored TypeDescriptor getElementType, getMapKeyType, and getMapValueType compatibility; StringToCollection and Array Converters are now conditional and check targetElementType if present; TypeDesciptor#isAssignable no longer bothers with element type and map key/value types in checking assignability for consistency elsewhere; improved javadoc 2011-06-07 02:51:44 +00:00
Keith Donald
a1a7c32052 string to collection and array converters now are conditional and apply target element type match 2011-06-06 22:48:00 +00:00
Sam Brannen
7307f3d513 Introduced toClassArray(Collection<Class<?>>). 2011-06-05 19:13:13 +00:00
Sam Brannen
5976beca80 polishing 2011-06-05 19:12:58 +00:00
Keith Donald
a40f6585b4 added convert(Object, TypeDescriptor) convenience method; collection and map tests 2011-06-05 18:36:58 +00:00
Keith Donald
5f8faa3ae7 improved null handling and javadoc 2011-06-05 17:41:08 +00:00
Keith Donald
cfb387383b broke out to top-level class for readability 2011-06-05 08:37:08 +00:00
Keith Donald
c09227a712 removed dependency on java.beans 2011-06-05 08:29:14 +00:00
Keith Donald
94d690fb2c javadoc and polishing 2011-06-05 07:14:34 +00:00
Keith Donald
c306afed63 polishing 2011-06-05 05:46:27 +00:00
Keith Donald
c84cccf06d revised TypeDescriptor NULL and element/mapKey/mapValue type semantics 2011-06-05 04:43:18 +00:00
Keith Donald
5db1687d29 added TypeDescriptor resolveCollectionElement and Map key/value types 2011-06-04 05:38:51 +00:00
Keith Donald
a1b7af5c9c broke out pkg private classes from TypeDescriptor to improve manageability and testability 2011-06-03 03:09:05 +00:00
Keith Donald
07f985ac91 more tests; several assertions for the programmer 2011-06-03 02:18:22 +00:00
Keith Donald
08180e97f8 javadoc polishing 2011-06-03 02:01:28 +00:00
Keith Donald
0f6d890d97 javadoc 2011-06-03 00:51:17 +00:00
Keith Donald
6f146737f4 simplified TypeDescriptor usage and updated use of the API across BeanWrapper and SpEL; collapsed PropertyTypeDescriptor into TypeDescriptor for simplicity and ease of use; improved docs 2011-06-02 23:37:19 +00:00
Chris Beams
8227cb6243 Introduce ConfigurableConversionService interface
Consolidates ConversionService and ConverterRegistry interfaces;
implemented by GenericConversionService.

ConfigurablePropertyResolver#getConversionService now returns this
new type (hence so too does
ConfigurableEnvironment#getConversionService). This allows for
convenient addition / removal of Converter instances from Environment's
existing ConversionService.  For example:

    ConfigurableApplicationContext ctx = new ...
    ConfigurableEnvironment env = ctx.getEnvironment();
    env.getConversionService().addConverter(new FooConverter());

Issue: SPR-8389
2011-06-02 06:50:42 +00:00
Chris Beams
6ae04eb7e6 Polish ConfigurablePropertyResolver Javadoc 2011-06-02 06:50:00 +00:00
Chris Beams
0304a4b74d Revert "Introduce Ordered#NOT_ORDERED"
This reverts commit da914bcfb4599ebf746ea477c691ed99c4842ed0 and also
removes the use of Ordered#NOT_ORDERED from EnableTransactionManagement
and ProxyTransactionManagementConfiguration in favor of defaulting to
Ordered#LOWEST_PRIORITY, which is actually the default that results
when no 'order' attribute is specified in XML.
2011-06-02 06:49:15 +00:00
Sam Brannen
cf2563bdf5 [SPR-8388] Cleared up confusing documentation regarding PropertyResolver and Environment. 2011-06-01 21:05:23 +00:00
Sam Brannen
919b996027 [SPR-8388] Improved documentation on default registered PropertyEditors; fixed typos and grammar in JavaDoc; suppressed warnings due to generics; etc. 2011-06-01 20:54:48 +00:00
Sam Brannen
13b7f1a31b fixed typos 2011-06-01 12:55:26 +00:00
Chris Beams
0756a6abfe Polish PropertySource and Environment Javadoc 2011-05-25 10:52:03 +00:00
Keith Donald
f43d0e1003 Revised converter search algorithm to favor super classes before interface hierarchy 2011-05-24 22:20:54 +00:00
Keith Donald
ad93d20a6c SPR-6749 2011-05-24 19:40:14 +00:00
Keith Donald
47e3f0948d polish 2011-05-24 18:32:01 +00:00
Keith Donald
01cbfd4f6f added null binding check for primitives for all conversion results; polishing 2011-05-24 17:53:18 +00:00
Keith Donald
d02e37a307 added new ConverterRegistry operation; polishing 2011-05-24 03:47:50 +00:00
Keith Donald
e25fbf2533 added symmetry to ToString converters: SPR-8306 2011-05-23 23:00:43 +00:00
Keith Donald
7430fcd904 SPR-8364 2011-05-23 07:38:27 +00:00
Keith Donald
5c67dbf424 revised findCommonElement handling within TypeDescriptor.forObject(Object); we now fully introspect the collection elements to resolve the common type. We also support nested introspection e.g. collections of collections. Object.class is used to indicate no common type, and TypeDescriptor.NULL is used to indicate a null element value 2011-05-23 05:21:02 +00:00
Keith Donald
79f9d1cfc6 moved applyIndexedObject internal, now invoked inside forObject static factory method 2011-05-23 01:08:18 +00:00