Expression factory implementation. This class is also used as an EL "service provider". The
JUEL jar file specifies this class as el expression factory implementation in
META-INF/services/javax.el.ExpressionFactory
. Calling {@link ExpressionFactory#newInstance()} will then returnan instance of this class, configured as described below. The default constructor loads properties from resources
-
JAVA_HOME/lib/el.properties
- If this file exists and if it contains property javax.el.ExpressionFactory
whose value is the name of this class, these properties are taken as default properties. -
el.properties
on your classpath. These properties override the properties from JAVA_HOME/lib/el.properties
.
There's also a constructor to explicitly pass in an instance of {@link Properties}. Having this, the following properties are read:
-
javax.el.cacheSize
- cache size (int, default is 1000) -
javax.el.methodInvocations
- allow method invocations as in ${foo.bar(baz)}
(boolean, default is false
). -
javax.el.nullProperties
- resolve null
properties as in ${foo[null]}
(boolean, default is false
). -
javax.el.varArgs
- support function/method calls using varargs (boolean, default is false
).
@author Christoph Beck