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

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