Hi all,

There is something I can't express using "collect" or "accumulate" and I would like to have your opinion.
Let's imagine I have the following types :

    # a country type
*    declare Country
       name : String
    end
*
    # a city type holding a reference to its country
*    declare City
       name : String
       country : Country
    end
*
Let's imagine I have all Country and City objects into the working memory.
I want to get the set of Countries corresponding to Cities whose name starts with "X".

I have the impression that I need a kind of (nonexistent right?) "collect" syntax that would look like the "accumulate" syntax (a kind of "anonymous" accumulate function):

    # meaning I want to collect $country objects and not City objects
$countries : HashSet() from collect (City($name matches "X.*", $country : country)*, $country*)

Or a home made accumulate function that builds a set of countries:

    # custom "buildset" accumulate function
$countries : HashSet() from accumulate (City($name matches "X.*", $country : country), *buildset*($country))

Do you see any other (possibly out of the box) solution?

Many thanks in advance for your answers,
Best regards,

Bruno.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to