| 12
 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