Skip to content

Instantly share code, notes, and snippets.

@sliskiCode
Created October 28, 2016 12:37
Show Gist options
  • Save sliskiCode/979a738274b310ac028b19107b2503c8 to your computer and use it in GitHub Desktop.
Save sliskiCode/979a738274b310ac028b19107b2503c8 to your computer and use it in GitHub Desktop.
Zero boilerplate delegation in Kotlin 1
class CopyPrinter implements Copy, Print {
private Copy copier;
private Print printer;
public CopyPrinter(Copy copier, Print printer) {
this.copier = copier;
this.printer = printer;
}
@Override
public Page copy(Page page) {
return copier.copy(page);
}
@Override
public void print(Page page) {
printer.print(page);
}
}
interface Copy {
Page copy(Page page);
}
interface Print {
void print(Page page);
}
class Page {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment