blob: b034c9db58705a27c48e6a8d07cc93f2ceba663b [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="copyright" content="Copyright (c) THALES, 2007. All rights reserved." >
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="../../book.css" charset="ISO-8859-1" type="text/css">
<title>Pattern Editor Implementation Page</title>
</head>
<body>
<h1>Implementation Page</h1>
<p>
The implementation page defines the pattern implemented behavior.<br/>
The implementation is splitted into two concepts :<br/>
<ul>
<li>The definition of reusable behaviors, named the <a href="#internalMethods"><b>internal methods</b></a>.</li>
<li>The orchestration of the usage of the available behaviors, named the <a href="#generateMethod"><b>generate method</b></a>.</li>
</ul>
<p align="center">
<img src="../images/implementation/ImplementationViewers.png" alt="Implementation viewers overview"/>
</p>
<p>
<a name="internalMethods">
<h2>The Pattern internal methods section</h2>
</a>
<p>
This is a collection of defined internal methods (behaviors).<br/>
<p>
A new method can be added by clicking the <b>Add</b> button. It's having a default name (something like <i>newMethodXXX</i>).<br/>
</p>
<p>
To modify a method, click it's representation on the left collection. A new section named <b>Internal method properties</b> appears on the right.
<p align="center">
<img src="../images/implementation/InternalMethodProperties.png" alt="Internal method properties"/><br/>
</p>
The method can be renamed (Name field), its content edited (Content link), and its orchestration modified (Sub-list below).<br/>
<ul>
<li>
The name needs to be unique within edited pattern.<br/>
It must be the same as parent method one (whatever level the parent may be), in case of overriding need.
</li>
<li>
Clicking the <b>Content</b> link does open the associated JET editor.<br/>
<p align="center">
<img src="../images/implementation/InternalMethodContentEdition.png" alt="Editing internal method"/>
</p>
The editor is displaying the internal method name.<br/>
To save changes to the implementation, simply save this editor.
</li>
<li>
The orchestration is having sense in the case of an override only.<br/>
See the <a href="#generateMethod">Generate method section</a> as of how to use this list, only calls to Super can be added here.
</li>
</ul>
</p>
<p>
An existing method can be removed.<br/>
Select it on the left collection, and click the <b>Remove</b> button.
</p>
</p>
</p>
<p>
<a name="generateMethod">
<h2>The Generate method section</h2>
</a>
This method is about orchestrating the inherited or local internal methods.<br/>
This is defining the pattern behavior as a whole, and is the only visible entry point from outside the pattern.
<p>
To invoke a new action (ie behavior), click the <b>Add</b> button.<br/>
A new dialog opens.<br/>
<p align="center">
<img src="../images/implementation/CreateNewAction.png" alt="Create a new action"/>
</p>
<ul>
<li>Select the <b>Internal method call</b> action to invoke one of current pattern internal methods.</li>
<li>Select the <b>Call to another pattern</b> action to invoke another pattern, as part of current behavior.</li>
<li>Select the <b>Super method call</b> action to either invoke parent orchestration (no parameter) or one of the inherited internal methods (parameter).</li>
</ul>
</p>
<p>
You can click an action (left viewer) to see its properties.<br/>
A new section (<b>Selected action properties</b>) appears on the right side.<br/>
<p align="center">
<img src="../images/implementation/GenerateMethodActionProperties.png" alt="Display action properties"/>
</p>
The action properties can not be modified textually, but using the <b>Browse</b> button instead.
</p>
<p>
To organize the orchestration, select an action on the left viewer, and click the <b>Up</b> or <b>Down</b> buttons as required.
</p>
</p>
</p>
<p>
<img src="../../../../org.eclipse.egf.engine.doc/html/images/ngrelr.png" alt="Related Reference">
</p>
<a href="../editor.html">Pattern editor</a>
</body>
</html>