1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| package com.see;
import java.util.ArrayList;
import java.util.List;
import com.see.exceptions.HeaderException;
public class SeeHeader implements Header{
private String _strTitle;
private String _strSubTitle;
private List<SeeParameter> _parameters;
public SeeHeader(){
_parameters = new ArrayList<SeeParameter>();
}
public void setTitle(String value){
_strTitle = value;
}
public void setSubTitle(String value){
_strSubTitle = value;
}
public void setParameters(String names, String units) throws HeaderException {
/*
for (int i = 0 ; i < names.length() ;i++){
System.out.print(names.charAt(i));
}
System.out.println();
*/
int p; //Nombre de paquet présent dans la chaine
int nameLength = names.length();
int unitLength = units.length();
//System.out.println("Il y a "+n+" element(s) dans notre chaine");
p = nameLength / 13;
//System.out.println(p);
if(nameLength%13 != 0) p++;
//System.out.println(p);
//System.out.println("Il y a "+p+" paquet(s) dans notre chaine");
int i, j1, j2;
// String name[] = new String [p];
for(i=0 ; i<p ; i++){
j1 = i*13;
j2 = Math.min(j1+13,nameLength);
String strName = names.substring(j1 , j2).trim();
if (strName.length()==0){ //|| strUnit.length()==0){
throw new HeaderException("The parameter number "+(i+1)+" has no name!");
}
j1 = Math.min(j1, unitLength);
j2 = Math.min(j1+13, unitLength);
String strUnit = "";
if (j1!=j2) strUnit = units.substring(j1 , j2).trim();
SeeParameter param = new SeeParameter(strName, strUnit, i+1);
_parameters.add(param);
// name[i] = names.substring(j1 , j2);
// name[i] = name[i].trim();
}
// System.out.println(name[2]);
}
public void debugPrint() {
System.out.println("Title: "+_strTitle);
System.out.println("Subtitle: "+_strSubTitle);
for (int i=0;i<_parameters.size();i++)
System.out.println("Parameter ["+(i+1)+"] = "+_parameters.get(i).getFullName()+" column = "+_parameters.get(i).getColumn());
}
/**
* Gets the amount of parameters
* @return Amount of parameters
*/
public int getParametersCount() {
return _parameters.size();
}
public void read(List<String> strLines) throws HeaderException {
if (strLines.size()<4) throw new HeaderException("insufficient amount of lines!");
_strTitle = strLines.get(0);
_strSubTitle = strLines.get(1);
this.setParameters(strLines.get(2), strLines.get(3));
}
public SeeParameter[] getParametersList() {
SeeParameter[] p = _parameters.toArray(new SeeParameter[0]);
return p;
}
public SeeParameter getParameterAt(int column) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getRowDataStart() {
return 4;
}
} |
Partager