Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.memoire.ant
Class idlj_task  view idlj_task download idlj_task.java

java.lang.Object
  extended byorg.apache.tools.ant.ProjectComponent
      extended byorg.apache.tools.ant.Task
          extended bycom.memoire.ant.idlj_task

public class idlj_task
extends org.apache.tools.ant.Task

Tache ant pour idlj. Gestion des dependances et du cache eventuel.

Version:
$Id: idlj_task.java,v 1.10 2002/12/16 18:56:24 desnoix Exp $

Nested Class Summary
protected static class idlj_task.PkgPrefix
          la classe PkgPrefix.
 
Field Summary
protected  java.io.File baseDir_
          Le fichier de base des dossiers idl
protected  java.io.File cache_
          Le fichier de cache.
protected  boolean cacheUpToDate_
          true si le fichier de cache est a jour
protected  java.lang.String defaultPkgPrefix_
          Cette chaine est utilisee par defaut pour tous les modules.
protected  boolean dep_
          Si true, les includes de chaque fichiers sont analyse, pour definir les dependance.
protected  java.io.File destDir_
          Le repertoire de destination
protected  java.util.Vector filesets_
           
private static java.lang.String[] IDLJCLASSES
          Les classes d'idlj
protected  java.util.Hashtable mapCache_
          La table de hachage contenant les valeurs du cache : les includes de chaque fichier idl
protected  java.util.Hashtable mapTime_
          Contient les dates de dernieres modifications des fichiers idl des fichiers (si option dependance activee)
private static java.lang.String modulePattern
          Les fichiers concernes
protected  java.util.Vector options_
          Le vecteur final des options
protected  java.util.Vector pkgPrefixVector_
          le vecteur contenant toutes les instances de PkgPrefix passees par ant
private static java.lang.String[] SIDE
          Les options -f<side>
protected  long tCache_
          Date de derniere modification du fichier cache_
protected  boolean testFicGeneres_
          Si true, le repertoire de destination sont calcules a partir des pkgPrefix, et sont effaces s'ils sont perime par rapport au fichier idl.
 
Fields inherited from class org.apache.tools.ant.Task
description, location, target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
idlj_task()
          Constructeur par defaut
 
Method Summary
 void addFileset(org.apache.tools.ant.types.FileSet set)
          Ajout d'une liste de fichier.
private  void addPkgOption(idlj_task.PkgPrefix _p)
          Ajout d'un PkgPrefix au vecteur options_.
private  void addPkgOption(java.lang.String _m, java.lang.String _p)
          Ajout d'une options pkgPrefix dans le vecteur options_.
private  void analyseInclude(java.util.Vector _file)
          Si l'option dependance est activee (dep_), met a jour la date de derniere modification des fichiers idl en fonction des includes.
 idlj_task.PkgPrefix createPkgPrefix()
          Definition d'un PkgPrefix.
 void execute()
          L'execution de la tache.
private  java.lang.Class findIdljClass()
          Recherche une classe pouvant etre chargee dans le tableau IDLJCLASSES.
private  void getCache()
          Lecture du fichier de cache, mise a jour de la table de hachage (mapCache_) et de l'instant de derniere modification.
private  java.util.Vector getIncludeIdlFichiers(java.io.File _f)
          Recherche les 'include' directs d'un fichier.
private  long getLastModifiedInclude(java.io.File _key, java.util.Hashtable _include, java.util.Hashtable mapTime_, java.util.Vector _usedFiles)
          Methode recursive qui permet de determiner si le fichier _key est a jour par rapport aux includes.
private  java.lang.String getModule(java.lang.String _file)
          A partir du nom de fichier, renvoie le module.
si _file=dd/toto.idl renvoie toto.
private  java.lang.String getPrefix(java.lang.String _m, idlj_task.PkgPrefix[] _pkgTab)
          Recherche dans le tableau de PkgPrefix '_pkgTab' le prefixe correspondant au module _m.
private  void recursifDelete(java.io.File f)
          Supprime entierement f (repertoire ou fichier).
 void setBaseDir(java.io.File _file)
          Definition du repertoire de base (option -i de idlj).
 void setDefaultPkgPrefix(java.lang.String _e)
          definition du pkgPrefix par defaut.
 void setDependance(boolean _e)
           
 void setDependanceFile(java.io.File _f)
           
 void setDestDir(java.io.File _file)
          Definition du repertoire de destination pour les fichiers java.
 void setEmitAll(boolean _e)
          Ajout de l'option -emitAll.
 void setF(java.lang.String _e)
          L'option f<side> de idlj.
 void setI(java.io.File _file)
          Raccourci de setBaseDir().
 void setKeep(java.lang.String _s)
          Definition de l'option keep.
 void setNoWarn(boolean _e)
          Ajout de l'option -noWarn.
 void setOldImplBase(boolean _e)
          Nouvelle option de compatibilite du jdk1.4.
 void setTd(java.io.File _file)
          Raccourci de setDestDir().
 void setVerbose(boolean _e)
          Ajout de l'option -verbose.
 
Methods inherited from class org.apache.tools.ant.Task
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IDLJCLASSES

private static java.lang.String[] IDLJCLASSES
Les classes d'idlj


SIDE

private static java.lang.String[] SIDE
Les options -f<side>


modulePattern

private static java.lang.String modulePattern
Les fichiers concernes


filesets_

protected java.util.Vector filesets_

pkgPrefixVector_

protected java.util.Vector pkgPrefixVector_
le vecteur contenant toutes les instances de PkgPrefix passees par ant


options_

protected java.util.Vector options_
Le vecteur final des options


