Inspection Framework: Introduction

The inspection framework enables the developer to inspect any type of structure. To accomplish that, the core framework provides some interfaces which may be extended in a similar fashion for each structure-type that is implemented.

These interfaces are designed along the visitor pattern. Thus the IVisitor interface is the common superinterface for all implemented visitors:
class IVisitor { public void beginInspection(IInspector<?, ? extends IVisitor> inspector); public void exceptionCaught(Throwable throwable); public void endInspection(); public List<Throwable> getCaughtExceptions(); }
As seen above this basic interface already ships with support to mark the beginning and end of the overall inspection and for tracking any errors which occur while inspecting.