<PROJECT> : Project

Java class : leon.info.LyProject

ROLE

The root element of the data model of an application made with Application Engine is a project object. A project element is made of several sub-elements that define the whole data model. The order those objects are inserted doesn't matter. A project can contain other project elements. This feature allows splitting the data model into different pieces to improve readability. This feature is only a cosmetic option; the sub-project where an object of the data model is inserted does not have any impact on its accessibility or visibility for the main project. In the case of a large application, it could be splitted into various sub-projects or modules. A project may have dependencies with other modules, rights on classes, upward compatibilities and information needed for XML import/export.

ATTRIBUTES

<!ATTLIST PROJECT
	  id ID #REQUIRED
	  rootAction IDREF #IMPLIED>
Attribute Mand. Description Default
id yes Project identifier.  
rootAction no Reference to the first invoked action at the start of the application. The default root action is the '_dashboard' action (see 'XMLDoc' documentation).  

ELEMENTS

<!ELEMENT PROJECT 
	  ((%A_DECLARATION;)*)>
Element Mand. Mult. Description
A_DECLARATION
yes no List of the declarations of the project (classes, fields, filters, actions, sub-projects, inclusions?).

SAMPLE

<PROJECT id="bugReport"
		rootAction="brLogin" 						
		sessionBehavior="BrSessionBehavior">

	<!-- Standard include -->
	&LEON;

	<!-- Common entities -->
	&COMMON;
	&ACTIONS;

	<!-- Classes -->
	&brClass;
	&sysClass;
	&ssyClass;
	&verClass;
	&usrClass;
	&cusClass;
	&keyClass;

	<!-- Actions -->
	<ACTION id="brLogin" template="_login" behavior="BrLoginBehavior">
		<PARAMETER name="_userClassInfo" idref="usrClass"/>
		<ACTIONS idrefs="brDashboard"/>
	</ACTION>
	<ACTION id="brDashboard" template="_dashboard">
		<NAME value="MAIN_WINDOW_TITLE"/>
		<PREFIX value="br"/>
		<ACTIONS>
			<ACTION_REF idref="brTable" class="brClass"/>
			<ACTION_REF idref="brTable" class="sysClass"/>
			<ACTION_REF idref="brTable" class="ssyClass"/>
			<ACTION_REF idref="brTable" class="verClass"/>
			<ACTION_REF idref="brTable" class="usrClass"/>
			<ACTION_REF idref="brTable" class="cusClass"/>
			<ACTION_REF idref="brTable" class="keyClass"/>
		</ACTIONS>
	</ACTION>
</PROJECT>