| <title>Intro to the Order System Sample</title> |
| <style type="text/css"> |
| code { background-color:lightgray; } |
| img { border:0px; } |
| </style> |
| <body> |
| <h1>A Simple Order System</h1> |
| |
| <h2>Package Overview</h2> |
| See the individual class comments for details. |
| |
| <dl> |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem</code></b> |
| <dd>A simple main class triggering some actions in batch mode. |
| |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.data</code></b> |
| <dd>Plain data classes <code>Customer</code> and <code>Address</code> |
| |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.store</code></b> |
| <dd>This package models a <code>Storage</code> and its <code>StockItems</code>.<br /> |
| These are normal data objects with the usual access methods.<br /> |
| Throughout the class <code>StockItem</code> you will find "callin markers" |
| (<img src="images/callinbinding_obj.gif">) in the gutter, |
| indicating that the corresponding methods are adapted by one or more aspects in the system. |
| |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.reservation</code></b> |
| <dl> |
| <dt><img src="images/team_obj.gif"> <code>team class Reservations</code> |
| <dd>A simple reservation component; abstract at this level because it is |
| completely undefined what kinds of <img src="images/role_obj.gif"> <code>Reservable</code> items are |
| being managed. |
| <dt><img src="images/team_obj.gif"> <code>team class StockReservations</code> |
| <dd>Binding the reservation component in order to manage <code>StockItems</code>. |
| </dl> |
| |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.order</code></b> |
| <dl> |
| <dt><img src="images/team_obj.gif"> <code>team class Order</code> |
| <dd>A simple ordering component; abstract at this level because it is |
| completely undefined what kinds of <img src="images/role_obj.gif"> <code>Items</code> items are |
| being managed. <br /> |
| However, each order is associated to a <img src="images/role_obj.gif"> <code>Customer</code> |
| and his or her <img src="images/role_obj.gif"> <code>Address</code>. Please note, that these |
| role classes are not related to those classes defined in <code>org.objectteams.samples.data</code>. |
| <dt><img src="images/team_obj.gif"> <code>team class StockOrder</code> |
| <dd>Binding the order component in order to manage <code>StockItems</code>. |
| </dl> |
| <dt><img src="images/package.gif"> <b><code>package org.objectteams.sample.ordersystem.gui</code></b> |
| <dl><img src="images/class_public.gif"> <code>class OrderSystemMainFrame</code> |
| <dd>Definition of the GUI of this system. Most of this class might have been generated by |
| a Form Designer. |
| <dt><img src="images/team_obj.gif"> <code>team class ModelAdapterTeam</code> |
| <dd>This aspect binds classes from the packages <code>data</code> and <code>store</code> to |
| the GUI. |
| <dt><img src="images/team_obj.gif"> <code>team class ControllerAdapterTeam</code> |
| <dd>This aspect contains all listeners and attaches them to the GUI. |
| <dt><img src="images/team_obj.gif"> <code>team class GUIAdapterTeam</code> |
| <dd>This aspect ensures that each window will appear in the middle of the screen. |
| <dt> |
| <dd> |
| </dl> |
| </dl> |
| |
| <h2>Running the application</h2> |
| In order to see the full functionality enter the following information to the launch configuration: |
| <table padding=3 border=1> |
| <tr><td colspan=2><b>Tab <img src="images/class_public.gif"> Main</b> |
| <tr><td>Main class<td><code>org.eclipse.objectteams.samples.ordersystem.gui.GUITest</code> |
| <tr><td colspan=2><b>Tab <img src="images/team_obj.gif"> Team Activation</b> |
| <tr><td>Add: <td><code>ModelAdapterTeam</code><br /> |
| <code>ControllerAdapterTeam</code><br /> |
| <code>GUIAdapterTeam</code> |
| </table> |
| </body> |
| </html> |