iObservable
Groupe de propriétés persistantes correspondant à un client ou un groupe. Celles-ci doivent être définies dans le fichiers config.xml Pour obtenir une référence à ces propriétés, utiliser : Properties of the current group : org.omus.core.Group.getInstance().getProperties() Properties of the currentuser : org.omus.core.User.getInstance().getProperties() Properties of another user in the current group : org.omus.core.Group.getInstance().getUserProperties("username")
Evénements auxquels s'abonner :
new PropertySet()
public function PropertySet(type:String, owner:Object, pKey:Number, par:PropertySet)
L'objet User dispose des méthodes d'EventDispatcher par composition.
type | "group" ou "user". |
owner | Une référence à l'objet propriétaire des propriétés. |
pKey | Un identifiant unique au groupe ou utilisateur (clé primaire de la base de données pour grpID et usrID). |
par | Parent éventuel du groupe actuel (cf onSynchronise(PropertySet) et onLoad(PropertySet)). |
public function toString():String
Utilisé dans un contexte littéral
Une chaine définissant l'objet
public function getParent():PropertySet
Renvoie le parent. L'objet PropertySet envoyé lors des événements onSynchronise et onLoad correspond à la partie modifiée. Le parent est l'objet complet.
Une référence aux propriétés envoyées partiellement ou null.
public function getOwner():Object
Renvoie un identifiant du possesseur des propriétés.
Le nom (string) de l'utilisateur ou une référence à Group.
public function getPrimaryKey():Number
Renvoie la clé primaire correspondant au possesseur des propriétés.
Un identifiant de la base de données.
public function getMarshalledProperties():MarshalledProperties
Renvoie une référence aux propiétés encodées.
Une référence.
public function isSynchronized():Boolean
Renvoie un booléen en fonction de la modification d'une propriété du set, suite à un événément onSynchronise.
true si aucune propriété n'a été modifié.
public function isValid():Boolean
Permet de savoir si le set de propriétés appartient à un membre du groupe ou au groupe. Une référence à un PropertySet dont le membre aurait quitté le groupe ne sera pas correctement utilisé.
true si PropertySet appartient au groupe ou utilisateur actuel.
public function getValue(propName:String):Object
Renvoie la valeur d'une propriété specifiée.
propName | Le nom d'une propriété. |
Une valeur ou null si la propriété n'a pas été chargée.
public function getType(propName:String):String
Renvoie le type d'une d'une propriété spécifiée.
propName | Le nom d'une propriété. |
type utilisé : …
public function contains(propName:String):Boolean
Permet de savoir si une propriété est contenu dans le set.
propName | Le nom d'une propriété. |
true si propName appartient au PropertySet.
public function isModified(propName:String):Boolean
Permet de savoir si une propriété a été modifiée depuis le dernier événement onSynchronise.
propName | Le nom de la propriété. |
true s'il ya eu modification.
public function isLoaded(propName:String):Boolean
Renseigne si une propriété spécifiée a été chargé dans le poste client.
propName | Le nom de la propriété. |
true si la valeur d'une propriété est chargée.
public function setValue(propName:String, newVal:Object):Void
Modifie la valeur d'une propriété sur le poste client dans l'attente de la synchronisation avec le serveur. Le type doit correspondre avec celui contenu dans le fichier config.xml
propName | Le nom d'une propriété. |
newVal | Une valeur. |
public function synchronize():Void
Synchronise toutes les propriétés d'un set. Le comportement change en fonction de la configuration côté serveur : - Ecriture dans la base de donnée : persistance globale - Synchronisation avec seulement les membres connectés.
public function load(propNames:Array):Void
Charge toutes les propriétés spécifiées dans le client.
public function loadAll():Void
Charge toutes les propriétés non téléchargés automatiquement. Voir config.xml
public function getChanged():MarshalledProperties
TODO : Renvoie les propriétés ayant été modifiées ??
Une référence.
public function valueChanged(propName:String, marshVal:Object):Void
TODO : Rajoute la propriété comme étant à soumettre au serveur ??
propName | Le nom de la propriété. |
marshVal | Nouvelle valeur de la propriété. |
public function fill(propConfig:Object, props:Object):Void
Rajoute les propriétés persistantes en les typant correctement avec leur valeurs.
propConfig | Tableau associatif des propriétés. |
props | Valeurs des propriétés. |
public function addListener(listener:Object):Boolean
Ajoute un nouvel observateur.
listener | Référence de l'observateur. |
Un booléen indiquant la réussite de l'opération.
public function removeListener(listener:Object):Boolean
Supprime un observateur.
listener | Référence de l'observateur. |
Un booléen indiquant la réussite de l'opération.
public function countListeners():Number
Retourne le nombre d'observateurs.
Le nombre d'observateurs enregistrés.
public function handleMessage(env:Envelope):Void
Dirige la message d'accusé de réception en fonction du type contenu dans son enveloppe.
env | Enveloppe du message. |
public function synchronizeOK(props:Object, cr:Boolean, cache:Object):Void
Gestion de la synchronisation des propriétés suite à une synchronisation serveur. Génère un événement onSynchronise aux observateurs.
props | Un objet des propriétés à jour. |
cr | Client request, true si demande émanant du cleint courant. |
cache | TODO |
public function synchronizeFailed(cache:Object, errCode:String, method:String, args:Array)
Gestion de la synchronisation des propriétés suite à une erreur de synchronisation serveur. Génère un événement onError aux observateurs.
cache | Un objet des propriétés à jour. |
method | L'accusé de réception d'où émane l'erreur. |
static public function toLog():String
Utilisé dans un contexte littéral
Une chaine définissant l'objet
static public function handleIncomingMessage(env:Envelope):Void
Gestionnaire d'accusé de réception émanant directement de MessageRouter et chargé de redistribuer les messages entre les propriétés d'un groupe ou d'un utilisateur. TODO : Compileur MMC 2004 n'accepte pas une méthode de classe et d'instance ayant le même nom.
env | Enveloppe du message. |