Package jaxe

Class Config

java.lang.Object
jaxe.Config

public class Config extends Object
Gestion du fichier de configuration et du fichier de schéma XML
  • Field Details

  • Constructor Details

    • Config

      public Config(String nomFichierCfg, boolean lireSchema) throws JaxeException
      Constructeur à partir d'un chemin de fichier de configuration sur le disque
      Parameters:
      nomFichierCfg - chemin vers le fichier sur le disque
      lireSchema - faire un chargement en mémoire du schéma (false uniquement pour chercher une Config en fonction de la racine d'un document)
      Throws:
      JaxeException
    • Config

      public Config(URL urlFichierCfg, boolean lireSchema) throws JaxeException
      Constructeur à partir d'une URL (le fichier peut être sur le réseau ou sur un disque local)
      Parameters:
      urlFichierCfg - URL du fichier de configuration
      lireSchema - faire un chargement en mémoire du schéma (false uniquement pour chercher une Config en fonction de la racine d'un document)
      Throws:
      JaxeException
  • Method Details

    • nomPremierElementRacine

      public String nomPremierElementRacine()
      Renvoie le nom du premier élément utilisable comme racine, ou null si aucun n'est défini. Cette méthode peut être utilisée quand le schéma n'est pas chargé.
    • premierElementRacine

      public Element premierElementRacine()
      Renvoie la référence du premier élément utilisable comme racine, ou null si aucun n'est défini.
    • listeRacines

      public ArrayList<String> listeRacines()
      Retourne la liste des noms des éléments racines possibles
    • listeElementsRacines

      public ArrayList<Element> listeElementsRacines()
      Retourne la liste des références des éléments racines possibles
    • ajouterAttributsEspaces

      public void ajouterAttributsEspaces(Element rootel)
      Ajoute les attributs pour les espaces de nom à l'élément racine
    • nomSchema

      public String nomSchema()
      Renvoie le nom du fichier du schéma tel que donné dans le fichier de config (attribut nom de l'élément FICHIER_SCHEMA du fichier de config). Renvoie null si aucun n'est défini.
    • construireCacheAffichageElements

      protected HashMap<String,Element> construireCacheAffichageElements()
      Renvoie la table hash par nom des affichages des éléments dans le fichier de config (éléments AFFICHAGE_ELEMENT)
    • getCacheElementsVersNoms

      protected HashMap<Element,String> getCacheElementsVersNoms()
    • getAffichageElement

      public Element getAffichageElement(String nom)
    • construireCacheRefElements

      protected void construireCacheRefElements()
      Construit la table hash des associations références dans le schéma -> nom des éléments pour cette config et les autres configs
    • getResource

      protected String getResource(Element racine)
      Return the name of the resource bundle to use.
      Returns:
      the name of the resource bundle, null if not defined.
    • getRefConf

      public Config getRefConf(Element refElement)
      Renvoie la config correspondant à une référence d'élément du schéma.
    • getElementConf

      public Config getElementConf(Element el)
      Renvoie la config correspondant à un élément du document XML.
    • getProcessingConf

      public Config getProcessingConf(ProcessingInstruction el)
      Renvoie la config correspondant à une processing instruction du document XML.
    • getXSLParam

      public Map<String,String> getXSLParam(File xslFile)
    • listeExports

      public ArrayList<Element> listeExports(String sortie)
      Renvoie la liste des références des exports, en fonction de la sortie (HTML ou XML)
    • nomExport

      public String nomExport(Element export)
      Renvoie le nom d'un export à partir de sa référence
    • sortieExport

      public String sortieExport(Element export)
      Renvoie la sortie d'un export à partir de sa référence
    • listeFichiersExport

      public ArrayList<File> listeFichiersExport(Element export)
      Renvoie la liste des fichiers XSL d'un export à partir de sa référence, et construit la table de hash des paramètres de ces fichiers.
    • getEncodage

      public String getEncodage()
      Renvoie l'encodage de caractères souhaité pour les documents XML
    • getPublicId

      public String getPublicId()
    • getSystemId

      public String getSystemId()
    • getSchemaLocation

      public String getSchemaLocation()
    • getNoNamespaceSchemaLocation

      public String getNoNamespaceSchemaLocation()
    • prefixeEspace

      public String prefixeEspace(String ns)
      Renvoie un préfixe à utiliser pour l'espace de noms donné, ou null si aucune suggestion n'est possible
    • descriptionDialogueNouveau

      public static String descriptionDialogueNouveau(URL urlFichierCfg)
      Renvoie une ligne de description de la config, "racine - description" sans que le fichier ne soit chargé en mémoire et analysé. Utilisé dans DialogueNouveau pour afficher une description de chaque config.
    • nomsElementsRacine

      public static ArrayList<String> nomsElementsRacine(URL urlFichierCfg)
      Renvoie les noms des éléments racine possibles pour la config sans que le fichier ne soit chargé en mémoire et analysé. Utilisé dans JaxeDocument.chercherConfig().
    • creationMenu

      protected JMenu creationMenu(JaxeDocument doc, Element menudef)
      Renvoie un JMenu correspondant à la définition d'un menu dans le fichier de config, pour un document Jaxe donné.
      Parameters:
      doc - Le document Jaxe pour lequel le menu est créé
      menudef - L'élément MENU du fichier de config
    • makeMenus

      public JMenuBar makeMenus(JaxeDocument doc)
      Renvoie une barre de menus d'insertion des éléments pour un document Jaxe donné
      Parameters:
      doc - Le document Jaxe pour lequel la barre de menus est créée
    • getSchema

      public InterfaceSchema getSchema()
    • listeTousElements

      public ArrayList<Element> listeTousElements()
      Renvoie les références de tous les éléments de la config
    • elementDansSchema

      protected boolean elementDansSchema(Element refElement)
    • nomElement

      public String nomElement(Element refElement)
      Renvoie le nom de l'élément dont la référence est donnée.
    • getElementRef

      public Element getElementRef(Element el)
      Renvoie la référence du premier élément correspondant dans le schéma, en regardant dans les autres configurations si nécessaire.
    • getElementRef

      public Element getElementRef(Element el, Element refParent)
      Renvoie la référence de l'élément correspondant dans le schéma, à partir de l'élément et de la référence de son parent, en regardant dans les autres configurations si nécessaire.
    • referenceElement

      public Element referenceElement(String nom)
      Renvoie la référence schéma du premier élément avec le nom donné, en regardant dans les sous-configs si nécessaire
    • espaceElement

      public String espaceElement(Element refElement)
      Renvoie l'espace de nom correspondant à la référence de l'élément, ou null si aucun schéma XML n'est utilisé ou que l'espace de noms n'est pas défini. Attention, l'élément doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • prefixeElement

      public String prefixeElement(Element refElement)
      Renvoie le préfixe à utiliser pour créer un élément dont on donne la référence, ou null s'il n'y en a pas. Attention, l'élément doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • listeValeursElement

      public ArrayList<String> listeValeursElement(Element refElement)
      Renvoie la liste des valeurs possibles pour un élément, à partir de sa référence. Renvoie null s'il y a un nombre infini de valeurs possibles.
    • valeurElementValide

      public boolean valeurElementValide(Element refElement, String valeur)
      Renvoie true si la valeur donnée est une valeur valide pour l'élément
    • listeEspaces

      protected ArrayList<String> listeEspaces()
      Renvoie la liste des espaces de noms (String) gérés par cette config et ses sous-configs.
    • numeroEspace

      public int numeroEspace(String ns)
      Renvoie un numéro pour l'espace de noms donné, à partir de 0. Un numéro unique est attribué pour chaque espace de noms. Renvoie -1 si l'espace de noms n'est pas trouvé dans la configuration.
    • aEspace

      public boolean aEspace(String ns)
      Renvoie true si l'espace de nom est défini dans la config
    • espaceCible

      public String espaceCible()
      Renvoie l'espace de noms cible du schéma (attribut targetNamespace avec WXS)
    • listeElementsHorsEspace

      public ArrayList<Element> listeElementsHorsEspace(String espace)
      Renvoie les références des éléments qui ne sont pas dans l'espace de noms passé en paramètre
    • listeElementsDansEspaces

      public ArrayList<Element> listeElementsDansEspaces(Set<String> espaces)
      Renvoie les références des éléments qui sont dans les espaces de noms passés en paramètre
    • estSousElement

      public boolean estSousElement(Element refParent, Element refEnfant)
      Renvoie true s'il existe une relation parent-enfant entre les 2 références d'éléments
    • estSousElement

      public boolean estSousElement(Element refParent, String nomEnfant)
      Renvoie true si le nom donné correspond à un enfant possible du parent dont on passe la référence en paramètre
    • listeSousElements

      public ArrayList<Element> listeSousElements(Element refParent)
      Renvoie les références des éléments enfants de l'élément dont la référence est passée en paramètre
    • nomsSousElements

      public ArrayList<String> nomsSousElements(Element refParent)
      Renvoie les noms des éléments enfants de refParent (un élément du schéma).
    • expressionReguliere

      protected String expressionReguliere(Element refParent, boolean modevisu, boolean modevalid)
      Expression régulière correspondant au schéma pour un élément parent donné
      Parameters:
      modevisu - True si on cherche une expression régulière à afficher pour l'utilisateur
      modevalid - Pour obtenir une validation stricte au lieu de chercher si une insertion est possible
    • expressionReguliere

      public String expressionReguliere(Element refParent)
      Expression régulière correspondant au schéma pour un élément parent donné Attention, le paramètre doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • chercheParentEspace

      public Element chercheParentEspace(Element el, String namespace)
      Cherche le premier élément ancêtre de même espace de nom
    • chercheParentConfig

      public Element chercheParentConfig(Element el, Config conf)
      Cherche le premier élément ancêtre de même config
    • expressionEspace

      @Deprecated protected String expressionEspace(JaxeElement parent, int debutSelection, int finSelection, Element aInserer, boolean testEspace, String espaceParent)
      Deprecated.
      Renvoie l'expression régulière correspondant aux enfants d'un élément, en n'utilisant que les éléments ayant l'espace de noms du parent si testEspace est true, et en ajoutant aInserer à la place de se qui se trouve entre debutSelection et finSelection. Attention, aInserer doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • insertionPossible

      public boolean insertionPossible(JaxeElement parent, int debutSelection, int finSelection, Element aInserer)
      Renvoie true si on peut insérer l'élement aInsérer sous la balise parent sur la sélection définie par les positions debutSelection et finSelection.
    • elementValide

      public boolean elementValide(JaxeElement parent, boolean details, String[] texpr)
      Renvoie true si l'élément parent est valide par rapport à ses enfants (au niveau 1). + renvoie l'expression régulière utilisée pour le test dans texpr[0] si details=true
    • listeElementsParents

      public ArrayList<Element> listeElementsParents(Element refElement)
      Renvoie la liste des références des éléments parents possibles pour un élément dont on donne la référence dans le schéma en paramètre
    • nomsParents

      public ArrayList<String> nomsParents(Element refElement)
      Renvoie la liste des noms des parents possibles pour un élément dont on donne la référence dans le schéma en paramètre
    • contientDuTexte

      public boolean contientDuTexte(Element refElement)
      Renvoie true si l'élément dont on donne la référence peut contenir du texte
    • getSchemaTypeElement

      @Deprecated public Element getSchemaTypeElement(String nomType, String espace)
      Deprecated.
      Renvoie l'élément simpleType ou complexType avec le nom et l'espace de noms donnés. Renvoie null si aucun type correspondant n'est trouvé.
    • getVerifTypeSimple

      @Deprecated public VerifTypeSimple getVerifTypeSimple(Element snodedef)
      Deprecated.
      remplacé par valeurElementValide() et attributValide()
      Renvoie un objet permettant de vérifier la validité d'un élément ou d'un attribut, à partir du document Jaxe et de l'élément "element" ou "attribute" du schéma W3C
    • listeAttributs

      public ArrayList<Element> listeAttributs(Element refElement)
      Renvoie la liste des références des attributs possibles pour un élément dont on donne la référence en paramètre. Attention, l'élément doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • nomAttribut

      public String nomAttribut(Element refAttribut)
      Renvoie le nom d'un attribut à partir de sa référence. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • espaceAttribut

      public String espaceAttribut(Element refAttribut)
      Renvoie l'espace de noms d'un attribut à partir de sa référence, ou null si aucun n'est défini. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • prefixeAttribut

      public String prefixeAttribut(Element parent, Element refAttribut)
      Renvoie le préfixe à utiliser pour créer un attribut dont on donne l'élément parent et la référence, ou null s'il n'y en a pas. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • espaceAttribut

      public String espaceAttribut(String nom)
      Renvoie l'espace de noms d'un attribut à partir de son nom complet (avec le préfixe s'il y en a un). L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • estObligatoire

      @Deprecated public boolean estObligatoire(Element refAttribut)
      Deprecated.
      Renvoie true si un attribut est obligatoire, à partir de sa référence (dans le schéma s'il y en a un, ou sinon dans le fichier de config). L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément). Attention: ce n'est pas possible à déterminer avec seulement la référence d'attribut avec Relax NG. Il vaut mieux utiliser attributObligatoire.
    • attributObligatoire

      public boolean attributObligatoire(Element refParent, Element refAttribut)
      Renvoit true si l'attribut est obligatoire sous le parent. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • listeValeursAttribut

      public ArrayList<String> listeValeursAttribut(Element refAttribut)
      Renvoie la liste des valeurs possibles pour un attribut, à partir de sa référence. Renvoie null s'il y a un nombre infini de valeurs possibles. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • valeurParDefaut

      public String valeurParDefaut(Element refAttribut)
      Renvoie la valeur par défaut d'un attribut dont la référence est donnée en paramètre (c'est la valeur de l'attribut "default" avec les schémas WXS). L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • attributValide

      public boolean attributValide(Element refAttribut, String valeur)
      Renvoie true si la valeur donnée est une valeur valide pour l'attribut. L'attribut doit être défini dans cette config, pas dans une config incluse (on peut obtenir la config en utilisant getRefConf avec la référence de l'élément).
    • localValue

      public static String localValue(String s)
      Renvoie la partie locale du nom d'un élément (en retirant le préfixe)
    • typeAffichageNoeud

      public String typeAffichageNoeud(Element refElement, String nom, String typeNoeud)
      Renvoie le type d'affichage d'un noeud à partir de la référence d'élément, le nom du noeud et le type de noeud
    • typeAffichageElement

      public String typeAffichageElement(Element refElement)
      Renvoie le type d'affichage d'un élément à partir de sa référence
    • premierElementAvecType

      public Element premierElementAvecType(String typeAffichage)
      Renvoie la référence du premier élément dont le type d'affichage dans le fichier de config est celui indiqué
    • valeurParametreElement

      public String valeurParametreElement(Element refElement, String nomParametre, String defaut)
      Renvoie la valeur d'un paramètre d'affichage pour un élément (pas un noeud d'un autre type)
      Parameters:
      refElement - référence de l'élément (un élément du schéma)
      nomParametre - nom du paramètre
      defaut - valeur par défaut, utilisée si le paramètre n'est pas trouvé
    • valeurParametreElement

      public String valeurParametreElement(Element refElement, String nodeType, String nom, String nomParametre, String defaut)
      Renvoie la valeur d'un paramètre d'affichage pour un élément (pas un noeud d'un autre type)
      Parameters:
      refElement - référence de l'élément (un élément du schéma)
      nomParametre - nom du paramètre
      defaut - valeur par défaut, utilisée si le paramètre n'est pas trouvé
    • valeurParametreFonction

      public String valeurParametreFonction(Element fctdef, String nomParametre, String defaut)
      Renvoie la valeur d'un paramètre de fonction
      Parameters:
      fctdef - Elément du menu de la fonction dans le fichier de config
      nomParametre - nom du paramètre
      defaut - valeur par défaut, utilisée si le paramètre n'est pas trouvé
    • construireCacheParams

      protected HashMap<String,ArrayList<String>> construireCacheParams(Element base)
    • getParametresElement

      public HashMap<String,ArrayList<String>> getParametresElement(Element refElement)
      Renvoie la table des paramètres d'affichage d'un élément.
      Returns:
      la table hash
    • getParametresNoeud

      public HashMap<String,ArrayList<String>> getParametresNoeud(Element refElement, String typeNoeud, String nom)
      Renvoie la table des paramètres d'affichage d'un noeud. Le nom peut être null si typeNoeud vaut "element" et que refElement n'est pas null.
      Returns:
      la table hash
    • listeValeursSuggereesElement

      public ArrayList<String> listeValeursSuggereesElement(Element refElement)
      Renvoie la liste des valeurs suggérées dans le fichier de config pour un élément, à partir de sa référence. Renvoie null si aucun affichage n'est défini pour l'élément.
    • listeValeursSuggereesAttribut

      public ArrayList<String> listeValeursSuggereesAttribut(Element refParent, Element refAttribut)
      Renvoie la liste des valeurs suggérées dans le fichier de config pour un attribut, à partir de la référence de l'élément parent et de la référence de l'attribut. Renvoie null si aucun affichage n'est défini pour l'attribut.
    • listeElementsStrings

      protected ArrayList<Element> listeElementsStrings()
      Renvoie une liste des éléments STRINGS du fichier de config, ordonnée en fonction de la langue et du pays de l'utilisateur (par ordre de préférence).
    • description

      public String description()
      Renvoie la description de la config (contenu de l'élément DESCRIPTION_CONFIG du fichier de config)
    • titreMenu

      public String titreMenu(String nom)
      Renvoie le titre d'un menu à partir de son nom
    • documentationMenu

      public String documentationMenu(String nom)
      Renvoie la documentation d'un menu à partir de son nom
    • titreElement

      public String titreElement(Element refElement)
      Renvoie le titre d'un élément à partir de sa référence
    • documentation

      public String documentation(Element refElement)
      Renvoie la documentation d'un élément dont on donne la référence Attention, l'élément doit maintenant être un élément du schéma (avant c'était un élément du fichier de config).
    • formatageDoc

      public static String formatageDoc(String documentation)
      Formatte la documentation en HTML, avec des sauts de ligne supplémentaires pour éviter les lignes trop longues.
    • titreValeurElement

      public String titreValeurElement(Element refElement, String valeur)
      Renvoie le titre pour une valeur d'élément à partir de la référence de l'élément et la valeur
    • titreAttribut

      public String titreAttribut(Element refParent, Element refAttribut)
      Renvoie le titre d'un attribut à partir de la référence de l'élément parent et de la référence de l'attribut
    • titreAttribut

      @Deprecated public String titreAttribut(Element refAttribut)
      Deprecated.
      un attribut peut avoir plusieurs parents, utiliser titreAttribut(final Element refParent, final Element refAttribut) à la place.
      Renvoie le titre d'un attribut à partir de sa référence. L'élément parent de l'attribut doit être défini dans le schéma de cette configuration.
    • titreValeurAttribut

      public String titreValeurAttribut(Element refParent, Element refAttribut, String valeur)
      Renvoie le titre pour une valeur d'attribut à partir de la référence de l'élément parent, la référence de l'attribut et la valeur
    • titreValeurAttribut

      @Deprecated public String titreValeurAttribut(Element refAttribut, String valeur)
      Deprecated.
      un attribut peut avoir plusieurs parents, utiliser titreValeurAttribut(final Element refParent, final Element refAttribut, final String valeur) à la place.
      Renvoie le titre pour une valeur d'attribut à partir de la référence d'attribut et de la valeur L'élément parent de l'attribut doit être défini dans le schéma de cette configuration.
    • documentationAttribut

      public String documentationAttribut(Element refParent, Element refAttribut)
      Renvoie la documentation d'un attribut à partir de la référence de l'élément parent et la référence de l'attribut.
    • documentationAttribut

      @Deprecated public String documentationAttribut(Element refAttribut)
      Deprecated.
      un attribut peut avoir plusieurs parents, utiliser documentationAttribut(final Element refParent, final Element refAttribut) à la place.
      Renvoie la documentation d'un attribut à partir de sa référence. L'élément parent de l'attribut doit être défini dans le schéma de cette configuration.
    • titreExport

      public String titreExport(Element refExport)
      Renvoie le titre d'un export à partir de sa référence
    • documentationExport

      public String documentationExport(Element refExport)
      Renvoie la documentation d'un export à partir de sa référence
    • getLangage

      protected Element getLangage()
    • getEnregistrement

      protected Element getEnregistrement()
    • getMenus

      protected Element getMenus()
    • getAffichageNoeuds

      protected Element getAffichageNoeuds()
    • getExports

      protected Element getExports()
    • getStrings

      protected List<Element> getStrings()
    • findElement

      protected static Element findElement(Node n, String name)
    • nextElement

      protected static Element nextElement(Node n, String name)
    • findElementDeep

      protected static Element findElementDeep(Node n, String name)
    • nextElementDeep

      protected static Element nextElementDeep(Node parent, Node n, String name)