/***************************************************************/
Type EchangeUps5GL Implemente Public : IEchange Defaut Final TailleSegment 4 ConserverObjets
/* Objet : Type definissant un echange au format Up ! 5GL. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des proprietes de IEchangeElementaire. */
/*-------------------------------------------------------------*/
Prive :
FormatDeLEchange : FormatsEchangeSupportes Virtuel Lecture Public;
FinDImportation : Booleen Virtuel 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 methodes d'IEchangeElementaire. */
/*-------------------------------------------------------------*/
Public :
Procedure Optimiser(PasDEffetDeBord) ExporterEnumere(E : Enumere, Libelle : Nul Ou Caractere=Nul);
Procedure Optimiser(PasDEffetDeBord) ExporterEntier(E : Entier, Libelle : Nul Ou Caractere=Nul);
Procedure Optimiser(PasDEffetDeBord) ExporterReel(R : Reel, Libelle : Nul Ou Caractere=Nul);
Procedure Optimiser(PasDEffetDeBord) ExporterObjet(O : Nul Ou Objet, Libelle : Nul Ou Caractere=Nul);
Fonction Optimiser(PasDEffetDeBord) ImporterEnumere(Libelle : Nul Ou Caractere=Nul) Retourner Enumere;
Fonction Optimiser(PasDEffetDeBord) ImporterEntier(Libelle : Nul Ou Caractere=Nul) Retourner Entier;
Fonction Optimiser(PasDEffetDeBord) ImporterReel(Libelle : Nul Ou Caractere=Nul) Retourner Reel;
Fonction Optimiser(PasDEffetDeBord) ImporterObjet(Libelle : Nul Ou Caractere=Nul) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes de IEchange. */
/*-------------------------------------------------------------*/
Public :
Procedure Habilitation FiltrerAPartirDe(NumeroDebut : Entier);
Procedure Habilitation FiltrerJusquA(NumeroFin : Entier);
Procedure Habilitation FiltrerEntre(NumeroDebut : Entier, NumeroFin : Entier);
Procedure Habilitation FiltrerSelon(CritereFiltre : Nul Ou Fonction(O:Nul Ou Objet) Retourner Booleen);
Procedure Habilitation FiltrerSelon(CritereFiltre : Nul Ou Caractere);
Procedure Habilitation FixerValidationAutomatique(NbEnregistrements : Entier);
Procedure Habilitation FixerValidationEnregistrement(Verification : Nul Ou Fonction(O:Nul Ou Objet, M : Nul Ou Caractere Sortie) Retourner Booleen);
Procedure Habilitation RejeterDans(Flux : Nul Ou IFlux);
Procedure Habilitation AssocierRessourceUps5GL(T : Nul Ou Type, Alias : Nul Ou Caractere=Nul);
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Constructeur Habilitation (Flux : Nul Ou IFlux, E : Nul Ou Entrepot=Nul, O : Booleen=Vrai, M : Booleen=Faux);
Procedure Habilitation ImporterUnModule(M : Nul Ou Module, I : Booleen);
Operateur Optimiser(Invariant, NulAbsorbant) ==(E : Nul Ou EchangeUps5GL) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(E : Nul Ou EchangeUps5GL) Retourner Nul Ou Booleen;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type EchangeUps5GL modélise un échange de données au format de haut niveau Up ! 5GL qui est lisible et modifiable aisément.
Ce format supporte les modèles de données récurrents et il est optimisé sur demande.
Le type EchangeUps5GL possède un constructeur pour lesquels les paramètres Flux, E et O représentent respectivement le flux sur lequel est adossé l'échange, l'entrepôt de création des objets importés et la demande d'optimisation.
Le flux Flux doit être ouvert en lecture pour une importation ou en écriture pour une exportation. Il s'agit d'un flux ouvert en mode texte.
Si E a pour valeur Nul, alors l'entrepot par défaut donné par le paramètre EntrepotDefaut d'Up ! Object Management System est utilisé.
Si le paramètre M a pour valeur Vrai, alors l'échange de données s'effectue au niveau métier :
Variable
/******/
E :Nul Ou EchangeUps5GL;
F : Nul Ou IFlux;
Principal
/*******/
Variable
/******/
A : Caractere;
B : Entier;
C : Reel;
D : Booleen;
Debut
...
A="Bonjour le monde";
B=10;
C=3.1416;
D=Vrai;
...
E=EchangeUps5GL(F);
E.ExporterObjet(A);
E.ExporterEntier(B);
E.ExporterObjet(C);
E.ExporterEnumere(D);
E=Nul;
...
Fin Principal
- | - | - | - | - | - | - | - | - |