1 4 package com.openedit.modules.admin.users; 5 6 import java.io.BufferedReader ; 7 import java.io.File ; 8 import java.io.FileReader ; 9 import java.io.IOException ; 10 import java.util.HashMap ; 11 import java.util.Iterator ; 12 import java.util.Map ; 13 14 import com.openedit.util.FileUtils; 15 16 public class Header 17 { 18 protected Map fieldHeaderNames; 19 protected BufferedReader fieldReader; 20 21 public Map getHeaderNames() 22 { 23 if (fieldHeaderNames == null) 24 { 25 fieldHeaderNames = new HashMap (); 26 } 27 return fieldHeaderNames; 28 } 29 public void setHeaders(String [] inHeaders) 30 { 31 for (int i = 0; i < inHeaders.length; i++) 32 { 33 Integer integer = new Integer (i); 34 getHeaderNames().put(integer,inHeaders[i]); 35 } 36 } 37 38 public int getIndex(String inName) 39 { 40 Map headerNames = getHeaderNames(); 41 for (Iterator iter = headerNames.keySet().iterator(); iter.hasNext();) 42 { 43 Integer index = (Integer )iter.next(); 44 String name = (String ) headerNames.get(index); 45 if ( name.equalsIgnoreCase(inName)) 46 { 47 return index.intValue(); 48 } 49 } 50 return -1; 51 } 52 public String getColumn(int inIndex) 53 { 54 String name = (String )getHeaderNames().get(new Integer (inIndex)); 55 if ( name != null) 56 { 57 return name; 58 } 59 return null; 60 } 61 public int getSize() 62 { 63 return getHeaderNames().size(); 64 } 65 public void loadColumns( File inFile ) throws IOException 66 { 67 BufferedReader reader = new BufferedReader (new FileReader ( inFile ) ); 68 setReader(reader); 69 70 String line = getReader().readLine(); 71 if ( line == null) 72 { 73 FileUtils.safeClose(getReader()); 74 return; 75 } 76 String [] cells = line.split("\t"); 77 78 setHeaders(cells); 79 } 80 81 public Row getNextRow() throws IOException 82 { 83 String line = getReader().readLine(); 84 if ( line == null) 85 { 86 FileUtils.safeClose(getReader()); 87 return null; 88 } 89 String [] cells = line.split("\t"); 90 Row row = new Row(); 91 row.setHeader(this); 92 row.setData( cells ); 93 return row; 94 } 95 public BufferedReader getReader() 96 { 97 return fieldReader; 98 } 99 public void setReader(BufferedReader inReader) 100 { 101 fieldReader = inReader; 102 } 103 } 104 | Popular Tags |