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

Quick Search    Search Deep

org.fudaa.dodico.telemac
Class SerafinReader  view SerafinReader download SerafinReader.java

java.lang.Object
  extended byorg.fudaa.dodico.telemac.SerafinReader
All Implemented Interfaces:
SerafinInterface

public class SerafinReader
extends java.lang.Object
implements SerafinInterface

lecture d'un fichier serafin. Les donnees sont enregistrees en tant que double par simplicite. Les donnees de la deuxieme discretisation sont ignorees. Attention : la numerotation des tableaux commencent a 0 (java!!!).

Version:
$Id: SerafinReader.java,v 1.2 2002/12/17 16:47:12 deniger Exp $

Field Summary
private  double[][] donneesParTemps_
          Les donnees sont stockees par pas de temps puis par variables.
private  long idateInMillis_
           
private  int idisc1_
           
private  int[] ikle1_
          ikle1 est un tableau represente sous forme de vecteur.
private  java.io.InputStream in_
           
private  int[] iparam_
           
private  int[] ipobo1_
           
private  java.lang.String machineID_
           
private  int nbOctetsFichier_
           
private  int nbPasTemps_
          Le nombre de pas de temps reels
private  int nbv1_
           
private  int nbv2_
           
private  int nelem1_
           
private  java.lang.String[] nomVariables_
           
private  int npoin1_
           
private  int nppel1_
           
private  org.fudaa.dodico.commun.ProgressionInterface task_
           
private  double[] temps_
          Les valeurs des pas de temps.
private  java.lang.String titre_
           
private  java.lang.String[] uniteVariables_
           
private  double[] x1_
           
private  double[] y1_
           
 
Fields inherited from interface org.fudaa.dodico.telemac.SerafinInterface
IPARAM_NB
 
Constructor Summary
SerafinReader(java.io.InputStream _in)
          Par defaut, utilise _machineID= null et _task=null ( voir le constructeur complet).
SerafinReader(java.io.InputStream _in, org.fudaa.dodico.commun.ProgressionInterface _task)
          _machineID=null ( voir le constructeur complet).
SerafinReader(java.io.InputStream _in, org.fudaa.dodico.commun.ProgressionInterface _task, java.lang.String _machineID)
          Initialisation complete : lit les donnees de _in qui sont dans le format _machineID et met a jour l'avancement de _task.
 
Method Summary
 double getDonnees(int _pasTemps, int _numVariable, int _i)
           
 long getIdate()
          le temps en millisecondes
 int getIdisc1()
           
 int getIkle1(int _elem, int _point)
           
 int[] getIparam()
           
 int getIpobo1(int _i)
           
 java.lang.String getMachineId()
           
 int getNbPasTemps()
          Renvoie le nombre de pas de temps.
 int getNbv1()
          Renvoie le nombre de variables de 1ere discretisation.
 int getNelem1()
           
 java.lang.String getNomVariables(int _i)
          Renvoie le nom des variables.
 int getNpoin1()
           
 int getNppel1()
           
 double[] getPasTemps()
           
 java.lang.String getTitre()
           
 java.lang.String getUniteVariables(int _i)
          Renvoie l'unite des variables ( dans l'ordre).
 double getX1(int _i)
           
 double getY1(int _i)
           
private  boolean isFormatEnColonne()
          Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou "unpackad form").
static boolean isFormatEnColonne(int[] _s)
           
private  boolean isIdateDefini()
          A partir de iparam_, determine si la date (Idate) du projet est presente dans le fichier.
static boolean isIdateDefini(int[] _s)
           
private  boolean isNBV2Defini()
          Teste si NBV2 >0.
 java.lang.String[] read()
          Lecture du flux entrant ( utilise un BufferedInputStream).
private  void setProgression(int _bytesAvailable)
          Calcule, a partir de _bytesAvailable et nbOctetsFichier_, le pourcentage du fichier lu.
 void setProgressionInterface(org.fudaa.dodico.commun.ProgressionInterface _task)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nbOctetsFichier_

private int nbOctetsFichier_

nbv1_

private int nbv1_

nbv2_

private int nbv2_

nomVariables_

private java.lang.String[] nomVariables_

uniteVariables_

private java.lang.String[] uniteVariables_

iparam_

private int[] iparam_

idateInMillis_

private long idateInMillis_

nelem1_

private int nelem1_

npoin1_

private int npoin1_

nppel1_

private int nppel1_

idisc1_

private int idisc1_

ikle1_

private int[] ikle1_
ikle1 est un tableau represente sous forme de vecteur. Le tableau a nelem1_ lignes et nppel1_ colonnes. le point j de l'element i est obtenu par (i,j)=i*nppel1_+j i [0,nelem1_[ j [0,nppel1_[


ipobo1_

private int[] ipobo1_

x1_

