--- James Carman <[EMAIL PROTECTED]> wrote: > The concept of an "expression" comes up within a lot > of contexts. > There are various ways to define/evaluate an > expression, currently, > but there's no standardized API way to deal with > them. I was trying > to come up with an API, but I don't know where it > should belong. > Should it be part of Lang, BeanUtils, or its own > project. Here's the > basic idea: > > public interface Expression > { > public Object getValue(Object rootObject); > public void setValue(Object rootObject, Object > value); > } > > This is similar to the way OGNL thinks of things > except they "compile" > their expressions into some nebulous "tree" object > (no API, just > represented as an Object) and you then use the > static methods on the > Ognl class to get/set values using that tree. The > way I see it, this > interface could be implemented in a variety of ways > (OGNL, MVEL, > JSTL-EL, reflection, Javassist, etc.). So, what I'm > looking for is a > home. Where should something like this belong? > Does it even belong > in Commons at all, since it's a "framework" (it > could be argued that > Proxy is a framework much like this too, though)? > Thoughts anyone? > > This idea came up when discussing the concept of > "recording" this > expression using proxied root objects (similar to > how mock testing > frameworks do it). I have the logic to record > invoked methods using > Commons Proxy, but I need a way to generate > expression objects that I > can then evaluate later. >
I'm still hoping to bring Morph on board soon, and its current codebase contains several facets including a Language abstraction. I really think there's some overlap there with [el], but another piece of Morph is its Reflector APIs which are similar to BeanUtils' DynaBean, and I'm thinking the Reflector APIs could go far toward providing a useful abstraction to plug arbitrary object types into expression evaluators. -Matt > --------------------------------------------------------------------- > To unsubscribe, e-mail: > [EMAIL PROTECTED] > For additional commands, e-mail: > [EMAIL PROTECTED] > > ____________________________________________________________________________________ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. http://tc.deals.yahoo.com/tc/blockbuster/text5.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]