title: Camel-bindy : How to escape double quotes when marshalling CSV?
body: <p>I am trying to escape double quotes inside a CSV field content. This is required because the double quote character is already used to enclose the fields. 
  But I don't see how to do that (escaping) with Camel/Camel-bindy.</p>
  
  <p>What I want to produce (note how double quotes inside field content are escaped by doubling them):</p>
  
  <blockquote>
    <p>"Some";"people";"Never ""finish""";"their"</p>
  </blockquote>
  
  <p>What I'm actually producing (this won't parse as CSV):</p>
  
  <blockquote>
    <p><em>"Some";"people";"Never "finish"";"their"</em></p>
  </blockquote>
  
  <p>So, </p>
  
  <ul>
  <li><strong>Is there any option that I can add to tell Camel to escape quotes inside (all) CSV fields values?</strong></li>
  <li><strong>Otherwise, is there an alternative solution that i could use to get the same result?</strong></li>
  </ul>
  
  <p>So far, following is the state of what i did :
  My Camel version is 2.15. 
  I use a POJO which is later marshalled to CSV by bindy.</p>
  
  <p>This is how the POJO looks like</p>
  
  <pre><code>@CsvRecord(separator = ";", crlf = "UNIX", generateHeaderColumns = true, quote = "\"", quoting = true)
  public class MyCsvPOJO
  {
      @DataField(pos = 1)
      private String prop1 = ""; 
  
      // Some other properties + getters + setters
  }
  </code></pre>
  
  <p>This is the camel route code that produces the CSV file (using Camel Java DSL) :</p>
  
  <pre><code>from("myRouteId")
      .beanRef("myPojoProducerBean")
      .marshal()
      .bindy(BindyType.Csv, MyCsvPOJO.class)
      .convertBodyTo(String.class, "UTF-8")
      .to("/path/to/the/ouput-file.csv");
  </code></pre>
  
  <p>I considered using a custom crafted <a href="https://camel.apache.org/maven/camel-2.15.0/camel-csv/apidocs/org/apache/camel/dataformat/csv/CsvDataFormat.html" rel="nofollow">https://camel.apache.org/maven/camel-2.15.0/camel-csv/apidocs/org/apache/camel/dataformat/csv/CsvDataFormat.html</a> that I could feed to <code>.marshal(myCustomCsvDataFormat)</code>, but then I can no longer chain a call to <code>bindy(...)</code> because of incompatible return types.</p>
  
  <p>So, at this point I'm stuck and any hint will be very much appreciated.</p>
  
  <p>Thanks.</p>