01: /*
02: * Copyright 2005-2006 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package edu.iu.uis.eden.export;
18:
19: import java.util.List;
20:
21: /**
22: * Interface for an exporter which can export an {@link ExportDataSet} as an array of bytes
23: * in the given {@link ExportFormat}.
24: *
25: * @see ExportDataSet
26: * @see ExportFormat
27: *
28: * @author ewestfal
29: */
30: public interface Exporter {
31:
32: /**
33: * Returns a List of supported ExportFormats in which this Exporter's data can be exported.
34: */
35: public List getSupportedFormats();
36:
37: /**
38: * Initiates the export of the given data in the specified format. The format passed in should be
39: * one of the supported formats as specified by the getSupportedFormats() method. The data also
40: * needs to be understood by the exporter implementation. Will throw an ExportNotSupportedException
41: * if there is a error in regards to the export cabilities of the exporter for the given
42: * parameters. Returns the raw exported data as bytes.
43: */
44: public byte[] export(ExportFormat format, ExportDataSet dataSet);
45:
46: }
|