/*
Framework di pattern (panoramica sulla struttura di implementazione pattern)
Framework trovato in com.ibm.xtools.patterns.framework plug-in
Implementazioni di esempio trovate in com.ibm.xtools.patterns.sample plug-in
*/
class Pattern extends AbstractPatternDefinition {
... inizializza i metadati (si differenzia in base a statico rispetto a dinamico)
... inizializza parametri di modello conservati privatamente
... dichiara le dipendenze del parametro del modello (per attivare le chiamate sui parametri)
private class Instance extends AbstractPatternInstance {
... gestisce il metodo di espansione per espansioni dirette dall'istanza (fornisce un'impostazione predefinita)
... gestisce la logica per il comportamento dell'istanza basato sulla destinazione (fornisce un'impostazione predefinita)
... gestisce la denominazione delle rappresentazioni di istanze dinamicamente
}
private class Parameter [0..*] extends AbstractPatternParameter {
... inizializza i metadati (si differenzia in base a statico rispetto a dinamico)
... dichiara un vincolo OCL2 facoltativo per la convalida dei valori proposti
... gestisce il metodo di espansione per valori aggiunti diretti dal parametro (fornisce un'impostazione predefinita)
... gestisce il metodo di espansione per valori rimossi diretti dal parametro (fornisce un'impostazione predefinita)
... gestisce il metodo di espansione per valori mantenuti diretti dal parametro (fornisce un'impostazione predefinita)
... gestisce il metodo di aggiornamento per le notifiche di dipendenza dal parametro
... gestisce un metodo valido per convalidare i valori proposti (fornisce un'impostazione predefinita)
}
}