package de.plushnikov.delegate;
import lombok.experimental.Delegate;
import java.util.ArrayList;
import java.util.List;
public class DelegateTest {
public static void main(final String... args) {
MyQ myQ = new MyQ();
X meinX = new X(myQ);
meinX.nothing();
meinX.add("Hallo World");
}
public interface Q extends List<String> {
void nothing();
}
public static final class X implements Q {
@Delegate(types = {Q.class})
private final Q q;
public X(final Q q) {
this.q = q;
}
}
private static class MyQ implements Q {
@Delegate
private final List<String> list = new ArrayList<String>();
@Override
public void nothing() {
System.out.println("LombokMain.nothing");
}
}
}