state-machine-systems / envy

Super simple configuration for Java.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Scala traits

johnwright opened this issue · comments

Traits allow default values in a way that's similar to Java 8 default methods, but much easier to invoke via reflection.

Abstract members would still have to comply with Envy's rules (e.g. no parameters). Concrete members would have to be called by the proxy.

Full support for traits is way out of scope, considering the complexity of multiple inheritance/linearisation, constructor code blocks and instance fields.

For now, they work as long as they're used like Java interfaces.