The Geomajas API project contains some annotations that can be used to indicate which parts (which classes and which (public) methods or fields) are considered as the API. This is particularly useful for projects where you want to mark the API without the need to refactor everything to interfaces and factories.