1.1 --- a/samples/sidemeanings/src/org/apidesign/sidemeanings/NonMixed.java Sat Jun 14 10:04:50 2008 +0200
1.2 +++ b/samples/sidemeanings/src/org/apidesign/sidemeanings/NonMixed.java Thu Oct 30 21:30:10 2014 +0100
1.3 @@ -1,42 +1,22 @@
1.4 package org.apidesign.sidemeanings;
1.5
1.6 +import org.apidesign.sidemeanings.NonMixedFactory.Provider;
1.7 +
1.8 // BEGIN: sidemeanings.Mixed.Clean
1.9 public final class NonMixed {
1.10 - private int counter;
1.11 + int counter;
1.12 private int sum;
1.13 private final Provider impl;
1.14
1.15 - private NonMixed(Provider impl) {
1.16 + NonMixed(Provider impl) {
1.17 this.impl = impl;
1.18 }
1.19 - public static NonMixed create(Provider impl) {
1.20 - NonMixed api = new NonMixed(impl);
1.21 - Callback callback = new Callback(api);
1.22 - impl.initialize(callback);
1.23 - return api;
1.24 - }
1.25
1.26 public final int apiForClients() {
1.27 int subclass = impl.toBeImplementedBySubclass();
1.28 sum += subclass;
1.29 return sum / counter;
1.30 }
1.31 -
1.32 - public interface Provider {
1.33 - public void initialize(Callback c);
1.34 - public int toBeImplementedBySubclass();
1.35 - }
1.36 -
1.37 - public static final class Callback {
1.38 - NonMixed api;
1.39 -
1.40 - Callback(NonMixed api) {
1.41 - this.api = api;
1.42 - }
1.43 - public final void toBeCalledBySubclass() {
1.44 - api.counter++;
1.45 - }
1.46 - }
1.47 }
1.48 // END: sidemeanings.Mixed.Clean
1.49