Coverables and delegates

Each coverable delegates to the Coverable interface. A delegate is a reusable component that contains an interface and a default implementation of that interface. Using a delegate enables an entity to implement an interface while delegating the implementation of that interface to another class, that of the delegate. Therefore, Guidewire recommends that you use a delegate with objects that share code. The delegate then implements the code rather than each class duplicating the shared code. For example, a delegate encapsulates behaviors that attach a coverage to a coverable or a modifier to a modifiable. You can implement the shared delegate class either in Java or in Gosu.

See also