Hi Barry,
Sorry, I missed the context on this... as a "drools user", you should
never have to worry about mvel strict/strong type configuration...
Just FYI, Drools internally uses a 2 phase compilation of mvel
expressions, where the first is run in non-strict/strong mode to detect
expression inputs, and then on the second time Drools sets MVEL to strong
typing and provides the type information for all inputs. Again, this is
internal and you should never need to know this.
What is happening?
Edson
2010/6/9 Barry Kaplan <groups1(a)memelet.com>
>From the MVEL docs (
http://mvel.codehaus.org/MVEL+2.0+Typing):
Strict Typing
Strict typing in MVEL is an optional mode for the compiler, in which all
types must be fully qualified, either by declaration or inference.
Enabling Strict Mode
When compiling an expression, the compiler can be put into strict mode
through the ParserContext by setting setStrictTypeEnforcement(true).
Satisfying type strictness can be accomplished both by requiring explicit
declaration of types inside the expression, or by notifying the parser
ahead
of time of what the types of certain inputs are.
For example:
ExpressionCompiler compiler = new ExpressionCompiler(expr);
ParserContext context = new ParserContext();
context.setStrictTypeEnforcement(true);
context.addInput("message", Message.class);
context.addInput("person", Person.class);
compiler.compile(context);
In this example we inform the compiler that this expression will be
accepting two external inputs: message and person and what the types of
those inputs are. This allows the compiler to determine if a particular
call
is safe at compile time, instead of failing at runtime.
Note about Generic Types
You must use Strong Typing Mode to enable awareness of generic types. Type
parameters for collections and other types will not be visible in
strict-typing mode alone.
Strong Typing
Strong typing is a newly introduced mode in MVEL 2.0. It is different from
strict mode in the sense that strongly typed mode requires that all
variables be type qualified. Contrast this with strict mode which only
requires that properties and method calls be qualified at compile-time.
See the full article: Strong Typing Mode
--
View this message in context:
http://drools-java-rules-engine.46999.n3.nabble.com/MVEL-strict-mode-when...
Sent from the Drools - User mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @
www.jboss.com