/*
Infraestructura de patrones (visión general de la estructura de implementación de patrones)
Infraestructura del plug-in com.ibm.xtools.patterns.framework
Implementaciones de ejemplo del plug-in com.ibm.xtools.patterns.sample
*/
class Pattern extends AbstractPatternDefinition {
... inicializa metadatos (difiere basándose en static frente a dynamic)
... inicializa parámetros de patrón mantenidos de forma privada
... declara dependencias de parámetro de patrón (para desencadenar llamadas de actualización sobre parámetros)
private class Instance extends AbstractPatternInstance {
... maneja un método de ampliación para ampliaciones dirigidas por instancia (proporciona valor predeterminado)
... maneja lógica para comportamiento de instancia basado en destino (proporciona valor predeterminado)
... maneja dinámicamente denominación de representaciones de instancia
}
private class Parameter [0..*] extends AbstractPatternParameter {
... inicializa metadatos (difiere basándose en static frente a dynamic)
... declara restricción OCL2 opcional para validar valores propuestos
... maneja un método de ampliación para valores añadidos dirigidos por parámetro (proporciona valor predeterminado)
... maneja un método de ampliación para valores eliminados dirigidos por parámetro (proporciona valor predeterminado)
... maneja un método de ampliación para valores mantenidos dirigidos por parámetro
... maneja un método de actualización para notificaciones de dependencia de parámetro
... maneja un método válido para validar valores propuestos (proporciona valor predeterminado)
}
}