File tree 2 files changed +19
-8
lines changed
spring-context/src/main/java/org/springframework/context/event
2 files changed +19
-8
lines changed Original file line number Diff line number Diff line change 1
1
/*
2
- * Copyright 2002-2015 the original author or authors.
2
+ * Copyright 2002-2016 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
87
87
/**
88
88
* Spring Expression Language (SpEL) attribute used for making the
89
89
* event handling conditional.
90
- * <p>Default is "", meaning the event is always handled.
90
+ * <p>Default is {@code ""}, meaning the event is always handled.
91
+ * <p>The SpEL expression evaluates against a dedicated context that
92
+ * provides the following meta-data:
93
+ * <ul>
94
+ * <li>{@code #root.event}, {@code #root.args} for
95
+ * references to the {@link ApplicationEvent} and method arguments
96
+ * respectively.</li>
97
+ * <li>Method arguments can be accessed by index. For instance the
98
+ * first argument can be accessed via {@code #root.args[0]}, {@code #p0}
99
+ * or {@code #a0}. Arguments can also be accessed by name if that
100
+ * information is available.</li>
101
+ * </ul>
91
102
*/
92
103
String condition () default "" ;
93
104
Original file line number Diff line number Diff line change @@ -8314,8 +8314,8 @@ event is equal to `foo`:
8314
8314
[source,java,indent=0]
8315
8315
[subs="verbatim,quotes"]
8316
8316
----
8317
- @EventListener(condition = "#event .test == 'foo'")
8318
- public void processBlackListEvent(BlackListEvent event ) {
8317
+ @EventListener(condition = "#blEvent .test == 'foo'")
8318
+ public void processBlackListEvent(BlackListEvent blEvent ) {
8319
8319
// notify appropriate parties via notificationAddress...
8320
8320
}
8321
8321
----
@@ -8328,22 +8328,22 @@ available to the context so one can use them for conditional event processing:
8328
8328
|===
8329
8329
| Name| Location| Description| Example
8330
8330
8331
- | event
8331
+ | Event
8332
8332
| root object
8333
8333
| The actual `ApplicationEvent`
8334
8334
| `#root.event`
8335
8335
8336
- | args
8336
+ | Arguments array
8337
8337
| root object
8338
8338
| The arguments (as array) used for invoking the target
8339
8339
| `#root.args[0]`
8340
8340
8341
- | __argument name__
8341
+ | __Argument name__
8342
8342
| evaluation context
8343
8343
| Name of any of the method arguments. If for some reason the names are not available
8344
8344
(e.g. no debug information), the argument names are also available under the `#a<#arg>`
8345
8345
where __#arg__ stands for the argument index (starting from 0).
8346
- | `#iban ` or `#a0` (one can also use `#p0` or `#p<#arg>` notation as an alias).
8346
+ | `#blEvent ` or `#a0` (one can also use `#p0` or `#p<#arg>` notation as an alias).
8347
8347
|===
8348
8348
8349
8349
Note that `#root.event` allows you to access to the underlying event, even if your method
You can’t perform that action at this time.
0 commit comments