blob: c372b782881edc20baa202d302ff3a98cbadf5b8 [file] [log] [blame]
Stephan Herrmann3605c822010-04-21 16:18:00 +00001<title>Intro to the Order System Sample</title>
2<style type="text/css">
3code { background-color:lightgray; }
4img { border:0px; }
5</style>
6<body>
7<h1>A Simple Order System</h1>
8
9<h2>Package Overview</h2>
10See the individual class comments for details.
11
12<dl>
13<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem</code></b>
14<dd>A simple main class triggering some actions in batch mode.
15
16<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.data</code></b>
17<dd>Plain data classes <code>Customer</code> and <code>Address</code>
18
19<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.store</code></b>
20<dd>This package models a <code>Storage</code> and its <code>StockItems</code>.<br />
21 These are normal data objects with the usual access methods.<br />
22 Throughout the class <code>StockItem</code> you will find "callin markers"
23 (<img src="images/callinbinding_obj.gif">) in the gutter,
24 indicating that the corresponding methods are adapted by one or more aspects in the system.
25
26<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.reservation</code></b>
27<dl>
28<dt><img src="images/team_obj.gif"> <code>team class Reservations</code>
29<dd>A simple reservation component; abstract at this level because it is
30 completely undefined what kinds of <img src="images/role_obj.gif">&nbsp;<code>Reservable</code> items are
31 being managed.
32<dt><img src="images/team_obj.gif"> <code>team class StockReservations</code>
33<dd>Binding the reservation component in order to manage <code>StockItems</code>.
34</dl>
35
36<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.order</code></b>
37<dl>
38<dt><img src="images/team_obj.gif"> <code>team class Order</code>
39<dd>A simple ordering component; abstract at this level because it is
40 completely undefined what kinds of <img src="images/role_obj.gif">&nbsp;<code>Items</code> items are
41 being managed. <br />
42 However, each order is associated to a <img src="images/role_obj.gif">&nbsp;<code>Customer</code>
43 and his or her <img src="images/role_obj.gif">&nbsp;<code>Address</code>. Please note, that these
44 role classes are not related to those classes defined in <code>org.objectteams.samples.data</code>.
45<dt><img src="images/team_obj.gif"> <code>team class StockOrder</code>
46<dd>Binding the order component in order to manage <code>StockItems</code>.
47</dl>
48<dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.gui</code></b>
49<dl><img src="images/class_public.gif"> <code>class OrderSystemMainFrame</code>
50<dd>Definition of the GUI of this system. Most of this class might have been generated by
51 a Form Designer.
52<dt><img src="images/team_obj.gif"> <code>team class ModelAdapterTeam</code>
53<dd>This aspect binds classes from the packages <code>data</code> and <code>store</code> to
54 the GUI.
55<dt><img src="images/team_obj.gif"> <code>team class ControllerAdapterTeam</code>
56<dd>This aspect contains all listeners and attaches them to the GUI.
57<dt><img src="images/team_obj.gif"> <code>team class GUIAdapterTeam</code>
58<dd>This aspect ensures that each window will appear in the middle of the screen.
59<dt>
60<dd>
61</dl>
62</dl>
63
64<h2>Running the application</h2>
65In order to see the full functionality enter the following information to the launch configuration:
66<table padding=3 border=1>
67<tr><td colspan=2><b>Tab <img src="images/class_public.gif"> Main</b>
Stephan Herrmann11b22452010-04-23 11:15:47 +000068<tr><td>Main class<td><code>org.eclipse.objectteams.samples.ordersystem.gui.GUITest</code>
Stephan Herrmann3605c822010-04-21 16:18:00 +000069<tr><td colspan=2><b>Tab <img src="images/team_obj.gif"> Team Activation</b>
70<tr><td>Add: <td><code>ModelAdapterTeam</code><br />
71 <code>ControllerAdapterTeam</code><br />
72 <code>GUIAdapterTeam</code>
73</table>
74</body>
75</html>