"Fossies" - the Fresh Open Source Software Archive 
Member "spring-framework-6.0.4/spring-expression/readme.txt" (11 Jan 2023, 3045 Bytes) of package /linux/misc/spring-framework-6.0.4.tar.gz:
As a special service "Fossies" has tried to format the requested text file into HTML format (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
See also the last
Fossies "Diffs" side-by-side code changes report for "readme.txt":
5.3.22_vs_5.3.23.
1 List of outstanding things to think about - turn into tickets once distilled to a core set of issues
2
3 High Importance
4
5 - In the resolver/executor model we cache executors. They are currently recorded in the AST and so if the user chooses to evaluate an expression
6 in a different context then the stored executor may be incorrect. It may harmless 'fail' which would cause us to retrieve a new one, but
7 can it do anything malicious? In which case we either need to forget them when the context changes or store them elsewhere. Should caching be
8 something that can be switched on/off by the context? (shouldCacheExecutors() on the interface?)
9 - Expression serialization needs supporting
10 - expression basic interface and common package. Should LiteralExpression be settable? should getExpressionString return quoted value?
11
12 Low Importance
13
14 - For the ternary operator, should isWritable() return true/false depending on evaluating the condition and check isWritable() of whichever branch it
15 would have taken? At the moment ternary expressions are just considered NOT writable.
16 - Enhance type locator interface with direct support for register/unregister imports and ability to set class loader?
17 - Should some of the common errors (like SpelMessages.TYPE_NOT_FOUND) be promoted to top level exceptions?
18 - Expression comparison - is it necessary?
19
20 Syntax
21
22 - should the 'is' operator change to 'instanceof' ?
23 - in this expression we hit the problem of not being able to write chars, since '' always means string:
24 evaluate("new java.lang.String('hello').charAt(2).equals('l'.charAt(0))", true, Boolean.class);
25 So 'l'.charAt(0) was required - wonder if we can build in a converter for a single length string to char?
26 Can't do that as equals take Object and so we don't know to do a cast in order to pass a char into equals
27 We certainly cannot do a cast (unless casts are added to the syntax). See MethodInvocationTest.testStringClass()
28 - MATCHES is now the thing that takes a java regex. What does 'like' do? right now it is the SQL LIKE that supports
29 wildcards % and _. It has a poor implementation but I need to know whether to keep it in the language before
30 fixing that.
31 - Need to agree on a standard date format for 'default' processing of dates. Currently it is:
32 formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.UK);
33 // this is something of this format: "Wed, 4 Jul 2001 12:08:56 GMT"
34 // https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
35 - See LiteralTests for Date (4,5,6) - should date take an expression rather than be hardcoded in the grammar
36 to take 2 strings only?
37 - when doing arithmetic, eg. 8.4 / 4 and the user asks for an Integer return type - do we silently coerce or
38 say we cannot as it won't fit into an int? (see OperatorTests.testMathOperatorDivide04)
39 - Is $index within projection/selection useful or just cute?
40 - All reals are represented as Doubles (so 1.25f is held internally as a double, can be converted to float when required though) - is that ok?