diff -r 4bf599099de7 -r 40cabcdcd2be samples/sidemeanings/src/org/apidesign/sidemeanings/Protected.java --- a/samples/sidemeanings/src/org/apidesign/sidemeanings/Protected.java Sat Jun 14 09:54:19 2008 +0200 +++ b/samples/sidemeanings/src/org/apidesign/sidemeanings/Protected.java Thu Oct 30 21:30:10 2014 +0100 @@ -1,24 +1,40 @@ package org.apidesign.sidemeanings; -public final class Protected { - private Protected() {} +public abstract class Protected { + int counter; + + Protected() {} + + protected void increment() { + counter++; + } + + public final void incrementTenTimes() { + for (int i = 0; i < 10; i++) { + increment(); + } + } + + public final void assertCounter(int expected) { + assert expected == counter : "Expected " + expected + " but was " + counter; + } - public class Dirty { + public static class Dirty extends Protected { // BEGIN: sidemeanings.Protected.Dirty - protected void method() { - someCode(); + protected void increment() { + // implementation: + counter++; } // END: sidemeanings.Protected.Dirty - private void someCode() { - } } - public abstract class Clean { + public static abstract class Clean extends Protected { // BEGIN: sidemeanings.Protected.Clean - protected abstract void method(); - protected final void someCode() { + protected abstract void increment(); + protected final void defaultIncrement() { + counter++; } // END: sidemeanings.Protected.Clean }