One other thing I would like would be for functions to be able to
advertise their inverse, if they have one, for more efficient support of
filters.
For example, a generic CQL strConcat is not readily invertible. If we
had instead, something that in CQL was
addPrefix('urn:x-text:MyOrg:',identifier), it could advertise its
inverse as what in CQL would be
removePrefix('urn:x-text:MyOrg:',identifier). I am thinking of
translating filter queries on properties computed by a Function into
efficient SQL queries.
On 30/04/11 01:17, Justin Deoliveira 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?
>
> -Justin
>
>
> --
> Justin Deoliveira
> OpenGeo - http://opengeo.org
> Enterprise support for open source geospatial.
>
>
--
Ben Caradoc-Davies <[email protected]>
Software Engineering Team Leader
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel