extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/plugins/CsvEncoderDecoder.java

Code
Comments
Other
Rev Date Author Line
1548 06 Mar 12 nicklas 1 package net.sf.basedb.reggie.plugins;
1548 06 Mar 12 nicklas 2
1548 06 Mar 12 nicklas 3 import net.sf.basedb.util.encode.EncoderDecoder;
1548 06 Mar 12 nicklas 4
1548 06 Mar 12 nicklas 5 /**
1548 06 Mar 12 nicklas 6   Encoder/decoder implementation that is useful for CSV files. The
5301 14 Feb 19 nicklas 7   encoder is assymetrical and will replace comma, tab, newline,
1548 06 Mar 12 nicklas 8   carriage return and null with an empty string. 
1548 06 Mar 12 nicklas 9   @author nicklas
1548 06 Mar 12 nicklas 10   @since 2.4
1548 06 Mar 12 nicklas 11 */
1548 06 Mar 12 nicklas 12 public class CsvEncoderDecoder 
1548 06 Mar 12 nicklas 13   implements EncoderDecoder 
1548 06 Mar 12 nicklas 14 {
1548 06 Mar 12 nicklas 15   
1548 06 Mar 12 nicklas 16   public CsvEncoderDecoder()
1548 06 Mar 12 nicklas 17   {}
1548 06 Mar 12 nicklas 18
1548 06 Mar 12 nicklas 19   /**
1548 06 Mar 12 nicklas 20     Return the value unmodified.
1548 06 Mar 12 nicklas 21    */
1548 06 Mar 12 nicklas 22   @Override
1548 06 Mar 12 nicklas 23   public String decode(String value) 
1548 06 Mar 12 nicklas 24   {
1548 06 Mar 12 nicklas 25     return value;
1548 06 Mar 12 nicklas 26   }
1548 06 Mar 12 nicklas 27
1548 06 Mar 12 nicklas 28   @Override
1548 06 Mar 12 nicklas 29   public String encode(String value)
1548 06 Mar 12 nicklas 30   {
1548 06 Mar 12 nicklas 31     if (value == null) return "";
1548 06 Mar 12 nicklas 32     value = value.replaceAll("[,\\t\\n\\r]", "");
1548 06 Mar 12 nicklas 33     return value;
1548 06 Mar 12 nicklas 34   }
1548 06 Mar 12 nicklas 35
1548 06 Mar 12 nicklas 36   @Override
1548 06 Mar 12 nicklas 37   public boolean isSymmetrical() 
1548 06 Mar 12 nicklas 38   {
1548 06 Mar 12 nicklas 39     return false;
1548 06 Mar 12 nicklas 40   }
1548 06 Mar 12 nicklas 41
1548 06 Mar 12 nicklas 42 }