You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Stefan Bischof (Jira)" <ji...@apache.org> on 2020/03/12 09:32:01 UTC

[jira] [Updated] (FELIX-6239) Converter should be able to invoke default methods in Interfaces

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

Stefan Bischof updated FELIX-6239:
----------------------------------
    Description: 
Would be nice if Converter could invoke default methods in Interfaces.

https://github.com/apache/felix-dev/blob/f4304bdea3fb9280ccc0b75dc97275125bc5cbfb/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java#L807-L820

I didn't found a proper way to invoke default methods <= and > Java 8.

Test: 
{code:java}
 interface InterfaceWithDefault
 {
   default String s()
   {
     return "s";
    }
 }

@Test()
public void testInterfaceWithDefault() throws Exception
{
   InterfaceWithDefault i = Converters.standardConverter().convert(new HashMap<String, Object>()).to(InterfaceWithDefault.class);
   assertEquals("s", i.s());
}
{code}
 

  was:
 
{code:java}
 interface InterfaceWithDefault
 {
   default String s()
   {
     return "s";
    }
 }

@Test()
public void testInterfaceWithDefault() throws Exception
{
   InterfaceWithDefault i = Converters.standardConverter().convert(new HashMap<String, Object>()).to(InterfaceWithDefault.class);
   assertEquals("s", i.s());
}
{code}

       Priority: Minor  (was: Major)

> Converter should be able to invoke default methods in Interfaces
> ----------------------------------------------------------------
>
>                 Key: FELIX-6239
>                 URL: https://issues.apache.org/jira/browse/FELIX-6239
>             Project: Felix
>          Issue Type: New Feature
>          Components: Converter
>            Reporter: Stefan Bischof
>            Priority: Minor
>
> Would be nice if Converter could invoke default methods in Interfaces.
> https://github.com/apache/felix-dev/blob/f4304bdea3fb9280ccc0b75dc97275125bc5cbfb/converter/converter/src/main/java/org/osgi/util/converter/ConvertingImpl.java#L807-L820
> I didn't found a proper way to invoke default methods <= and > Java 8.
> Test: 
> {code:java}
>  interface InterfaceWithDefault
>  {
>    default String s()
>    {
>      return "s";
>     }
>  }
> @Test()
> public void testInterfaceWithDefault() throws Exception
> {
>    InterfaceWithDefault i = Converters.standardConverter().convert(new HashMap<String, Object>()).to(InterfaceWithDefault.class);
>    assertEquals("s", i.s());
> }
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)