Search in sources :

Example 1 with Nickname

use of ezvcard.property.Nickname in project ez-vcard by mangstadt.

the class VCard method setNickname.

/**
 * <p>
 * Sets the person's nicknames.
 * </p>
 * <p>
 * <b>Property name:</b> {@code NICKNAME}<br>
 * <b>Supported versions:</b> {@code 3.0, 4.0}
 * </p>
 * @param nicknames the nicknames (e.g. "John", "Jon")
 * @return the property object that was created
 * @see <a href="http://tools.ietf.org/html/rfc6350#page-29">RFC 6350
 * p.29</a>
 * @see <a href="http://tools.ietf.org/html/rfc2426#page-9">RFC 2426 p.9</a>
 */
public Nickname setNickname(String... nicknames) {
    Nickname property = null;
    if (nicknames != null && nicknames.length > 0 && nicknames[0] != null) {
        property = new Nickname();
        property.getValues().addAll(Arrays.asList(nicknames));
    }
    setNickname(property);
    return property;
}
Also used : Nickname(ezvcard.property.Nickname)

Example 2 with Nickname

use of ezvcard.property.Nickname in project qksms by moezbhatti.

the class ContactOperations method convertNickname.

private void convertNickname(List<NonEmptyContentValues> contentValues, VCard vcard) {
    for (Nickname nickname : vcard.getNicknames()) {
        List<String> nicknameValues = nickname.getValues();
        if (nicknameValues.isEmpty()) {
            continue;
        }
        for (String nicknameValue : nicknameValues) {
            NonEmptyContentValues cv = new NonEmptyContentValues(ContactsContract.CommonDataKinds.Nickname.CONTENT_ITEM_TYPE);
            cv.put(ContactsContract.CommonDataKinds.Nickname.NAME, nicknameValue);
            contentValues.add(cv);
        }
    }
}
Also used : Nickname(ezvcard.property.Nickname)

Example 3 with Nickname

use of ezvcard.property.Nickname in project android by nextcloud.

the class ContactOperations method convertNickname.

private void convertNickname(List<NonEmptyContentValues> contentValues, VCard vcard) {
    for (Nickname nickname : vcard.getNicknames()) {
        List<String> nicknameValues = nickname.getValues();
        if (nicknameValues.isEmpty()) {
            continue;
        }
        for (String nicknameValue : nicknameValues) {
            NonEmptyContentValues cv = new NonEmptyContentValues(ContactsContract.CommonDataKinds.Nickname.CONTENT_ITEM_TYPE);
            cv.put(ContactsContract.CommonDataKinds.Nickname.NAME, nicknameValue);
            contentValues.add(cv);
        }
    }
}
Also used : Nickname(ezvcard.property.Nickname)

Example 4 with Nickname

use of ezvcard.property.Nickname in project ez-vcard by mangstadt.

the class HCardParser method visit.

