samples/sidemeanings/src/org/apidesign/sidemeanings/MixedClass.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:04:50 +0200
changeset 208 897361847d12
permissions -rw-r--r--
Making the example with MixedClass vs. NonMixed solution more real, so it can be unit tested
     1 package org.apidesign.sidemeanings;
     2 
     3 // BEGIN: sidemeanings.Mixed.Dirty
     4 public abstract class MixedClass {
     5     private int counter;
     6     private int sum;
     7 
     8     protected MixedClass() {
     9         super();
    10     }
    11 
    12     public final int apiForClients() {
    13         int subclass = toBeImplementedBySubclass();
    14         sum += subclass;
    15         return sum / counter;
    16     }
    17 
    18     protected abstract int toBeImplementedBySubclass();
    19 
    20     protected final void toBeCalledBySubclass() {
    21         counter++;
    22     }
    23 }
    24 // END: sidemeanings.Mixed.Dirty