samples/sidemeanings/src/org/apidesign/sidemeanings/NonMixedFactory.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 21:30:10 +0100
changeset 409 40cabcdcd2be
permissions -rw-r--r--
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
     1 package org.apidesign.sidemeanings;
     2 
     3 // BEGIN: sidemeanings.Mixed.Clean.Factory
     4 public final class NonMixedFactory {
     5     private NonMixedFactory() {
     6     }
     7     
     8     public static NonMixed create(Provider impl) {
     9         NonMixed api = new NonMixed(impl);
    10         Callback callback = new Callback(api);
    11         impl.initialize(callback);
    12         return api;
    13     }
    14 
    15     public interface Provider {
    16         public void initialize(Callback c);
    17         public int toBeImplementedBySubclass();
    18     }
    19 
    20     public static final class Callback {
    21         final NonMixed api;
    22         
    23         Callback(NonMixed api) {
    24             this.api = api;
    25         }
    26         public final void toBeCalledBySubclass() {
    27             api.counter++;
    28         }
    29     }
    30 }
    31 // END: sidemeanings.Mixed.Clean.Factory
    32 
    33