private void visit(Element element) {
    boolean visitChildren = true;
    Set<String> classNames = element.classNames();
    for (String className : classNames) {
        className = className.toLowerCase();
        // give special treatment to certain URLs
        if (urlPropertyName.equals(className)) {
            String href = element.attr("href");
            if (href.length() > 0) {
                if (!classNames.contains(emailName) && href.matches("(?i)mailto:.*")) {
                    className = emailName;
                } else if (!classNames.contains(telName) && href.matches("(?i)tel:.*")) {
                    className = telName;
                } else {
                    // try parsing as IMPP
                    VCardPropertyScribe<? extends VCardProperty> scribe = index.getPropertyScribe(Impp.class);
                    context.getWarnings().clear();
                    context.setPropertyName(scribe.getPropertyName());
                    try {
                        VCardProperty property = scribe.parseHtml(new HCardElement(element), context);
                        vcard.addProperty(property);
                        warnings.addAll(context.getWarnings());
                        continue;
                    } catch (SkipMeException e) {
                    // URL is not an instant messenger URL
                    } catch (CannotParseException e) {
                    // URL is not an instant messenger URL
                    }
                }
            }
        }
        // hCard uses a different name for the CATEGORIES property
        if ("category".equals(className)) {
            className = categoriesName;
        }
        VCardPropertyScribe<? extends VCardProperty> scribe = index.getPropertyScribe(className);
        if (scribe == null) {
            // if no scribe is found, and the class name doesn't start with "x-", then it must be an arbitrary CSS class that has nothing to do with vCard
            if (!className.startsWith("x-")) {
                continue;
            }
            scribe = new RawPropertyScribe(className);
        }
        context.getWarnings().clear();
        context.setPropertyName(scribe.getPropertyName());
        VCardProperty property;
        try {
            property = scribe.parseHtml(new HCardElement(element), context);
            warnings.addAll(context.getWarnings());
            // LABELs must be treated specially so they can be matched up with their ADRs
            if (property instanceof Label) {
                labels.add((Label) property);
                continue;
            }
            // add all NICKNAMEs to the same type object
            if (property instanceof Nickname) {
                Nickname nn = (Nickname) property;
                if (nickname == null) {
                    nickname = nn;
                    vcard.addProperty(nickname);
                } else {
                    nickname.getValues().addAll(nn.getValues());
                }
                continue;
            }
            // add all CATEGORIES to the same type object
            if (property instanceof Categories) {
                Categories c = (Categories) property;
                if (categories == null) {
                    categories = c;
                    vcard.addProperty(categories);
                } else {
                    categories.getValues().addAll(c.getValues());
                }
                continue;
            }
        } catch (SkipMeException e) {
            // @formatter:off
            warnings.add(new ParseWarning.Builder(context).message(22, e.getMessage()).build());
            // @formatter:on
            continue;
        } catch (CannotParseException e) {
            // @formatter:off
            warnings.add(new ParseWarning.Builder(context).message(e).build());
            // @formatter:on
            property = new RawProperty(className, element.outerHtml());
        } catch (EmbeddedVCardException e) {
            if (isChildOf(element, embeddedVCards)) {
                // prevents multiple-nested embedded elements from overwriting each other
                continue;
            }
            property = e.getProperty();
            embeddedVCards.add(element);
            HCardParser embeddedReader = new HCardParser(element, pageUrl);
            try {
                VCard embeddedVCard = embeddedReader.readNext();
                e.injectVCard(embeddedVCard);
            } finally {
                warnings.addAll(embeddedReader.getWarnings());
                IOUtils.closeQuietly(embeddedReader);
            }
            visitChildren = false;
        }
        vcard.addProperty(property);
    }
    if (visitChildren) {
        for (Element child : element.children()) {
            visit(child);
        }
    }
}
Also used : VCardPropertyScribe(ezvcard.io.scribe.VCardPropertyScribe) EmbeddedVCardException(ezvcard.io.EmbeddedVCardException) Categories(ezvcard.property.Categories) Impp(ezvcard.property.Impp) RawPropertyScribe(ezvcard.io.scribe.RawPropertyScribe) Element(org.jsoup.nodes.Element) Label(ezvcard.property.Label) SkipMeException(ezvcard.io.SkipMeException) RawProperty(ezvcard.property.RawProperty) CannotParseException(ezvcard.io.CannotParseException) VCardProperty(ezvcard.property.VCardProperty) VCard(ezvcard.VCard) Nickname(ezvcard.property.Nickname)

Example 5 with Nickname

use of ezvcard.property.Nickname in project ez-vcard by mangstadt.

the class NicknameScribe method _parseHtml.

@Override
protected Nickname _parseHtml(HCardElement element, ParseContext context) {
    Nickname property = _newInstance();
    property.getValues().add(element.value());
    return property;
}
Also used : Nickname(ezvcard.property.Nickname)

Aggregations

Nickname (ezvcard.property.Nickname)5 VCard (ezvcard.VCard)1 CannotParseException (ezvcard.io.CannotParseException)1 EmbeddedVCardException (ezvcard.io.EmbeddedVCardException)1 SkipMeException (ezvcard.io.SkipMeException)1 RawPropertyScribe (ezvcard.io.scribe.RawPropertyScribe)1 VCardPropertyScribe (ezvcard.io.scribe.VCardPropertyScribe)1 Categories (ezvcard.property.Categories)1 Impp (ezvcard.property.Impp)1 Label (ezvcard.property.Label)1 RawProperty (ezvcard.property.RawProperty)1 VCardProperty (ezvcard.property.VCardProperty)1 Element (org.jsoup.nodes.Element)1