1 package org.apidesign.sidemeanings;
3 // BEGIN: sidemeanings.Mixed.Clean.Factory
4 public final class NonMixedFactory {
5 private NonMixedFactory() {
8 public static NonMixed create(Provider impl) {
9 NonMixed api = new NonMixed(impl);
10 Callback callback = new Callback(api);
11 impl.initialize(callback);
15 public interface Provider {
16 public void initialize(Callback c);
17 public int toBeImplementedBySubclass();
20 public static final class Callback {
23 Callback(NonMixed api) {
26 public final void toBeCalledBySubclass() {
31 // END: sidemeanings.Mixed.Clean.Factory