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