/* * Created on Aug 15, 2005 */ package com.openedit.modules.admin.users; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import com.openedit.util.FileUtils; public class Header { protected Map fieldHeaderNames; protected BufferedReader fieldReader; public Map getHeaderNames() { if (fieldHeaderNames == null) { fieldHeaderNames = new HashMap(); } return fieldHeaderNames; } public void setHeaders(String[] inHeaders) { for (int i = 0; i < inHeaders.length; i++) { Integer integer = new Integer(i); getHeaderNames().put(integer,inHeaders[i]); } } public int getIndex(String inName) { Map headerNames = getHeaderNames(); for (Iterator iter = headerNames.keySet().iterator(); iter.hasNext();) { Integer index = (Integer)iter.next(); String name = (String) headerNames.get(index); if ( name.equalsIgnoreCase(inName)) { return index.intValue(); } } return -1; } public String getColumn(int inIndex) { String name = (String)getHeaderNames().get(new Integer(inIndex)); if ( name != null) { return name; } return null; } public int getSize() { return getHeaderNames().size(); } public void loadColumns( File inFile ) throws IOException { BufferedReader reader = new BufferedReader(new FileReader( inFile ) ); setReader(reader); String line = getReader().readLine(); if ( line == null) { FileUtils.safeClose(getReader()); return; } String[] cells = line.split("\t"); setHeaders(cells); } public Row getNextRow() throws IOException { String line = getReader().readLine(); if ( line == null) { FileUtils.safeClose(getReader()); return null; } String[] cells = line.split("\t"); Row row = new Row(); row.setHeader(this); row.setData( cells ); return row; } public BufferedReader getReader() { return fieldReader; } public void setReader(BufferedReader inReader) { fieldReader = inReader; } }