Skip to content

fullcontact/ez-vcard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ez-vcard

Continuous Integration:
Code Coverage: codecov.io
Maven Central: Maven Central
Chat Room: Gitter
License: FreeBSD License

ez-vcard is a vCard library written in Java. It can read and write vCards in many different formats. The "ez" stands for "easy" because the goal is to create a library that's easy to use.

Downloads | Javadocs | Maven | Documentation

String str =
"BEGIN:VCARD\r\n" +
"VERSION:4.0\r\n" +
"N:Doe;Jonathan;;Mr;\r\n" +
"FN:John Doe\r\n" +
"END:VCARD\r\n";

VCard vcard = Ezvcard.parse(str).first();
String fullName = vcard.getFormattedName().getValue();
String lastName = vcard.getStructuredName().getFamily();
VCard vcard = new VCard();

StructuredName n = new StructuredName();
n.setFamily("Doe");
n.setGiven("Jonathan");
n.addPrefix("Mr");
vcard.setStructuredName(n);

vcard.setFormattedName("John Doe");

String str = Ezvcard.write(vcard).version(VCardVersion.V4_0).go();

Features

  • Simple, intuitive API (see Examples).
  • Android compatibility (see ez-vcard-android project).
  • Full compliance with 2.1, 3.0, and 4.0 specifications (see Supported Specifications).
  • Supports XML, HTML, and JSON encoded vCards (see Supported Specifications).
  • Extensive unit test coverage.
  • Low Java version requirement (1.5 or above, 1.6 for jCards).
  • Few dependencies on external libraries. Dependencies can be selectively excluded based on the functionality that is needed (see Dependencies).

News

November 14, 2015

Version 0.9.8 released. This released fixes a few miscellaneous bugs. Please see the changelog for details.

September 13, 2015

Version 0.9.7 released. This released fixes a few miscellaneous bugs. Please see the changelog for details.

March 21, 2015

Due to the impending shutdown of Google Code, ez-vcard has moved to Github! Please bear with me as I work out the kinks. :)

Old News

Maven

<dependency>
   <groupId>com.googlecode.ez-vcard</groupId>
   <artifactId>ez-vcard</artifactId>
   <version>0.9.8</version>
</dependency>

Build Instructions

ez-vcard uses Maven as its build tool, and adheres to its convensions.

To build the project: mvn compile
To run the unit tests: mvn test
To build a JAR: mvn package

Questions / Feedback

You have some options:

Please submit bug reports and feature requests to the issue tracker. Contributors are listed in the project credits.

If you'd like to help improve the accuracy of ez-vcard's parsing engine, please submit vCard samples using this form. All contributions are greatly appreciated.

Credits

Lead Developer
Michael Angstadt

Documentation
Michael Angstadt

Architecture Ideas
George El-Haddad (CardMe Project)

Maven Central Reviewer
Joel Orlina

Project Hosting
Github
Google Code

Contributors
amarnathr (hCard template bug)
Moritz Bechler (Geo URI bug fix)
Kiran Kumar Bhushan (quoted-printable bug)
Florian Brunner (OSGi metadata)
Pratyush Chandra (ez-vcard-android)
Lívio Cipriano (Issue 35)
cmargenau (XML 1.1 support)
Juliane Dombrowski (quoted-printable line folding)
F. Gaffron (quoted-printable charsets)
knutolav (Issue 1, Issue 2)
David Nault (Issue 3, Issue 7)
rfc2822 (folding line issue, IMPP issue)
Matt Siegel (base64 property value bug, unit test bug)
David Spieler (hCard template bug)
Tom Vogel (quoted-printable charsets)
Eike Weyl (Wiki fix)
沈健 (plain-text vCard formatting issue)

Caffeine Suppliers
'feine
Volo Coffeehouse

No animals were harmed in the making of this library.

Thank you to DAVDroid for their generous donation.

About

A vCard parser library for Java

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.1%
  • HTML 0.9%