/***************************************************************/
Type Habilitations Defaut Final TailleSegment 8 ConserverObjets
/* Objet : Type des objets correspondant aux habilitations. */ 
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet.  */
/*-------------------------------------------------------------*/
Prive :
	
	EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres.    					      */
/*-------------------------------------------------------------*/
Prive :
	
	HabilitationsMere : Nul Ou Habilitations Virtuel Lecture Public;
	
	RolePere : Nul Ou Role Virtuel Lecture Public;
	
	Selon Sorte : SorteHabilitation Virtuel Lecture Public Trace Faire
	
		Cas HabilitationDuModule Pour HabilitationModule Faire
		
			
			NomModule : Caractere Virtuel Lecture Public;	
		
		Fin Cas
		
		Cas HabilitationDuType Pour HabilitationType Faire
		
			
			NomType : Caractere Virtuel Lecture Public;
		
		Fin Cas
		
		Cas HabilitationDeLObjet Pour HabilitationObjet Faire
		
			
			ObjetHabilite : Nul Ou Objet Virtuel Lecture Public;
		
		Fin Cas
	
Fin Selon
	
	HabilitationCycleDeVie : Nul Ou HabilitationUnitaire 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;
/*-------------------------------------------------------------*/
/* Methodes propres.                       					      */
/*-------------------------------------------------------------*/
Public :
	
   Operateur Optimiser(Invariant, NulAbsorbant) ==(H : Nul Ou Habilitations) Retourner Nul Ou Booleen;
	
   Operateur Optimiser(Invariant, NulAbsorbant) !=(H : Nul Ou Habilitations) Retourner Nul Ou Booleen;
	
	Fonction Habilitation ListerHabilitationsAppels(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou HabilitationUnitaire;
	
	Fonction Habilitation ListerHabilitationsTypes(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Habilitations;
	
	Fonction Habilitation ListerHabilitationsVariables(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou HabilitationUnitaire;
	
	Fonction Habilitation ListerHabilitationsMethodes(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou HabilitationUnitaire;
	
	Fonction Habilitation ListerHabilitationsProprietes(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou HabilitationUnitaire;
	
	Fonction Habilitation ListerHabilitationsObjets(CritereFiltre : Nul Ou Caractere=Nul, CritereTri : Nul Ou Caractere=Nul) Retourner Nul Ou IResultatRequeteDe Nul Ou Habilitations;
Prive :
	
   Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Habilitations ne possède pas de constructeur explicite.
Variable
/******/
	H1 : Nul Ou Habilitations;
	H2 : Nul Ou Habilitations;
	R : Nul Ou IResultatRequeteDe Nul Ou HabilitationUnitaire;
	H3 : Nul Ou HabilitationUnitaire;
Principal
/*******/
Debut
...
Si H1==H2 Alors
/* Egalité entre deux habilitations. */
	...
Fin Si
Si H1!=H2Alors
/* Inégalité entre deux habilitations. */
	...
Fin Si
...
R=H1.ListerHabilitationsAppels("Objet.Nom Comme \"MonA*\"");
/* Liste les habilitations des appels dont le nom commence par "MonA". */
Pour H3=R.ParcoursAuDebut() JusquA R.DernierElement() Faire
	...
Fin Pour
...
Fin Principal
| - | - | - | - | - | - | - | - | - |