/*
Patterns Framework (Pattern Implementation Structure Overview)
Framework found in com.ibm.xtools.patterns.framework plug-in
Sample implementations found in com.ibm.xtools.patterns.sample plug-in
*/
class Pattern extends AbstractPatternDefinition {
... initializes metadata (differs based on static vs. dynamic)
... initializes privately held pattern parameters
... declares pattern parameter dependencies (to trigger update calls on parameters)
private class Instance extends AbstractPatternInstance {
... handles expand method for instance-directed expands (provides default)
... handles logic for target-based instance-behavior (provides default)
... handles naming of instance representations dynamically
}
private class Parameter [0..*] extends AbstractPatternParameter {
... initializes metadata (differs based on static vs. dynamic)
... declares optional OCL2 constraint for validating proposed values
... handles expand method for parameter-directed added values (provides default)
... handles expand method for parameter-directed removed values (provides default)
... handles expand method for parameter-directed maintained values
... handles update method for parameter-dependency notifications
... handles is valid method for validating proposed values (provides default)
}
}