Consider a general inheritance chain of interfaces for controls, annotated thusly (base interfaces on the bottom):
@ControlExtension public interface Foo <--- this is an interesting interface @ControlExtension .. etc @ControlExtension @ControlInterface public interface Bar <--- this is an interesting interface @ControlInterface .. etc @ControlInterface There is a BarImpl.jcs present. This results in the generation of: class FooBean class BarBean (as well as Bean classes for the intermediary @ControlExtension and @ControlInterface interfaces in the chain that I've left nameless). What do we call these artifacts? Here's a proposal: When discussing Foo: Foo - "the control type" Bar - "the control public interface" FooBean - "the control bean" BarBean - not interesting BarImpl.jcs - the control implementation When discussing Bar: Foo - not interesting Bar - "the control type" _and_ "the control public interface" FooBean - not interesting BarBean - "the control bean" BarImpl.jcs - the control implementation I'm open to replacing "control type" with "control interface" or "control interface type". I think "control interface" is somewhat confusing when paired with the above usage of "control public interface", but perhaps "control type" is just a little too odd?
