/*
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)
}
}