<RELATION> : Relation field

Java class : leon.info.LyRelationFieldInfo

ROLE

This element describes a field that refers to one or several objects of the application. The object references stored inside the value of this field may be ordered or not. Information about that kind of field could be completed by the list of target classes of the application, a default value, a field that specify the target class and a field that creates a context.

ATTRIBUTES

<!ATTLIST RELATION
	  id ID #REQUIRED
	  local ( true | false) "false"
	  load ( true | false) "false"
	  notNull ( true | false) "false"
	  providerValue ( true | false) "false">
Attribute Mand. Description Default
id yes This is the identifier of this field.  
local no Equivalent with the local mark: allows to specify that this field is local i.e. that it has no physical representation on a data provider. false
load no Equivalent with the load mark: indicates that the field must be loaded when sending load requests with no indication on the fields that must be loaded. false
notNull no Equivalent with the notNull mark: indicates that the field may not be null. When a new object is created, a value is automatically built for this field with the default value if no value has been specified. false
providerValue no Equivalent with the providerValue mark: allows to specify that the value of the field is given by the data provider. false

ELEMENTS

<!ELEMENT RELATION 
	  ((((%A_F_BIND; | F_BINDS), IMPORT?) | %A_DAEMON;)?)>
Element Mand. Mult. Description
A_F_BIND
no no Physical binding of the field (see %A_F_BIND; : Field binding (FB)' chapter).
F_BINDS yes no Binding with multiple physical fields (see F_BINDS : Managing multiple keys on a relation (FB)' chapter). Allows to manage multiple foreign keys when using a location corresponding to a relational data base.
IMPORT no no Allows to import the value of a field belonging to a class referred by a relation found in the same class as this field (see IMPORT tag).
A_DAEMON
yes no Information about the daemon to manage this relation.

SAMPLE 1

<RELATION id="alr_net">
	<ROUTES>
		<ROUTE target='netClass'>
			<STEP idrefs='alr_obj' target='muxClass'/>
		</ROUTE>
		<ROUTE target='netClass'>
			<STEP idrefs='alr_obj' target='cardClass'/>
			<STEP idrefs='card_eqt' target='muxClass'/>
		</ROUTE>
		<ROUTE>
			<STEP idrefs='alr_obj' target='portClass'/>
			<STEP idrefs='port_card' target='cardClass'/>
			<STEP idrefs='card_eqt' target='muxClass'/>
		</ROUTE>
	</ROUTES>
	<NAME value="ALR_NETWORK"/>
	<F_MARKS sort='true' filter='true' find='true' table='true' 			local='true'/>
	<CLASSES idrefs="netClass"/>
</RELATION>

SAMPLE 2

<RELATION id="br_eme" direction='FORWARD'>
	<F_BIND value="EMETTEUR"/>
	<NAME value="BR_EMETTEUR"/>
	<TAB value="TAB_EMISSION"/>
	<F_MARKS create='true' set='true' sort='true' filter='true' find='true' table='true'>
		<MARK name='EMISSION'/>
	</F_MARKS>
	<CLASSES idrefs="custClass usrClass"/>
	<DEFAULT value="$USER"/>
</RELATION>