samples/sidemeanings/src/org/apidesign/sidemeanings/PublicAbstract.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 03 Apr 2020 16:32:36 +0200
changeset 416 9ed8788a1a4e
parent 99 4bf599099de7
permissions -rw-r--r--
Using HTTPS to download the libraries
jtulach@99
     1
package org.apidesign.sidemeanings;
jtulach@99
     2
jtulach@324
     3
public abstract class PublicAbstract {
jtulach@324
     4
    PublicAbstract() {}
jtulach@99
     5
jtulach@324
     6
    public abstract void increment();
jtulach@324
     7
jtulach@324
     8
    public final void incrementTenTimes() {
jtulach@324
     9
        for (int i = 0; i < 10; i++) {
jtulach@324
    10
            increment();
jtulach@324
    11
        }
jtulach@324
    12
    }
jtulach@324
    13
jtulach@324
    14
    public static abstract class Dirty extends PublicAbstract {
jtulach@99
    15
        // BEGIN: sidemeanings.PublicAbstract.Dirty
jtulach@324
    16
        public abstract void increment();
jtulach@99
    17
        // END: sidemeanings.PublicAbstract.Dirty
jtulach@99
    18
    }
jtulach@99
    19
    
jtulach@99
    20
    
jtulach@324
    21
    public static abstract class Clean extends PublicAbstract {
jtulach@99
    22
        // BEGIN: sidemeanings.PublicAbstract.Clean
jtulach@324
    23
        public final void increment() {
jtulach@324
    24
            overridableIncrement();
jtulach@99
    25
        }
jtulach@324
    26
        protected abstract void overridableIncrement();
jtulach@99
    27
        // END: sidemeanings.PublicAbstract.Clean
jtulach@99
    28
    }
jtulach@99
    29
}