Update on remote-server
[jvcard.git] / src / be / nikiroo / jvcard / parsers / AbookParser.java
index 2fd0ca2f15a61e1e92833d4a373364b6c4ccde05..cb4f667119be22b0b8cf8713a1b7f439511c30a4 100644 (file)
@@ -1,5 +1,6 @@
 package be.nikiroo.jvcard.parsers;
 
+import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -8,9 +9,19 @@ import be.nikiroo.jvcard.Contact;
 import be.nikiroo.jvcard.Data;
 
 public class AbookParser {
-       public static List<Contact> parse(List<String> lines) {
+       /**
+        * Load the given data from under the given {@link Format}.
+        * 
+        * @param lines
+        *            the input to load from
+        * @param format
+        *            the {@link Format} to load as
+        * 
+        * @return the list of elements
+        */
+       public static List<Contact> parseContact(List<String> lines) {
                List<Contact> contacts = new LinkedList<Contact>();
-               
+
                for (String line : lines) {
                        List<Data> content = new LinkedList<Data>();
 
@@ -33,8 +44,24 @@ public class AbookParser {
                return contacts;
        }
 
-       // -1 = no bkeys
-       public static String toString(Contact contact, int startingBKey) {
+       /**
+        * Return a {@link String} representation of the given {@link Card}, line by
+        * line.
+        * 
+        * <p>
+        * Note that the BKey is actually not used in Pine mode.
+        * </p>
+        * 
+        * @param card
+        *            the card to convert
+        * 
+        * @param startingBKey
+        *            the starting BKey number (all the other will follow) or -1 for
+        *            no BKey
+        * 
+        * @return the {@link String} representation
+        */
+       public static List<String> toStrings(Contact contact, int startingBKey) {
                // BKey is not used in pine mode
 
                StringBuilder builder = new StringBuilder();
@@ -83,17 +110,26 @@ public class AbookParser {
 
                // note: save as pine means normal LN, nor CRLN
                builder.append('\n');
-               
-               return builder.toString();
-       }
 
-       public static String toString(Card card) {
-               StringBuilder builder = new StringBuilder();
+               return Arrays.asList(new String[] { builder.toString() });
+       }
 
-               for (Contact contact : card.getContactsList()) {
-                       builder.append(toString(contact, -1));
+       /**
+        * Return a {@link String} representation of the given {@link Card}, line by
+        * line.
+        * 
+        * @param card
+        *            the card to convert
+        * 
+        * @return the {@link String} representation
+        */
+       public static List<String> toStrings(Card card) {
+               List<String> lines = new LinkedList<String>();
+
+               for (int index = 0; index < card.size(); index++) {
+                       lines.addAll(toStrings(card.get(index), -1));
                }
 
-               return builder.toString();
+               return lines;
        }
 }