View Javadoc
1   /*
2    * CSVeed (https://github.com/42BV/CSVeed)
3    *
4    * Copyright 2013-2023 CSVeed.
5    *
6    * All rights reserved. This program and the accompanying materials
7    * are made available under the terms of The Apache Software License,
8    * Version 2.0 which accompanies this distribution, and is available at
9    * https://www.apache.org/licenses/LICENSE-2.0.txt
10   */
11  package org.csveed.bean;
12  
13  import java.util.Collection;
14  
15  import org.csveed.row.RowWriter;
16  
17  /**
18   * Class for writing Beans.
19   *
20   * @param <T>
21   *            the generic type
22   */
23  public interface BeanWriter<T> {
24  
25      /**
26       * Writes a collection of Beans to the table.
27       *
28       * @param beans
29       *            beans to write to the table
30       */
31      void writeBeans(Collection<T> beans);
32  
33      /**
34       * Writes a single Bean to the table.
35       *
36       * @param bean
37       *            bean to write to the table
38       */
39      void writeBean(T bean);
40  
41      /**
42       * Writes the header of a Bean type to the table.
43       */
44      void writeHeader();
45  
46      /**
47       * Gets the row writer.
48       *
49       * @return the row writer
50       */
51      RowWriter getRowWriter();
52  
53  }