On Fri, Jul 1, 2011 at 5:40 AM, Michael Bedward <michael.bedw...@gmail.com> wrote: > Meanwhile, for Sergey's problem perhaps we could add a function > function to GeoTools: ie. a filter function that takes a user supplied > function, implementing some simple interface, as a parameter.
The core of the problem is cloneability of that. The code that clones functions is this: public Object visit(Function expression, Object extraData) { List old = expression.getParameters(); Expression[] args = new Expression[old.size()]; int i = 0; for (Iterator iter = old.iterator(); iter.hasNext(); i++) { Expression exp = (Expression) iter.next(); args[i]= visit(exp, extraData); } return getFactory(extraData).function(expression.getName(), args); } public Object visit(Literal expression, Object extraData) { return getFactory(extraData).literal(expression.getValue()); } So let's say this delegate is stored in a literal so that it's still a parameter of tha main function. How would the function talk to the delegate? Passing down a array of objects? public interface FunctionDelegate { Object doSomething(Object... params); } Cheers Andrea -- ------------------------------------------------------- Ing. Andrea Aime GeoSolutions S.A.S. Tech lead Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 962313 http://www.geo-solutions.it http://geo-solutions.blogspot.com/ http://www.youtube.com/user/GeoSolutionsIT http://www.linkedin.com/in/andreaaime http://twitter.com/geowolf ------------------------------------------------------- ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Geotools-gt2-users mailing list Geotools-gt2-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users