Nifty. 

I did not add any API; the list of arguments was already there :)

To describe arguments and return could we please use geotools parameter class? 
It all ready covers every case mentioned In email, and we have user interfaces 
built against it. 



On 30/04/2011, at 5:20 AM, Andrea Aime <andrea.a...@geo-solutions.it> wrote:

> On Fri, Apr 29, 2011 at 7:17 PM, Justin Deoliveira <jdeol...@opengeo.org> 
> wrote:
>> Hi all,
>> I wanted to continue on with some chat about the FunctionName interface.
>> Jody recently modified it to return a list of argument names. However as
>> Andrea noted in that thread it does not give any information about the types
>> of those arguments.
>> Well as it turns out for wfs 2.0/fes 2.0 the filter capabilities requires
>> information about argument type. I could just do something lame and stick in
>> xs:any or something like that but I figure it might be worth some
>> modifications to the interface.
>> Furthermore the spec requires that a function declare its return type as
>> well. So the idea would be to modify FunctionName as follows:
>> interface FunctionName {
>>   List<FunctionParameter> getArguments();
>>   FunctionParameter getReturn();
>> }
>> interface FunctionParameter {
>>   String getName();
>>   Class getType();
>> }
>> Now Andrea also brought up the issue of functions that take a variable
>> number of arguments. One possibly solution might be to add some sort of flag
>> like:
>> interface FunctionName {
>>   boolean hasVariableArguments();
>> }
>> Or perhaps follow VolatileFunction and come with an interface called
>> VariableArgumentFunction. Such functions would return an empty argument
>> list. Or depending on if all the arguments are the same type maybe a single
>> argument. Actually following this thought maybe a flag on FunctionParameter
>> makes more sense:
>> interface FunctionParameter {
>>   ...
>>   boolean isVariable();
>> }
>> 
>> Anyways thoughts?
> 
> What about having minOccurs() and maxOccurs() int the FunctionParameter?
> Just a though, makes it similar to a xml element.
> 
> Another angle is how to handle the variability. In positional call
> conventions (such as java)
> only the last param is allowed to be multivalued, everything else that
> is multivalued
> has to be passed in a collection argument.
> 
> Maybe we can just keep "isVariable()" and have it be legally true only for
> the last param? Thinking out loud here.
> 
> There is another consideration I see here. Functions params have
> always been positional
> so far, e.g., the first param is the first string to compare the
> second param is the second
> one, a eventual third may talk about case sensitiveness, and so on.
> 
> Once we have named function parameters, are we switching from positional to
> mapped, name -> value(s)?
> Does not look like, since we have a List<FunctionName>, but just to be sure 
> :-)
> 
> 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
> 
> -------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> WhatsUp Gold - Download Free Network Management Software
> The most intuitive, comprehensive, and cost-effective network 
> management toolset available today.  Delivers lowest initial 
> acquisition cost and overall TCO of any competing solution.
> http://p.sf.net/sfu/whatsupgold-sd
> _______________________________________________
> Geotools-devel mailing list
> Geotools-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-devel

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to