[ 
https://issues.apache.org/jira/browse/CAY-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nikita Timofeev closed CAY-2268.
--------------------------------
    Resolution: Fixed

https://github.com/apache/cayenne/commit/9cc58c63fd1243d982dac4f00ac0270ba3b9efce

> DI: Refactor ListBuilder API ambiguities for before() / after() bindings
> ------------------------------------------------------------------------
>
>                 Key: CAY-2268
>                 URL: https://issues.apache.org/jira/browse/CAY-2268
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>            Reporter: Nikita Timofeev
>            Assignee: Nikita Timofeev
>              Labels: DI
>             Fix For: 4.0.M6
>
>
> There are some problems and ambiguities with API for adding ordered 
> dependencies:
> # you can call {{after()}} / {{before()}} without adding anything first, that 
> will cause NPE
> # right order of calls is not clear: {{add().after()}} or {{after().add()}}
> Suggested API modification:
> # remove {{UnorderedListBuilder}}, keep everything in {{ListBuilder}}
> # add methods with explicit before\after parameters:
> {code}
>     ListBuilder<T> addAfter(Class<? extends T> interfaceType, Class<? extends 
> T> afterType);
>     ListBuilder<T> addAfter(T value, Class<? extends T> afterType);
>     ListBuilder<T> addAllAfter(Collection<T> values, Class<? extends T> 
> afterType);
>     ListBuilder<T> insertBefore(Class<? extends T> interfaceType, Class<? 
> extends T> beforeType);
>     ListBuilder<T> insertBefore(T value, Class<? extends T> beforeType);
>     ListBuilder<T> insertAllBefore(Collection<T> values, Class<? extends T> 
> beforeType);
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to