You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Peter Niederwieser (JIRA)" <ji...@apache.org> on 2014/05/27 15:36:02 UTC

[jira] [Created] (TAP5-2340) Make proxies honor Java 8 default methods

Peter Niederwieser created TAP5-2340:
----------------------------------------

             Summary: Make proxies honor Java 8 default methods
                 Key: TAP5-2340
                 URL: https://issues.apache.org/jira/browse/TAP5-2340
             Project: Tapestry 5
          Issue Type: Improvement
          Components: plastic
            Reporter: Peter Niederwieser


MyInterface.java:
{code}
public interface MyInterface {
  default int compute() { return 42; }
}
{code}

PlasticSpec.groovy:
{code}
class PlasticSpec extends Specification {
  def "plastic proxy for interface with default method"() {
    def manager = PlasticManager.withClassLoader(getClass().classLoader).create()
    def proxy = manager.createProxy(MyInterface, {})
    def impl = proxy.newInstance()

    expect:
    impl.compute() == 42 // fails; actual: 0
  }

  def "manual implementation of interface with default method"() {
    def impl = new MyInterface() {}

    expect:
    impl.compute() == 42 // passes
  }
}
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)