destDir_

protected java.io.File destDir_
Le repertoire de destination


baseDir_

protected java.io.File baseDir_
Le fichier de base des dossiers idl


cache_

protected java.io.File cache_
Le fichier de cache. contient les includes des fichiers


cacheUpToDate_

protected boolean cacheUpToDate_
true si le fichier de cache est a jour


mapCache_

protected java.util.Hashtable mapCache_
La table de hachage contenant les valeurs du cache : les includes de chaque fichier idl


mapTime_

protected java.util.Hashtable mapTime_
Contient les dates de dernieres modifications des fichiers idl des fichiers (si option dependance activee)


tCache_

protected long tCache_
Date de derniere modification du fichier cache_


dep_

protected boolean dep_
Si true, les includes de chaque fichiers sont analyse, pour definir les dependance.


defaultPkgPrefix_

protected java.lang.String defaultPkgPrefix_
Cette chaine est utilisee par defaut pour tous les modules. Les modules sont obtenus a partir du nom du fichier idl.
Exemple: fichier=toto.idl -> module=toto


testFicGeneres_

protected boolean testFicGeneres_
Si true, le repertoire de destination sont calcules a partir des pkgPrefix, et sont effaces s'ils sont perime par rapport au fichier idl.

Constructor Detail

idlj_task

public idlj_task()
Constructeur par defaut

Method Detail

getPrefix

private java.lang.String getPrefix(java.lang.String _m,
                                   idlj_task.PkgPrefix[] _pkgTab)
Recherche dans le tableau de PkgPrefix '_pkgTab' le prefixe correspondant au module _m.


getModule

private java.lang.String getModule(java.lang.String _file)
A partir du nom de fichier, renvoie le module.
si _file=dd/toto.idl renvoie toto.


getIncludeIdlFichiers

private java.util.Vector getIncludeIdlFichiers(java.io.File _f)
Recherche les 'include' directs d'un fichier. Si la table de hachage de cache contient des donnees a jour sur le fichier _f, ces dernieres sont renvoyees. mapCache_ et tCache_ doivent etre initialises avant l'appel a cette methode. Pour utiliser le cache, la methode getCache() doit etre appelee precedemment.


getCache

private void getCache()
Lecture du fichier de cache, mise a jour de la table de hachage (mapCache_) et de l'instant de derniere modification. Description du fichier:
Fichier1
  include1
  include2
Fichier2


getLastModifiedInclude

private long getLastModifiedInclude(java.io.File _key,
                                    java.util.Hashtable _include,
                                    java.util.Hashtable mapTime_,
                                    java.util.Vector _usedFiles)
Methode recursive qui permet de determiner si le fichier _key est a jour par rapport aux includes. Si un include est plus recent la date de derniere modification de _key est mise a jour.


findIdljClass

private java.lang.Class findIdljClass()
Recherche une classe pouvant etre chargee dans le tableau IDLJCLASSES.


recursifDelete

private void recursifDelete(java.io.File f)
Supprime entierement f (repertoire ou fichier).


addPkgOption

private void addPkgOption(idlj_task.PkgPrefix _p)
Ajout d'un PkgPrefix au vecteur options_.


addPkgOption

private void addPkgOption(java.lang.String _m,
                          java.lang.String _p)
Ajout d'une options pkgPrefix dans le vecteur options_.


analyseInclude

private void analyseInclude(java.util.Vector _file)
Si l'option dependance est activee (dep_), met a jour la date de derniere modification des fichiers idl en fonction des includes.


setBaseDir

public void setBaseDir(java.io.File _file)
Definition du repertoire de base (option -i de idlj). Utile pour gerer les includes.


setI

public void setI(java.io.File _file)
Raccourci de setBaseDir().


setDestDir

public void setDestDir(java.io.File _file)
Definition du repertoire de destination pour les fichiers java.


setTd

public void setTd(java.io.File _file)
Raccourci de setDestDir().


setDefaultPkgPrefix

public void setDefaultPkgPrefix(java.lang.String _e)
definition du pkgPrefix par defaut. Si defini, tous les noms de fichiers sont consideres comme etant les noms des modules ( cf gtModule(String)). Pour chaque module, le defaultPkgPrefix_ est utilise.


setKeep

public void setKeep(java.lang.String _s)
Definition de l'option keep. Si _s vaut "test", alors tous les dossiers de destination sont calcules a l'aide des pkgPrefix et s'ils sont obsoletes, ils sont supprimes. Si _s vaut "true" l'option --keep est ajoutee.


setEmitAll

public void setEmitAll(boolean _e)
Ajout de l'option -emitAll.


setVerbose

public void setVerbose(boolean _e)
Ajout de l'option -verbose.


setNoWarn

public void setNoWarn(boolean _e)
Ajout de l'option -noWarn.


setF

public void setF(java.lang.String _e)
L'option f<side> de idlj. Si _e est contenu par le tableau SIDE , l'option correspondante est ajoutee. Sinon exception.


setDependance

public void setDependance(boolean _e)

setDependanceFile

public void setDependanceFile(java.io.File _f)

setOldImplBase

public void setOldImplBase(boolean _e)
Nouvelle option de compatibilite du jdk1.4. Ajout si le jdk utilise est superieur ou egal 1.4


execute

public void execute()
L'execution de la tache.


addFileset

public void addFileset(org.apache.tools.ant.types.FileSet set)
Ajout d'une liste de fichier.


createPkgPrefix

public idlj_task.PkgPrefix createPkgPrefix()
Definition d'un PkgPrefix. Il est ajoute au vecteru pkgPrefixVector_.