samples/sidemeanings/src/org/apidesign/sidemeanings/MixedClass.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 30 Oct 2014 20:46:27 +0100
changeset 408 9a439a79c6d0
permissions -rw-r--r--
Use scala 2.10.4 to compile on JDK8
     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