ingo@230: package de.intevation.gnv.exports; ingo@230: ingo@230: import java.util.Collection; ingo@230: ingo@230: import java.io.OutputStream; ingo@230: import java.io.IOException; ingo@230: import java.io.UnsupportedEncodingException; ingo@230: ingo@233: import de.intevation.gnv.geobackend.base.Result; tim@335: import de.intevation.gnv.state.exception.StateException; ingo@230: ingo@230: /** ingo@230: * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) ingo@230: * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) ingo@230: */ ingo@230: public interface Export { ingo@230: ingo@230: public interface Profile { ingo@230: String toString(int column, String value); ingo@239: char getSeparator(); ingo@239: char getEscapeCharacter(); ingo@239: char getQuoteCharacter(); ingo@239: String getType(); ingo@239: String getEncoding(); ingo@239: String [] getHeader(); ingo@230: } ingo@230: ingo@233: public interface DataCollector { ingo@233: String[] getData(Result result) tim@335: throws StateException; ingo@233: } ingo@233: ingo@230: public void create( ingo@230: Profile profile, ingo@230: OutputStream outputStream, ingo@230: Collection result ingo@230: ) tim@335: throws IOException, UnsupportedEncodingException, StateException; ingo@230: ingo@230: }