Return-Path: X-Original-To: apmail-cayenne-user-archive@www.apache.org Delivered-To: apmail-cayenne-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 028AE10200 for ; Tue, 15 Sep 2015 00:38:48 +0000 (UTC) Received: (qmail 29852 invoked by uid 500); 15 Sep 2015 00:38:42 -0000 Delivered-To: apmail-cayenne-user-archive@cayenne.apache.org Received: (qmail 29826 invoked by uid 500); 15 Sep 2015 00:38:42 -0000 Mailing-List: contact user-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@cayenne.apache.org Delivered-To: mailing list user@cayenne.apache.org Received: (qmail 29814 invoked by uid 99); 15 Sep 2015 00:38:42 -0000 Received: from Unknown (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Sep 2015 00:38:42 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 1A9F518041A for ; Tue, 15 Sep 2015 00:38:42 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.879 X-Spam-Level: ** X-Spam-Status: No, score=2.879 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id L77sSwPnfXJ3 for ; Tue, 15 Sep 2015 00:38:41 +0000 (UTC) Received: from mail-ob0-f170.google.com (mail-ob0-f170.google.com [209.85.214.170]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with ESMTPS id 41AD020645 for ; Tue, 15 Sep 2015 00:38:40 +0000 (UTC) Received: by obbzf10 with SMTP id zf10so66727724obb.2 for ; Mon, 14 Sep 2015 17:38:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-type; bh=AFY7EH9GhHnNW7Et39YHrCUPdNS5kBOQk4LQ2TdwDFo=; b=bvEsp1miP8O96St2xlAWTiBrMdhms3zH03HiBkQ1bFowrUOQA5WfpoIdedGkTBVog1 0dlzYpLPMhXYhAkkRMfrsFDcX52nCWxVXdlQN9VdEBmzU0Ggh4ZxzfZHzoG2c14umvVf KE+XAvlGgp7MWcGzFCIhPUKJZogvUYqn3mCJgFZRaYYwuSoL9FZO453hJ+uJrjRFvtUj QBpMgz6GlUzT1xFJzbQoR7aYYA9XxEhjwWfVSzdKd8djwN/uU2tlh/+vLgq+8ZuShGRW jo8HdIoucs5xMTiz83mM48DGVJfBZMcpbg2rIFoJAW2bvTpkvgmCaMoJAa4rPxS2li1n vbgQ== X-Received: by 10.182.39.194 with SMTP id r2mr14949125obk.20.1442277519186; Mon, 14 Sep 2015 17:38:39 -0700 (PDT) MIME-Version: 1.0 References: <6A1CB791-ADC8-4BED-8BDC-BE7C7D2CAEDE@karlmenn.is> <338C2B0A-8753-459A-B8E7-8F168516E819@objectstyle.org> <55F60A21.2060606@maniatis.org> <5DECC009-805F-4243-9BAE-4466DD6094FB@apple.com> In-Reply-To: <5DECC009-805F-4243-9BAE-4466DD6094FB@apple.com> From: John Huss Date: Tue, 15 Sep 2015 00:38:29 +0000 Message-ID: Subject: Re: Is there a canonical method of invoking aggregate functions To: user@cayenne.apache.org Content-Type: multipart/alternative; boundary=001a11c1d8d632e0aa051fbe670e --001a11c1d8d632e0aa051fbe670e Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable ERXKey is in cayenne 4.0 and is called Property and the default templates create them for you. On Mon, Sep 14, 2015 at 3:42 PM Joseph Senecal wrote: > > > > Can you give us a short summary of what features Wonder would bring to = a > Cayenne developer? > > My favorite Project Wonder extension for EOF would be the automatically > generated ERXKeys. > > The Project Wonder template would generate a base class with all the > getters and setters for a class (business logic would be in the super > class). In addition to the getters and setters, these base classes includ= ed > fetch methods that returned a List of that class type instead of an untyp= ed > list. Also they included an ERXKey for each field or relation in the clas= s. > > ERXKeys could be used to easily generate qualifiers (Queries) or sort > orderings. These could easily be combined to generate more complex querie= s. > In addition, ERXKeys could be used to fetch a particular field out of eve= ry > record in a list of DB objects, returning a list of values. And since the > ERXKey was defined with the field type, the returned list was correctly > typed. > > Example: > List data =3D > Foobar.fetch(Foobar.FOO.eq(10).and(Foobar.BAR.eq(=E2=80=9CNOW=E2=80=9D)))= ; > List fieldData =3D Foobar.FOO_BAR.arrayValueInObject(data); > > Joe --001a11c1d8d632e0aa051fbe670e--