Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id DEC45200C39 for ; Thu, 16 Mar 2017 08:50:28 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id DD345160B7A; Thu, 16 Mar 2017 07:50:28 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3522F160B78 for ; Thu, 16 Mar 2017 08:50:28 +0100 (CET) Received: (qmail 92549 invoked by uid 500); 16 Mar 2017 07:50:27 -0000 Mailing-List: contact dev-help@cayenne.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cayenne.apache.org Delivered-To: mailing list dev@cayenne.apache.org Received: (qmail 92536 invoked by uid 99); 16 Mar 2017 07:50:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Mar 2017 07:50:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 84615CCED6 for ; Thu, 16 Mar 2017 07:50:26 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.556 X-Spam-Level: X-Spam-Status: No, score=0.556 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.096, SPF_NEUTRAL=0.652] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=objectstyle-com.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id tPubVn53TQEu for ; Thu, 16 Mar 2017 07:50:25 +0000 (UTC) Received: from mail-ua0-f171.google.com (mail-ua0-f171.google.com [209.85.217.171]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 067875F5C9 for ; Thu, 16 Mar 2017 07:50:24 +0000 (UTC) Received: by mail-ua0-f171.google.com with SMTP id 72so21511495uaf.3 for ; Thu, 16 Mar 2017 00:50:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=objectstyle-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=shtrbKD13L2jC+a33zpYnUidhZVki6xrv1kkrMT30ak=; b=A23yUzEnJDxGMXLld3zTBWa7JQAIDzJogEP9nPFs0PCZlQ4SImhfp9VgmD+SwkGo+z KdmYPy0Son8aSwk64dv1pYsStC4Io3JP3mm7/0pFXjSZhaa0essjzduKJXHKEL4E0vqI Mp1dS7MZMXDqqCJYpHAY0JqukZZeDxRJi70bsANN8L5XQY0vvLsA0wgi2NiGzFWIJFxB 4rDs7KZxq/w992WPncT0SSB/FfvCoxa7DotSj0umBDFEJv8bYZ50V5VcZInCFmiQVkiW c6bdBgqxhQTrb0vq7o9WTQoTtfw0CHNydIiEguSOgrWyMGXy2cdBhtJFz/qZeKv+7ljK qKPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=shtrbKD13L2jC+a33zpYnUidhZVki6xrv1kkrMT30ak=; b=rrrf1EdiXXOPPOcZBFWrTQVnBjmewqVZ2Us5fE9ZnvVfKiR4spxT6RIREUKvaVT+WU hF3aVGIQeL0NKbtdiy+13tsjLeEC7vm8K2euPsEC156YNVS7cf/Sl7iT+GYS3Dg34NET JgYJ0dm/elgwRa+Qd0HU0rhWA9dbwmca3SRxTS+2FYXTLx4Deegw7dCZWgcs4X4EHS7Z kQ7exM/myeiQj9HbUM4Sf1WSyYX03k7VWP+dEPC+V75QIwaRvo6BILnbRTXXRckElsz9 rY9I3rjKY5Q16bZ/OL3qTOJbzNLFBQwrLLexUxHqSaYsxpz1vp3tuMwIHGFmZtRt2zhJ 7eOg== X-Gm-Message-State: AFeK/H2rSdGvYSiWpM4vGxqcZtGlBEWKFy2RkOUMvvSmMAvgJMxlUmwZ4Jj49wgHhuYtdCoOWdLhbNE9joOmZA== X-Received: by 10.159.39.39 with SMTP id a36mr2605691uaa.32.1489650623626; Thu, 16 Mar 2017 00:50:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.39.134 with HTTP; Thu, 16 Mar 2017 00:50:03 -0700 (PDT) From: Nikita Timofeev Date: Thu, 16 Mar 2017 10:50:03 +0300 Message-ID: Subject: Changes in DI ListBuilder API To: dev@cayenne.apache.org Content-Type: text/plain; charset=UTF-8 archived-at: Thu, 16 Mar 2017 07:50:29 -0000 Hi all, One more thing I want to change in the existing DI API. This time it's about creating ordered List binding. There are some problems and ambiguities with new 4.0 DI API for adding ordered dependencies: 1) you can call after() / before() without adding anything first, that will cause NPE 2) right order of calls is not clear: add().after() or after().add() Suggested API modification: 1) remove UnorderedListBuilder, keep everything in ListBuilder 2) add methods with explicit before\after parameters: ListBuilder addAfter(Class interfaceType, Class afterType); ListBuilder addAfter(T value, Class afterType); ListBuilder addAllAfter(Collection values, Class afterType); ListBuilder insertBefore(Class interfaceType, Class beforeType); ListBuilder insertBefore(T value, Class beforeType); ListBuilder insertAllBefore(Collection values, Class beforeType); -- Best regards, Nikita Timofeev