New SAVE_TO option
[jvcard.git] / src / be / nikiroo / jvcard / parsers / AbookParser.java
index b8e6e58e47c2187acf5fd80e8b3c046acacf6d33..17080225b34cc5d9fa9cbc7c1a58fd69b5da8d6c 100644 (file)
@@ -58,11 +58,12 @@ public class AbookParser {
         * 
         * @param startingBKey
         *            the starting BKey number (all the other will follow) or -1 for
-        *            no BKey
+        *            no BKey (it is actually not used in this mode)
         * 
         * @return the {@link String} representation
         */
-       public static List<String> toStrings(Contact contact, int startingBKey) {
+       public static List<String> toStrings(Contact contact,
+                       @SuppressWarnings("unused") int startingBKey) {
                // BKey is not used in pine mode
 
                StringBuilder builder = new StringBuilder();
@@ -109,10 +110,13 @@ public class AbookParser {
                        builder.append(notes);
                }
 
+               // abook format = one line per contact
+               String out = builder.toString().replace("\n", "\\n");
+
                // note: save as pine means normal LN, nor CRLN
-               builder.append('\n');
+               out = out + "\n";
 
-               return Arrays.asList(new String[] { builder.toString() });
+               return Arrays.asList(new String[] { out });
        }
 
        /**
@@ -152,7 +156,6 @@ public class AbookParser {
                        int startingBKey) throws IOException {
                for (String s : toStrings(contact, startingBKey)) {
                        writer.append(s);
-                       writer.append('\n');
                }
        }
 
@@ -170,7 +173,6 @@ public class AbookParser {
        public static void write(Appendable writer, Card card) throws IOException {
                for (String s : toStrings(card)) {
                        writer.append(s);
-                       writer.append('\n');
                }
        }
 }