100 Commits
Author SHA1 Message Date
Andy Clement 90bed9718f Allow customization of SpEL method resolution
This change introduces a protected ReflectiveMethodResolver#getMethods,
allowing subclasses to specify additional static methods not
declared directly on the type being evaluated. These methods then become
candidates for filtering by any registered MethodFilters and ultimately
become available within for use within SpEL expressions.

Issue: SPR-9038
2012-02-01 17:36:57 +01:00
Andy Clement f8a2dd3f65 SPR-8211: property accessor ordering correction and removal of unnecessary duplicates 2011-05-12 16:40:44 +00:00
Andy Clement 580f35f6ee SFW-8228 2011-05-11 23:41:30 +00:00
Andy Clement 2f733bedc5 SFW-8224: distance can be used when computing method matches in ReflectiveMethodResolver 2011-05-11 21:44:24 +00:00
Andy Clement 9202224bca SPR-8174: varargs and primitive handling in SpEL 2011-04-01 21:59:25 +00:00
Andy Clement b9d07b9c47 SPR-7840: comparator dealing with nulls 2011-04-01 18:51:35 +00:00
Andy Clement ac9fd008de more projection tests - verifying the typedescriptor changes made by Keith 2011-01-07 19:14:42 +00:00
Andy Clement cb72fe1be2 SpEL documentation (!) on @Bean referencing, inline lists and array construction 2010-07-06 21:40:25 +00:00
Andy Clement f5ced9be38 SPR-7335: support for expression inline lists and array construction 2010-07-06 21:00:54 +00:00
Andy Clement 88560fd910 SPR-7343: StandardEvaluationContext not threadsafe in its lazy initialization 2010-07-02 16:08:25 +00:00
Andy Clement 6de707d8e0 polish 2010-07-02 16:07:13 +00:00
Andy Clement 0c1424acb6 polish 2010-07-02 16:06:59 +00:00
Andy Clement 569cb91573 javadoc fix 2010-06-21 22:13:49 +00:00
Andy Clement 5801af9ef5 SPR-7244: double indexing with a collection of different types of element 2010-05-28 20:31:16 +00:00
Andy Clement 101d8381ef SPR-7209: parsing poorly formed Elvis expressions 2010-05-18 18:44:40 +00:00
Andy Clement 2b0655b459 SPR-6941 2010-05-06 00:26:13 +00:00
Andy Clement f53621a86f SPR-7173, SPR-7100 2010-05-05 23:52:01 +00:00
Andy Clement bf1a95c771 SPR-7100: '_' supported as first char of identifier 2010-04-16 21:10:23 +00:00
Andy Clement d932c043da SPR-6984: auto grow collections on write through indexer 2010-03-15 18:15:48 +00:00
Andy Clement 81b10be1d0 SPR-6968: indexing via square brackets can now treat the index as an attempt at property access 2010-03-11 01:09:50 +00:00
Andy Clement 2dd1134303 SPR-6941: part (1) correct exception handling when null cachedExecutor 2010-03-09 17:33:36 +00:00
Andy Clement c31213e5cb SPR-6866: unhelpful NPE when expression badly formed 2010-03-09 00:55:03 +00:00
Andy Clement 117b138233 SPR-6745: metadata (annotations) attached to property accessors allowing formatting of values during conversion 2010-02-12 01:50:52 +00:00
Andy Clement 5ca1f11ce2 SPR-6763: more methods on StandardEvaluationContext supporting add/remove from resolver/accessor strategies 2010-02-02 21:38:33 +00:00
Andy Clement 66f708392e SPR-6764: filtering strategy for SpEL method invocation 2010-02-02 19:38:44 +00:00
Andy Clement 644f3065b6 SPR-6610: don't wrap runtime exceptions thrown from methods invoked via an expression 2010-02-01 20:13:08 +00:00
Andy Clement 4c35697c79 SPR-6760: method called twice if exits via exception in a 'normal' case 2010-02-01 19:53:34 +00:00
Andy Clement 33a7bbb485 SPR-6525: avoid need to use #root for method parameter references 2009-12-06 23:21:07 +00:00
Andy Clement 2e9683aa7c SPR-6347: guidance on when to use getValue(rootObject) vs getValue(evaluationContext) 2009-11-23 21:50:49 +00:00
Andy Clement 61a8fa0ebd change PlaceOfBirth toString() so round tripping from String > new PlaceOfBirth(String) > String works ok 2009-11-12 20:56:21 +00:00
Andy Clement c9057fd1da SPR-6230: SpEL improvements 2009-10-13 18:11:34 +00:00
Andy Clement c9f0e68c82 SPR-5307: Committing test but can't be uncommented until Spring depends on AspectJ 1.6.7 2009-10-07 02:54:44 +00:00
Andy Clement 076fc89a50 SPR-5518: Documented ability to use text rather than symbols for SPEL operators (lt, le, gt, ge, eq, ne, div, mod, not). Can help in XML specification of expressions. 2009-10-01 19:39:20 +00:00
Andy Clement 10e26e6dc7 SPR-6123: doc update on writing good pointcuts (should include a within()) 2009-10-01 19:05:11 +00:00
Andy Clement 855eac549e SpelExpressionParser made threadsafe 2009-09-03 20:09:11 +00:00
Andy Clement 7c6ea9b80d per Ramnivas' suggestion, removing this bit to try and fix snapshot builds 2009-07-28 22:03:09 +00:00
Andy Clement 84bdd1ab8e better method name 2009-07-10 19:44:40 +00:00
Andy Clement 3788a84b8e for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:50 +00:00
Andy Clement e3e34b04d4 for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:37 +00:00
Andy Clement 85eda27cd4 for Keith and his binder: fault in support for maps (if attempt made to reference into null map) and for general objects, e.g. foo.bar if foo was null, attempt to dynamically build foo. 2009-07-10 19:43:32 +00:00
Andy Clement d3c54d979e SPR-5906: test and fix for using expressions in property list keys and values 2009-07-07 20:13:21 +00:00
Andy Clement dcb52dbbc1 SPR-5906: test and fix for using expressions in property list keys and values 2009-07-07 20:13:18 +00:00
Andy Clement a2bce8c2a8 SPR-5905: support for inner type references in type references 'T(com.foo.A$B)' or in ctor calls 'new com.foo.A$B()' 2009-07-07 17:24:58 +00:00
Andy Clement dbdac9fa31 SPR-5847: require quotes for dotted map key names, eg. map['a.b.c'] 2009-07-07 16:32:56 +00:00
Andy Clement a4b7ce168c SPR-5804: problems with map access if it is the root object; SPR-5847: alternative map referencing strategies: a.b == a[b] == a['b'] 2009-07-07 16:08:10 +00:00
Andy Clement eb69e7574b SPR-5899: Invoking methods or constructors passing null (including varargs support) 2009-07-06 19:21:26 +00:00
Andy Clement ea2580af68 SPR-5518: textual alternatives for operators (eq, lt, le, gt, ge, ne, div, mod, not) - removes messy escaping for expressions declared in XML. 2009-07-06 18:53:48 +00:00
Andy Clement 7e05c928dd support for concatenation with String via operator '+' - for Ramnivas. 2009-06-30 19:19:07 +00:00
Andy Clement 6875df28d9 change from string compare to code compare for Spel exceptions 2009-06-11 16:18:13 +00:00
Andy Clement 69e48828cc change from SpelMessages to SpelMessage. Changed exception getter to getMessageCode() from getMessageUnformatted 2009-06-11 16:17:44 +00:00
Andy Clement 12923f196a new feature for binder - automatically create lists and entries in lists upon referencing nulls 2009-06-02 16:42:43 +00:00
Andy Clement 1fc8abade7 updates for Binding code - able to retrieve the type descriptor for a property and ask detailed questions (eg getAnnotations()) 2009-06-02 00:25:59 +00:00
Andy Clement 1e0207cf04 modified so that when the descriptor represents a method parameter, we retrieve the annotations from the method and not the method parameter (seems to make more sense - certainly in the binding case) 2009-06-02 00:25:20 +00:00
Andy Clement ac9e42fa29 BinderTests - two ignored tests reactivated. Binder - modified how annotation based formatters are registered/looked up 2009-06-02 00:24:43 +00:00
Andy Clement 88e32a3cfe test coverage. now > 95% 2009-05-27 19:59:32 +00:00
Andy Clement 233c84e0b9 test coverage 2009-05-27 19:37:17 +00:00
Andy Clement 1746cc76d1 findbugs issue addressed 2009-05-27 19:22:53 +00:00
Andy Clement e5fea54aea fix for ternary or elvis using a full expression for their result components. parser polishing 2009-05-27 19:16:45 +00:00
Andy Clement 0a2f936b80 remove antlr dependency 2009-05-27 04:38:36 +00:00
Andy Clement 5ea898bdb4 remove antlr dependency 2009-05-27 04:37:45 +00:00
Andy Clement d372a9ac5d use new SpEL parser 2009-05-27 04:33:21 +00:00
Andy Clement 886739f1d8 Hand written SpEL parser. Removed antlr dependency. tests upgraded to JUnit4 - 93% coverage. 2009-05-27 04:20:18 +00:00
Andy Clement 662dbaaed8 SPR-5692: export META-INF so that aop.xml is visible to aspectj load time weaving in an OSGi environment 2009-05-16 01:48:23 +00:00
Andy Clement d34a2c5d02 SPR-5663: test and fix: inconsistency between canRead() and read() on ReflectivePropertyResolver 2009-04-22 17:57:24 +00:00
Andy Clement 4c42597cbc SPR-5673: fix for problems with expressions that use the same symbols as are used in the template prefix/suffix 2009-04-22 00:10:47 +00:00
Andy Clement b98c7e48ef filled in some basic details on the type conversion support. No TODOs left in this section now. Also properly added the selection/projection sections. 2009-04-17 05:14:07 +00:00
Andy Clement 9d6ae6c532 minor fix 2009-04-17 05:02:05 +00:00
Andy Clement d119411098 removed unnecessary class. improvements to map projection/selection 2009-04-16 19:21:50 +00:00
Andy Clement 2f27bd5da7 changed to [] from {} for projection and selection (including first and last selection). addresses the problem of clashes with template prefix/suffix 2009-04-15 23:54:52 +00:00
Andy Clement 338a7ee2de SPR-5673: more intelligence in TemplateAwareExpressionParser. Supports prefix/suffix escaping and nesting of prefixes/suffixes 2009-04-14 21:26:56 +00:00
Andy Clement 2f5ba83416 more tests - about 82% coverage now. focused on testing reflection helper since it is rather complex. some asserts also added. 2009-04-13 20:51:52 +00:00
Andy Clement af6457a67d More tests. First pass on messages review. 2009-04-12 16:45:00 +00:00
Andy Clement 38c7f566e5 Fixed StandardTypeLocator to only know about java.lang.* out of the box. Doc fixes related to that. 2009-04-10 03:20:09 +00:00
Andy Clement f36b9eb088 finally some comparator logic that makes sense :) 2009-04-10 02:21:25 +00:00
Andy Clement 46c5340f57 More tests, corrections in standard comparator, more helper methods in StandardEvaluationContext. 2009-04-10 00:03:53 +00:00
Andy Clement ba613f2e35 allow for null 2009-04-09 22:04:08 +00:00
Andy Clement 00cecd0dd0 more tests, minor fixes. some findbugs issues addressed. 2009-04-09 22:03:38 +00:00
Andy Clement 707d2ed72a Changed signature of convertValue() to keep the Sun compiler happy 2009-04-09 16:00:53 +00:00
Andy Clement 3cac9267e9 Commented out the sections on list projection and #this. 2009-04-09 05:44:35 +00:00
Andy Clement f20dcf275f Corrected some typos, code samples and changed a bit of wording. All code samples are now SpEL testcases. 2009-04-09 01:56:34 +00:00
Andy Clement 9a8bb5f709 More tests and some fixes. Also created tests based on the documentation examples. 2009-04-09 01:43:07 +00:00
Andy Clement cfc65b0cc7 Removed unnecessary code. Increased test coverage from 70>75% - still some way to go 2009-04-08 04:50:43 +00:00
Andy Clement 30bed7b54a Corrected exception message inserts 2009-04-08 04:49:47 +00:00
Andy Clement 4a7f7bb24a more tests 2009-04-08 04:48:35 +00:00
Andy Clement 76fcc81bc6 New method to return string representation of typeDescriptor 2009-04-08 04:47:54 +00:00
Andy Clement a9f30fe377 Improving test coverage, more language consistency 2009-04-06 19:04:04 +00:00
Andy Clement c695d00dbe More test coverage for the expression AST 2009-04-04 01:04:31 +00:00
Andy Clement c4de2ba006 include missing package component 2009-04-04 00:06:01 +00:00
Andy Clement 4c5854d017 objects flowing around in expression evaluation are now TypedValue's - these carry generics info, used for conversions. 2009-04-03 23:39:14 +00:00
Andy Clement f6c1144e8d tests for TypeDescriptor - just basic so far 2009-04-03 23:38:31 +00:00
Andy Clement bdecf6720e extra factory method and type descriptor for NULL defined 2009-04-03 23:38:18 +00:00
Andy Clement 5a0522e203 fixed support for -1 parameterIndex to access the method return type 2009-04-03 23:37:59 +00:00
Andy Clement 959cc95c3f design change - no longer surfacing typeDescriptor through property accessor. conversion done internally in property write() code 2009-04-01 23:27:49 +00:00
Andy Clement 00018e511d implement new interface method 2009-04-01 21:58:24 +00:00
Andy Clement 1289f1069c new packages added 2009-04-01 21:47:35 +00:00
Andy Clement 54865c0c1f initial typeDescriptor awareness in the EL. some basic testing of using GenericConversionService 2009-04-01 21:38:51 +00:00
Andy Clement accf974727 use type descriptor to determine collection element type 2009-04-01 16:52:12 +00:00
Andy Clement c057638bd0 Indexed objects (arrays/maps/lists) now settable 2009-03-30 19:40:20 +00:00
Andy Clement 401b7f66c4 Indexed objects (arrays/maps/lists) now settable 2009-03-30 19:40:09 +00:00
Andy Clement 84a4fe6d39 remove files 2008-12-13 01:38:21 +00:00