ikbs.rco.xml
Class DocumentXML

java.lang.Object
  extended by org.jdom.Document
      extended by ikbs.rco.xml.DocumentXML
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Observer, org.jdom.Parent

public class DocumentXML
extends org.jdom.Document
implements java.util.Observer

Classe représentant un document XML.

Author:
HOAREAU Christian-COURQUET Christophe
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jdom.Document
baseURI
 
Constructor Summary
DocumentXML()
           
DocumentXML(Schema model)
          Constructeur - Crée un nouveau DocumentXML
 
Method Summary
 void convert2xml(DescriptiveElement de)
          Crée l'arborescence hybride correspondant au modËle de composant racine le DescriptiveElement de.
 Balise getBalise(java.lang.String id)
          Retourne la balise d'identificateur id présente dans la table de Hachage obj.
 Balise getBaliseSchema()
           
 java.util.Hashtable getHashtable()
          Retourne la table de hachage contenant l'ensemble des objets Balise chargés en mémoire.
 Schema getModel()
          Retourne la racine du modele ikbs représentant la racine de l'arbre hybride
 void initBalise(Balise balise)
          Méthode recursive qui crée les liens entre les différentes Balise.
 void initBalise2(Balise balise)
          Méthode recursive qui crée les liens entre les différentes Balise.
 void loadRules(Balise balise)
           
 Schema parse(org.jdom.Element element)
          Fonction qui parse le document JDOM et en crée une arborescence hybride.
 void process(DescriptiveElement de)
          Méthode recursive qui parcourt le modËle IKBS chargé en mémoire et instancie à la volée les différents objets Balises du modËle.
 void process(org.jdom.Element element)
          Méthode recursive qui parcourt l'arborescence JDOM en mémoire et instancie à la volée les différents objets Balises du modËle.
 void putBalise(Balise balise)
          Cette méthode ajoute la balise balise passée en paramËtre à la table de hachage du DocumentXML.
 void removeBalise(java.lang.String id)
          Supprime le Balise d'identificateur id de la table de hachage.
 void setBaliseParent(DescriptiveElement de)
          Ajoute le lien pËre/fils entre la Balise parent et celle de DescriptiveElement de ainsi que la relation Observer/Observable.
 void setLink(Balise parent, DescriptiveElement de)
          Cette méthode effectue le lien pËre/fils entre la Balise parent et la balise de DescriptiveElement de.
 void setLink2(org.jdom.Element element, Balise balise)
          Cette méthode réalise le lien pËre-fils entre la balise et l'élément passés en paramËtre.
 void setModel()
          Initialise le modËle du DocumentXML par le DescriptiveElement associé à la Balise racine.
 void update(java.util.Observable o, java.lang.Object args)
          Méthode implémentée de l'interface java.util.Observer.
 
Methods inherited from class org.jdom.Document
addContent, addContent, addContent, addContent, clone, cloneContent, detachRootElement, equals, getBaseURI, getContent, getContent, getContent, getContentSize, getDescendants, getDescendants, getDocType, getDocument, getParent, getProperty, getRootElement, hashCode, hasRootElement, indexOf, removeContent, removeContent, removeContent, removeContent, setBaseURI, setContent, setContent, setContent, setContent, setDocType, setProperty, setRootElement, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DocumentXML

public DocumentXML()

DocumentXML

public DocumentXML(Schema model)
Constructeur - Crée un nouveau DocumentXML

Parameters:
model -
Method Detail

setModel

public void setModel()
Initialise le modËle du DocumentXML par le DescriptiveElement associé à la Balise racine.

See Also:
getModel()

getModel

public Schema getModel()
Retourne la racine du modele ikbs représentant la racine de l'arbre hybride

Returns:
ikbs.rco.element.Schema La racine du document XML
See Also:
setModel()

getHashtable

public java.util.Hashtable getHashtable()
Retourne la table de hachage contenant l'ensemble des objets Balise chargés en mémoire.

Returns:
java.util.Hashtable

getBalise

public Balise getBalise(java.lang.String id)
Retourne la balise d'identificateur id présente dans la table de Hachage obj.

Parameters:
id -
Returns:
ikbs.rco.xml.Balise

getBaliseSchema

public Balise getBaliseSchema()

putBalise

public void putBalise(Balise balise)
Cette méthode ajoute la balise balise passée en paramËtre à la table de hachage du DocumentXML.

Parameters:
balise - la balise à ajouter à la table de hachage.

removeBalise

public void removeBalise(java.lang.String id)
Supprime le Balise d'identificateur id de la table de hachage.

Parameters:
id -

setLink2

public void setLink2(org.jdom.Element element,
                     Balise balise)
Cette méthode réalise le lien pËre-fils entre la balise et l'élément passés en paramËtre.

Parameters:
element - l'élément à relier à l'arborescence hybride.
balise - la balise à laquelle lier l'élément JDOM.

parse

public Schema parse(org.jdom.Element element)
Fonction qui parse le document JDOM et en crée une arborescence hybride.

Parameters:
element - Elément racine de l'arborescence XML à analyser.
Returns:
ikbs.rco.element.Schema - la racine de l'arborescence IKBS

convert2xml

public void convert2xml(DescriptiveElement de)
Crée l'arborescence hybride correspondant au modËle de composant racine le DescriptiveElement de. Cette méthode sera utilisé pour convertir un modËle au format de, alors chargé en mémoire, au format XML.

Parameters:
de -

initBalise

public void initBalise(Balise balise)
Méthode recursive qui crée les liens entre les différentes Balise. L'arborescence hybride est mise en place. Les Balises contiennent alors toutes les informations du modËle et mettent à jour leurs DescriptiveElement associés.

Parameters:
balise - - balise à initialiser.
Throws:
java.lang.NullPointerException
java.lang.ClassCastException

initBalise2

public void initBalise2(Balise balise)
Méthode recursive qui crée les liens entre les différentes Balise. L'arborescence hybride est mise en place. Les Balises contiennent alors toutes les informations du modËle et mettent à jour leurs DescriptiveElement associés.

Parameters:
balise - - balise à initialiser.
Throws:
java.lang.NullPointerException
java.lang.ClassCastException

process

public void process(org.jdom.Element element)
Méthode recursive qui parcourt l'arborescence JDOM en mémoire et instancie à la volée les différents objets Balises du modËle. Les Balise sont stockées dans une table de hachage.

Parameters:
element -

process

public void process(DescriptiveElement de)
Méthode recursive qui parcourt le modËle IKBS chargé en mémoire et instancie à la volée les différents objets Balises du modËle. Les Balise sont stockées dans une table de hachage.

Parameters:
de - - ikbs.rco.element.DescriptiveElement

update

public void update(java.util.Observable o,
                   java.lang.Object args)
Méthode implémentée de l'interface java.util.Observer. Elle gËre tous les messages concernant la structure du DocumentXML (ajout, suppression de Balises).

Specified by:
update in interface java.util.Observer
Parameters:
o -
args -

setLink

public void setLink(Balise parent,
                    DescriptiveElement de)
Cette méthode effectue le lien pËre/fils entre la Balise parent et la balise de DescriptiveElement de.

Parameters:
parent -
de -
Throws:
java.lang.ClassCastException

setBaliseParent

public void setBaliseParent(DescriptiveElement de)
Ajoute le lien pËre/fils entre la Balise parent et celle de DescriptiveElement de ainsi que la relation Observer/Observable.

Parameters:
de -

loadRules

public void loadRules(Balise balise)