X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2FContact.java;h=93bd809e49d185739dc496b706fe3fd6ed4a599f;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hp=779b60a3c596ee6ee9bcbc20b09bcf66e3d4edfd;hpb=26d254a3ac6cddbd3583cbbcbf8d43aa15c6a32e;p=jvcard.git diff --git a/src/be/nikiroo/jvcard/Contact.java b/src/be/nikiroo/jvcard/Contact.java index 779b60a..93bd809 100644 --- a/src/be/nikiroo/jvcard/Contact.java +++ b/src/be/nikiroo/jvcard/Contact.java @@ -11,7 +11,7 @@ import java.util.UUID; import be.nikiroo.jvcard.parsers.Format; import be.nikiroo.jvcard.parsers.Parser; -import be.nikiroo.jvcard.resources.StringUtils; +import be.nikiroo.utils.StringUtils; /** * A contact is the information that represent a contact person or organisation. @@ -36,23 +36,26 @@ public class Contact extends BaseClass { } /** - * Return the preferred Data field with the given name, or NULL if none. + * Return the preferred Data field with the given name, the first one if + * none is preferred, or NULL if none at all. * * @param name * the name to look for - * @return the Data field, or NULL + * + * @return the {@link Data} field, or NULL */ public Data getPreferredData(String name) { - Data first = null; + Data pref = null; + int ipref = Integer.MAX_VALUE; for (Data data : getData(name)) { - if (first == null) - first = data; + if (pref == null) + pref = data; - if (data.isPreferred()) - return data; + if (data.getPreferred() < ipref) + pref = data; } - return first; + return pref; } /** @@ -88,34 +91,14 @@ public class Contact extends BaseClass { return found; } - /** - * Return a {@link String} representation of this contact. - * - * @param format - * the {@link Format} to use - * @param startingBKey - * the starting BKey or -1 for no BKeys - * @return the {@link String} representation - */ - public String toString(Format format, int startingBKey) { - updateBKeys(false); - - StringBuilder builder = new StringBuilder(); - for (String line : Parser.toStrings(this, format, startingBKey)) { - builder.append(line); - builder.append("\r\n"); - } - - return builder.toString(); - } - /** * Return a {@link String} representation of this contact formated * accordingly to the given format. * *

* The format is basically a list of field names separated by a pipe and - * optionally parametrised. The parameters allows you to: + * optionally parametrised with the 'at' (@) symbol. The parameters allows + * you to: *