private double[] x1_

y1_

private double[] y1_

temps_

private double[] temps_
Les valeurs des pas de temps.


donneesParTemps_

private double[][] donneesParTemps_
Les donnees sont stockees par pas de temps puis par variables. donneesParTemps_[0] pas de temps 1 variables 1 donneesParTemps_[1] pas de temps 1 variables 2 ..... donneesParTemps_[Nbv1-1] pas de temps 1 variables Nbv1 donneesParTemps_[Nbv1] pas de temps 1 variables 1


nbPasTemps_

private int nbPasTemps_
Le nombre de pas de temps reels


in_

private java.io.InputStream in_

machineID_

private java.lang.String machineID_

task_

private org.fudaa.dodico.commun.ProgressionInterface task_

titre_

private java.lang.String titre_
Constructor Detail

SerafinReader

public SerafinReader(java.io.InputStream _in)
Par defaut, utilise _machineID= null et _task=null ( voir le constructeur complet).


SerafinReader

public SerafinReader(java.io.InputStream _in,
                     org.fudaa.dodico.commun.ProgressionInterface _task)
_machineID=null ( voir le constructeur complet).


SerafinReader

public SerafinReader(java.io.InputStream _in,
                     org.fudaa.dodico.commun.ProgressionInterface _task,
                     java.lang.String _machineID)
Initialisation complete : lit les donnees de _in qui sont dans le format _machineID et met a jour l'avancement de _task. Lors de la lecture un BufferedInputStreamReader est utilise.

Method Detail

getMachineId

public java.lang.String getMachineId()

setProgressionInterface

public void setProgressionInterface(org.fudaa.dodico.commun.ProgressionInterface _task)

setProgression

private void setProgression(int _bytesAvailable)
Calcule, a partir de _bytesAvailable et nbOctetsFichier_, le pourcentage du fichier lu.


isFormatEnColonne

private boolean isFormatEnColonne()
Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou "unpackad form"). Teste en fait si IPARAM[1]==1.


isFormatEnColonne

public static boolean isFormatEnColonne(int[] _s)

isNBV2Defini

private boolean isNBV2Defini()
Teste si NBV2 >0. Utiliser pour ignorer les sections eventuelles.


isIdateDefini

private final boolean isIdateDefini()
A partir de iparam_, determine si la date (Idate) du projet est presente dans le fichier.


isIdateDefini

public static final boolean isIdateDefini(int[] _s)

getNbv1

public int getNbv1()
Renvoie le nombre de variables de 1ere discretisation.

Specified by:
getNbv1 in interface SerafinInterface

getNbPasTemps

public int getNbPasTemps()
Renvoie le nombre de pas de temps.

Specified by:
getNbPasTemps in interface SerafinInterface

getNomVariables

public java.lang.String getNomVariables(int _i)
Renvoie le nom des variables.

Specified by:
getNomVariables in interface SerafinInterface

getUniteVariables

public java.lang.String getUniteVariables(int _i)
Renvoie l'unite des variables ( dans l'ordre).

Specified by:
getUniteVariables in interface SerafinInterface

getTitre

public java.lang.String getTitre()
Specified by:
getTitre in interface SerafinInterface

getIparam

public int[] getIparam()
Specified by:
getIparam in interface SerafinInterface

getNelem1

public int getNelem1()
Specified by:
getNelem1 in interface SerafinInterface

getNpoin1

public int getNpoin1()
Specified by:
getNpoin1 in interface SerafinInterface

getNppel1

public int getNppel1()
Specified by:
getNppel1 in interface SerafinInterface

getIdisc1

public int getIdisc1()
Specified by:
getIdisc1 in interface SerafinInterface

getIpobo1

public int getIpobo1(int _i)
Specified by:
getIpobo1 in interface SerafinInterface

getIkle1

public int getIkle1(int _elem,
                    int _point)
Specified by:
getIkle1 in interface SerafinInterface

getX1

public double getX1(int _i)
Specified by:
getX1 in interface SerafinInterface

getY1

public double getY1(int _i)
Specified by:
getY1 in interface SerafinInterface

getDonnees

public double getDonnees(int _pasTemps,
                         int _numVariable,
                         int _i)
Specified by:
getDonnees in interface SerafinInterface

getIdate

public long getIdate()
Description copied from interface: SerafinInterface
le temps en millisecondes

Specified by:
getIdate in interface SerafinInterface

getPasTemps

public double[] getPasTemps()
Specified by:
getPasTemps in interface SerafinInterface

read

public final java.lang.String[] read()
                              throws java.io.IOException
Lecture du flux entrant ( utilise un BufferedInputStream). Les erreur graves (bloquantes) sont renvoyees sous forme d' IOException. Les erreurs non bloquantes sont renvoyées par la methode. Le flux est ferme a la fin.