/****************************************************************/
Type IntegrationClientJava Implemente Public : IIntegrationClient Defaut Final
/* Objet : Type definissant une integration cliente Java.  */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet.  */
/*-------------------------------------------------------------*/
Prive :
	
	EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet.    					      */
/*-------------------------------------------------------------*/
Public :
	
	Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
	
	Procedure Convertir(O : Nul Ou Objet);
	
	Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
	
	Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
	
	Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
	
	Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
	
	Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
	
	Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
	
	Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
	
	Procedure SupprimerPropriete(NomPropriete : Caractere);
	
	Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
	
	Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
	
	Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
	
	Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'IIntegrationClient.  */
/*-------------------------------------------------------------*/
Prive :
	
   FormatDeLIntegration : FormatsIntegrationSupportes Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'IIntegrationClient.				      */
/*-------------------------------------------------------------*/
Public :
/*-------------------------------------------------------------*/
/* Rappels pour Up ! Compiler et Up ! Script Engine.   	      */
/*-------------------------------------------------------------*/
	
   Rappel RenommerModule(NomModule : Caractere Entree Sortie);
	
   Rappel RenommerConstante(NomModule : Caractere, NomConstante : Caractere Entree Sortie);
	
   Rappel IgnorerConstante(NomModule : Caractere, NomConstante : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesConstante(NomModule : Caractere, NomConstante : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterConstantes(NomModule : Caractere, DeclarationConstantes : Nul Ou Caractere Sortie);
	
   Rappel RenommerEnumere(NomModule : Caractere, NomEnumere : Caractere Entree Sortie);
	
   Rappel IgnorerEnumere(NomModule : Caractere, NomEnumere : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesEnumere(NomModule : Caractere, NomEnumere : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterEnumeres(NomModule : Caractere, DeclarationEnumeres : Nul Ou Caractere Sortie);
	
   Rappel RenommerValeurEnumeree(NomModule : Caractere, NomEnumere : Caractere, NomValeurEnumeree : Caractere Entree Sortie);
	
   Rappel RenommerObjetSemantique(NomModule : Caractere, NomObjetSemantique : Caractere Entree Sortie);
	
   Rappel IgnorerObjetSemantique(NomModule : Caractere, NomObjetSemantique : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesObjetSemantique(NomModule : Caractere, NomObjetSemantique : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterHeritagesTypeOuInterface(NomModule : Caractere, NomTypeOuInterface : Caractere, DeclarationHeritages : Nul Ou Caractere Sortie);
	
   Rappel AjouterInflexionsTypeOuInterface(NomModule : Caractere, NomTypeOuInterface : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel AjouterTypesOuInterfaces(NomModule : Caractere, DeclarationTypesOuInterfaces : Nul Ou Caractere Sortie);
	
   Rappel RenommerCas(NomModule : Caractere, NomTypeOuInterface : Caractere, NomCas : Caractere Entree Sortie);
	
   Rappel RenommerPropriete(NomModule : Caractere, NomTypeOuInterface : Caractere, NomPropriete : Caractere Entree Sortie);
	
   Rappel IgnorerPropriete(NomModule : Caractere, NomTypeOuInterface : Caractere, NomPropriete : Caractere, Ignorer : Booleen Sortie, EstInvariant : Booleen Sortie);
	
   Rappel ChangerAccesPropriete(NomModule : Caractere, NomTypeOuInterface : Caractere, NomPropriete : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterInflexionsPropriete(NomModule : Caractere, NomTypeOuInterface : Caractere, NomPropriete : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel AjouterProprietes(NomModule : Caractere, NomTypeOuInterface : Caractere, DeclarationProprietes : Nul Ou Caractere Sortie);
	
   Rappel RenommerMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere Entree Sortie);
	
   Rappel IgnorerMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterInflexionsMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel AjouterMethodes(NomModule : Caractere, NomTypeOuInterface : Caractere, DeclarationMethodes : Nul Ou Caractere Sortie);
	
   Rappel ChangerAccesMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterInflexionsMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel AjouterMethodes(NomModule : Caractere, NomTypeOuInterface : Caractere, DeclarationMethodes : Nul Ou Caractere Sortie);
	
   Rappel RenommerParametreMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, NomParametre : Caractere Entree Sortie);
	
   Rappel IgnorerParametreMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, NomParametre : Caractere, Ignorer : Booleen Sortie, EstInvariant : Booleen Sortie);
	
   Rappel AjouterInflexionsParametreMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, NomParametre : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel RenommerVariable(NomModule : Caractere, NomVariable : Caractere Entree Sortie);
	
   Rappel IgnorerVariable(NomModule : Caractere, NomVariable : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesVariable(NomModule : Caractere, NomVariable : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterVariables(NomModule : Caractere, DeclarationVariables : Nul Ou Caractere Sortie);
	
   Rappel RenommerAppel(NomModule : Caractere, NomAppel : Caractere Entree Sortie);
	
   Rappel IgnorerAppel(NomModule : Caractere, NomAppel : Caractere, Ignorer : Booleen Sortie);
	
   Rappel ChangerAccesAppel(NomModule : Caractere, NomAppel : Caractere, Acces : AccesDefinition Sortie);
	
   Rappel AjouterInflexionsAppel(NomModule : Caractere, NomAppel : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel AjouterAppels(NomModule : Caractere, DeclarationAppels : Nul Ou Caractere Sortie);
	
   Rappel RenommerParametreAppel(NomModule : Caractere, NomTypeOuInterface : Caractere, NomAppel : Caractere, NomParametre : Caractere Entree Sortie);
	
   Rappel IgnorerParametreAppel(NomModule : Caractere, NomAppel : Caractere, NomParametre : Caractere, Ignorer : Booleen Sortie, EstInvariant : Booleen Sortie);
	
   Rappel AjouterInflexionsParametreAppel(NomModule : Caractere, NomAppel : Caractere, NomParametre : Caractere, DeclarationInflexions : Nul Ou Caractere Sortie);
	
   Rappel EstUnFauxTableau(NomModule : Caractere, NomTypeOuInterface : Caractere, NomNatif : Caractere, Etat : Booleen Sortie);
/*-------------------------------------------------------------*/
/* Rappels pour Up ! Virtual Technical Machine.                */
/*-------------------------------------------------------------*/
	
   Rappel AffecterPropriete(NomModule : Caractere, NomTypeOuInterface : Caractere, NomPropriete : Caractere);
	
   Rappel AffecterParametreMethode(NomModule : Caractere, NomTypeOuInterface : Caractere, NomMethode : Caractere, NomParametre : Caractere);
	
   Rappel AffecterParametreAppel(NomModule : Caractere, NomAppel : Caractere, NomParametre : Caractere);
Prive :
	
   Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
/*-------------------------------------------------------------*/
/* Methodes propres.                                           */
/*-------------------------------------------------------------*/
Prive :
	
   Constructeur Habilitation (E : Nul Ou Entrepot=Nul);
Fin Type
Le type d'intégration cliente Java comporte des méthodes de rappel permettant d'influencer le comportement d'Up ! Compiler, Up ! Script Engine et Up ! Virtual Technical Machine de la sorte à coller au modèle métier par encapsulation d'un existant compatible avec la technologie Java ou Entreprise Java Beans (EJB) pour être utilisés en Up ! 5GL.
Principal
/*******/
Variable
/******/
	I1 : Nul Ou IntegrationClientJava;
	I2 : Nul Ou IntegrationClientJava;
Debut
...
Si I1==I2 Alors
/* Egalité entre deux integrations. */ 
	...
Fin Si
Si I1!=I2 Alors
/* Inégalité entre deux integrations. */ 
	...
Fin Si
Fin Principal
| - | - | - | - | - | - | - | - | - |