Annotation Type part


  • @Target(TYPE)
    @Retention(CLASS)
    public @interface part
    When combined with the link annotation, a part class is a building block for interface composition & true delegation. A part class may also be used as a regular class anywhere you would normally use a class.

    When used for delegation, one or more fields of a class are marked with @link where each is assigned an instance of a part class. The field's enclosing class, called the linking class, delegates the implementation of linked interfaces to a part class, where the linking class can override methods in the link. In turn, linked interfaces invoked from the part class are also polymorphic with respect to the linking class. As with sub/super classes, linked interface method calls are polymorphic both going it and out of a part class.