| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <title>Apache Wink : 7.6 CSV</title> |
| <link rel="stylesheet" href="styles/site.css" type="text/css" /> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| </head> |
| |
| <body> |
| <table class="pagecontent" border="0" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff"> |
| <tr> |
| <td valign="top" class="pagebody"> |
| <div class="pageheader"> |
| <span class="pagetitle"> |
| Apache Wink : 7.6 CSV |
| </span> |
| </div> |
| <div class="pagesubheading"> |
| This page last changed on Oct 14, 2009 by <font color="#0050B2">michael</font>. |
| </div> |
| |
| <h2><a name="7.6CSV-CommaSeparatedValues%28CSV%29Providers"></a>Comma Separated Values (CSV) Providers</h2> |
| |
| <p>Apache Wink provides a CSV data model and providers for producing and consuming CSV (text/csv). The model is based on a Serialization and a Deserialization interface, in addition to a simple CSV Table class. All of the model classes are located under the org.apache.wink.common.model.csv package.</p> |
| |
| |
| <p>The following tables list the providers that provide this functionality.</p> |
| |
| |
| |
| |
| <table class='confluenceTable'><tbody> |
| <tr> |
| <th class='confluenceTh'> </th> |
| <th class='confluenceTh'> Supported </th> |
| <th class='confluenceTh'> Media Types <br clear="all" /> </th> |
| <th class='confluenceTh'> Data Model <br clear="all" /> </th> |
| <th class='confluenceTh'> Provider registration <br clear="all" /> </th> |
| </tr> |
| <tr> |
| <td class='confluenceTd'> Read <br clear="all" /> </td> |
| <td class='confluenceTd'> Yes <br clear="all" /> </td> |
| <td class='confluenceTd'> text/csv <br clear="all" /> </td> |
| <td class='confluenceTd'> org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.CsvDeserializer <br clear="all" /> |
| <br clear="all" /> |
| org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.CsvTable <br clear="all" /> |
| <br clear="all" /> |
| org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.MultiCsvTable <br clear="all" /> </td> |
| <td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td> |
| </tr> |
| <tr> |
| <td class='confluenceTd'> Write <br clear="all" /> </td> |
| <td class='confluenceTd'> Yes </td> |
| <td class='confluenceTd'> text/csv <br clear="all" /> </td> |
| <td class='confluenceTd'> org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.CsvSerializer <br clear="all" /> |
| <br clear="all" /> |
| org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.CsvTable <br clear="all" /> |
| <br clear="all" /> |
| org.apache.wink <br clear="all" /> |
| .common.model<br clear="all" /> |
| .csv.MultiCsvTable <br clear="all" /> </td> |
| <td class='confluenceTd'> Not required. Registered by default <br clear="all" /> </td> |
| </tr> |
| </tbody></table> |
| |
| |
| <h3><a name="7.6CSV-Examples"></a>Examples</h3> |
| |
| <p>The following code example demonstrates the reading and writing of CSV documents.</p> |
| |
| |
| |
| <h4><a name="7.6CSV-ProducingCSV"></a>Producing CSV</h4> |
| |
| <p>The following code example demonstrates the creation of a CSV document.</p> |
| |
| |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java">@GET |
| @Produces(<span class="code-quote">"text/csv"</span>) |
| <span class="code-keyword">public</span> CsvTable getJohns() { |
| CsvTable cvs = <span class="code-keyword">new</span> CsvTable(<span class="code-quote">"Id"</span>, <span class="code-quote">"First Name"</span>, <span class="code-quote">"Last Name"</span>, <span class="code-quote">"Email"</span>); |
| cvs.addRow(<span class="code-quote">"1"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Kennedy"</span>,<span class="code-quote">"john@Kennedy.org"</span>); |
| cvs.addRow(<span class="code-quote">"2"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Lennon"</span>,<span class="code-quote">"john@Lennon.org"</span>); |
| cvs.addRow(<span class="code-quote">"3"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"Malkovich"</span>,<span class="code-quote">"john@malkovich.org"</span>); |
| cvs.addRow(<span class="code-quote">"4"</span>,<span class="code-quote">"John"</span>,<span class="code-quote">"McCain"</span>,<span class="code-quote">"john@McCain.org"</span>); |
| <span class="code-keyword">return</span> cvs; |
| } |
| </pre> |
| </div></div> |
| |
| |
| <h5><a name="7.6CSV-"></a></h5> |
| |
| |
| <h4><a name="7.6CSV-ConsumingCSV"></a>Consuming CSV</h4> |
| |
| <p>The following code example demonstrates the consumption of a CSV document.</p> |
| |
| |
| <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> |
| <pre class="code-java">@POST |
| @Consumes(<span class="code-quote">"text/csv"</span>) |
| <span class="code-keyword">public</span> void postCsv(CsvTable csv) { |
| <span class="code-keyword">for</span> (<span class="code-object">String</span>[] row : csv.getRows()) { |
| <span class="code-keyword">for</span>(<span class="code-object">String</span> cell: row){ |
| <span class="code-object">System</span>.out.print(cell + <span class="code-quote">" ,"</span>); |
| } |
| <span class="code-object">System</span>.out.print(<span class="code-quote">"\n"</span>); |
| } |
| } |
| </pre> |
| </div></div> |
| |
| <h5><a name="7.6CSV-"></a></h5> |
| |
| |
| </td> |
| </tr> |
| </table> |
| <table border="0" cellpadding="0" cellspacing="0" width="100%"> |
| <tr> |
| <td height="12" background="http://cwiki.apache.org/confluence/images/border/border_bottom.gif"><img src="images/border/spacer.gif" width="1" height="1" border="0"/></td> |
| </tr> |
| <tr> |
| <td align="center"><font color="grey">Document generated by Confluence on Nov 11, 2009 06:57</font></td> |
| </tr> |
| </table> |
| </body> |
| </html> |