<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 #IMPLIED
	  condition CDATA #IMPLIED
	  version CDATA #IMPLIED
	  applicationBehavior CDATA #IMPLIED
	  sessionBehavior CDATA #IMPLIED
	  name CDATA #IMPLIED
	  tip CDATA #IMPLIED
	  prefix CDATA #IMPLIED>
Attribute Mand. Description Default
id no Project identifier.  
condition no Condition for the existence of the project.  
version no Name or number of the project version. Contents are free.  
applicationBehavior no Full name of the Java class that defines the specific behaviour of the application (see leon.app.behavior.LyApplicationBehavior).  
sessionBehavior no Full name of the Java class that defines the specific behaviour of a session of the application (see leon.app.behavior.LySessionBehavior).  
name no Name of the project  
tip no Help of the project.  
prefix no Image of the project.  

ELEMENTS

<!ELEMENT PROJECT 
	  (INCLUDE*,
	   DATA_MODEL?,
	   BIND_MODEL?,
	   GUI_MODEL?,
	   PROJECT*)>
Element Mand. Mult. Description
INCLUDE no yes Inclusions.
DATA_MODEL no no Data model.
BIND_MODEL no no Binding model.
GUI_MODEL no no GUI model.
PROJECT no yes Sub-projects.

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>