You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Clement Escoffier (JIRA)" <ji...@apache.org> on 2013/05/28 06:14:20 UTC

[jira] [Closed] (FELIX-4034) Instance configuration DSL

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

Clement Escoffier closed FELIX-4034.
------------------------------------


Fixed in the iPOJO 1.10.0 runtime
                
> Instance configuration DSL
> --------------------------
>
>                 Key: FELIX-4034
>                 URL: https://issues.apache.org/jira/browse/FELIX-4034
>             Project: Felix
>          Issue Type: New Feature
>          Components: iPOJO
>            Reporter: Clement Escoffier
>            Assignee: Clement Escoffier
>             Fix For: ipojo-runtime-1.10
>
>
> Provides a DSL to declare instances without relying on XML.
> This DSL looks like a fluent API using in classes annotated with the @Configuration annotation:
> @Configuration
> public class MyInstances {
>         Instance i1 = instance().of("my.factory")
>                 .with("simple").setto("simple");
>         Instance i2 = instance()
>                 .of("my.factory")
>                 .with("simple").setto("simple")
>                 .with("list").setto(list(1, 2, 3))
>                 .with("list2").setto(list().with(1).with(2).with(3))
>                 .with("map").setto(map().with(pair("entry", "value")))
>                 .with("map").setto(map()
>                 .with(pair("entry2", list("aaa", "bbb"))));
> }
> Methods returning instances should also be called (receiving an optional bundle context). Thus we can add some logic computing the instance configuration.
> The DSL creates an instance declaration and not just an instance. It's equivalent to the <instance/> XML declaration. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira