Jedes Item Model kann mit Hilfe eines Builders erzeugt werden.
Die Schnittstelle IItemModelBuilder
liefert
die gemeinsamen Methoden aller Item Model Builder. Sie hat die
folgenden Methoden:
BUILDER_TYPE setId(String id); BUILDER_TYPE setText(final String text); BUILDER_TYPE setToolTipText(String toolTipText); BUILDER_TYPE setIcon(IImageConstant icon); BUILDER_TYPE setAccelerator(Accelerator accelerator); BUILDER_TYPE setAccelerator(final VirtualKey key, final Modifier... modifier); BUILDER_TYPE setAccelerator(final char key, final Modifier... modifier); BUILDER_TYPE setMnemonic(Character mnemonic); BUILDER_TYPE setMnemonic(char mnemonic); BUILDER_TYPE setEnabled(boolean enabled); ITEM_TYPE build();
Der Builder Type, welchen die oberen Methoden als Rückgabewert
haben, ist dabei der konkrete Typ des Builders, welchen man
verwendet. Dadurch können die Methoden, wie beim Builder Pattern
üblich, verkettet aufgerufen werden. Die Semantik der Methoden
ist analog zur Schnittstelle
IItemModel
.
Die Methode build()
liefert ein neues Item
zurück. Der Typ hängt vom konkreten Builder ab. Zum Beispiel
gibt ein IMenuModelBuilder
ein
IMenuModel
zurück.
Das folgende Beispiel soll die Verwendung demonstrieren:
1 final IActionItemModel pasteActionItem 2 = ActionItemModel 3 .builder() 4 .setText("Paste") 5 .setIcon(IconsSmall.PASTE) 6 .setAccelerator(VirtualKey.V,Modifier.CTRL) 7 .build();