Remote: jdoc + description + some fixes:
[jvcard.git] / src / be / nikiroo / jvcard / Card.java
index de5ab67a604207f0d294f3d9a7652a460c4754a3..d2567a496237c159546fa40f46015cebc241223b 100644 (file)
@@ -40,12 +40,10 @@ public class Card extends BaseClass<Contact> {
         *             if format is NULL
         */
        public Card(File file, Format format) throws IOException {
-               this(Parser.parse(file, format));
+               this(Parser.parseContact(file, format));
 
-               if (file != null) {
-                       if (file.exists()) {
-                               lastModified = file.lastModified();
-                       }
+               if (file != null && file.exists()) {
+                       lastModified = file.lastModified();
                }
 
                this.format = format;
@@ -105,6 +103,7 @@ public class Card extends BaseClass<Contact> {
 
                if (this.file != null
                                && file.getCanonicalPath().equals(this.file.getCanonicalPath())) {
+                       lastModified = file.lastModified();
                        setPristine();
                }
 
@@ -135,8 +134,10 @@ public class Card extends BaseClass<Contact> {
                if (file == null)
                        return false;
 
-               this.replaceListContent(Parser.parse(file, format));
+               this.replaceListContent(Parser.parseContact(file, format));
+               lastModified = file.lastModified();
                setPristine();
+
                return true;
        }
 
@@ -150,7 +151,12 @@ public class Card extends BaseClass<Contact> {
         * @return the {@link String}
         */
        public String toString(Format format) {
-               return Parser.toString(this, format);
+               StringBuilder builder = new StringBuilder();
+               for (String line : Parser.toStrings(this, format)) {
+                       builder.append(line);
+                       builder.append("\r\n");
+               }
+               return builder.toString();
        }
 
        /**
@@ -222,6 +228,6 @@ public class Card extends BaseClass<Contact> {
 
        @Override
        public String getState() {
-               return "" + name + format;
+               return ("" + name + format).replace(' ', '_');
        }
 }