Search in sources :

Example 1 with Timezone

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

the class VCardWriterTest method rfc6350_example.

@Test
public void rfc6350_example() throws Throwable {
    VCard vcard = new VCard();
    vcard.setFormattedName("Simon Perreault");
    StructuredName n = new StructuredName();
    n.setFamily("Perreault");
    n.setGiven("Simon");
    n.getSuffixes().add("ing. jr");
    n.getSuffixes().add("M.Sc.");
    vcard.setStructuredName(n);
    Birthday bday = new Birthday(PartialDate.builder().month(2).date(3).build());
    vcard.setBirthday(bday);
    Anniversary anniversary = new Anniversary(PartialDate.builder().year(2009).month(8).date(8).hour(14).minute(30).offset(new UtcOffset(false, -5, 0)).build());
    vcard.setAnniversary(anniversary);
    vcard.setGender(Gender.male());
    vcard.addLanguage("fr").setPref(1);
    vcard.addLanguage("en").setPref(2);
    vcard.setOrganization("Viagenie").setType("work");
    Address adr = new Address();
    adr.setExtendedAddress("Suite D2-630");
    adr.setStreetAddress("2875 Laurier");
    adr.setLocality("Quebec");
    adr.setRegion("QC");
    adr.setPostalCode("G1V 2M2");
    adr.setCountry("Canada");
    adr.getTypes().add(AddressType.WORK);
    vcard.addAddress(adr);
    TelUri telUri = new TelUri.Builder("+1-418-656-9254").extension("102").build();
    Telephone tel = new Telephone(telUri);
    tel.setPref(1);
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.VOICE);
    vcard.addTelephoneNumber(tel);
    tel = new Telephone(new TelUri.Builder("+1-418-262-6501").build());
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.VOICE);
    tel.getTypes().add(TelephoneType.CELL);
    tel.getTypes().add(TelephoneType.VIDEO);
    tel.getTypes().add(TelephoneType.TEXT);
    vcard.addTelephoneNumber(tel);
    vcard.addEmail("simon.perreault@viagenie.ca", EmailType.WORK);
    Geo geo = new Geo(46.772673, -71.282945);
    geo.setType("work");
    vcard.setGeo(geo);
    Key key = new Key("http://www.viagenie.ca/simon.perreault/simon.asc", null);
    key.setType("work");
    vcard.addKey(key);
    vcard.setTimezone(new Timezone(new UtcOffset(false, -5, 0)));
    vcard.addUrl("http://nomis80.org").setType("home");
    assertValidate(vcard).versions(VCardVersion.V4_0).run();
    StringWriter sw = new StringWriter();
    VCardWriter writer = new VCardWriter(sw, VCardVersion.V4_0);
    writer.setAddProdId(false);
    writer.write(vcard);
    writer.close();
    // @formatter:off
    String expected = "BEGIN:VCARD\r\n" + "VERSION:4.0\r\n" + "FN:Simon Perreault\r\n" + "N:Perreault;Simon;;;ing. jr,M.Sc.\r\n" + "BDAY:--0203\r\n" + "ANNIVERSARY:20090808T1430-0500\r\n" + "GENDER:M\r\n" + "LANG;PREF=1:fr\r\n" + "LANG;PREF=2:en\r\n" + "ORG;TYPE=work:Viagenie\r\n" + "ADR;TYPE=work:;Suite D2-630;2875 Laurier;Quebec;QC;G1V 2M2;Canada\r\n" + "TEL;PREF=1;TYPE=work,voice;VALUE=uri:tel:+1-418-656-9254;ext=102\r\n" + "TEL;TYPE=work,voice,cell,video,text;VALUE=uri:tel:+1-418-262-6501\r\n" + "EMAIL;TYPE=work:simon.perreault@viagenie.ca\r\n" + "GEO;TYPE=work:geo:46.772673,-71.282945\r\n" + "KEY;TYPE=work:http://www.viagenie.ca/simon.perreault/simon.asc\r\n" + "TZ;VALUE=utc-offset:-0500\r\n" + "URL;TYPE=home:http://nomis80.org\r\n" + "END:VCARD\r\n";
    // @formatter:on
    String actual = sw.toString();
    assertEquals(expected, actual);
}
Also used : Timezone(ezvcard.property.Timezone) Address(ezvcard.property.Address) Telephone(ezvcard.property.Telephone) Anniversary(ezvcard.property.Anniversary) TelUri(ezvcard.util.TelUri) Birthday(ezvcard.property.Birthday) Geo(ezvcard.property.Geo) UtcOffset(ezvcard.util.UtcOffset) StringWriter(java.io.StringWriter) VCard(ezvcard.VCard) StructuredName(ezvcard.property.StructuredName) Key(ezvcard.property.Key) Test(org.junit.Test)

Example 2 with Timezone

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

the class XCardDocumentTest method write_rfc6351_example.

@Test
public void write_rfc6351_example() throws Throwable {
    VCard vcard = new VCard();
    vcard.setFormattedName("Simon Perreault");
    StructuredName n = new StructuredName();
    n.setFamily("Perreault");
    n.setGiven("Simon");
    n.getSuffixes().add("ing. jr");
    n.getSuffixes().add("M.Sc.");
    vcard.setStructuredName(n);
    Birthday bday = new Birthday(PartialDate.builder().month(2).date(3).build());
    vcard.setBirthday(bday);
    Anniversary anniversary = new Anniversary(PartialDate.builder().year(2009).month(8).date(8).hour(14).minute(30).offset(new UtcOffset(false, -5, 0)).build());
    vcard.setAnniversary(anniversary);
    vcard.setGender(Gender.male());
    vcard.addLanguage("fr").setPref(1);
    vcard.addLanguage("en").setPref(2);
    vcard.setOrganization("Viagenie").setType("work");
    Address adr = new Address();
    adr.setStreetAddress("2875 boul. Laurier, suite D2-630");
    adr.setLocality("Quebec");
    adr.setRegion("QC");
    adr.setPostalCode("G1V 2M2");
    adr.setCountry("Canada");
    adr.getTypes().add(AddressType.WORK);
    adr.setLabel("Simon Perreault\n2875 boul. Laurier, suite D2-630\nQuebec, QC, Canada\nG1V 2M2");
    vcard.addAddress(adr);
    TelUri telUri = new TelUri.Builder("+1-418-656-9254").extension("102").build();
    Telephone tel = new Telephone(telUri);
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.VOICE);
    vcard.addTelephoneNumber(tel);
    tel = new Telephone(new TelUri.Builder("+1-418-262-6501").build());
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.TEXT);
    tel.getTypes().add(TelephoneType.VOICE);
    tel.getTypes().add(TelephoneType.CELL);
    tel.getTypes().add(TelephoneType.VIDEO);
    vcard.addTelephoneNumber(tel);
    vcard.addEmail("simon.perreault@viagenie.ca", EmailType.WORK);
    Geo geo = new Geo(46.766336, -71.28955);
    geo.setType("work");
    vcard.setGeo(geo);
    Key key = new Key("http://www.viagenie.ca/simon.perreault/simon.asc", null);
    key.setType("work");
    vcard.addKey(key);
    vcard.setTimezone(new Timezone("America/Montreal"));
    vcard.addUrl("http://nomis80.org").setType("home");
    assertValidate(vcard).versions(V4_0).run();
    assertExample(vcard, "rfc6351-example.xml");
}
Also used : Timezone(ezvcard.property.Timezone) Address(ezvcard.property.Address) Telephone(ezvcard.property.Telephone) Anniversary(ezvcard.property.Anniversary) TelUri(ezvcard.util.TelUri) Birthday(ezvcard.property.Birthday) Geo(ezvcard.property.Geo) UtcOffset(ezvcard.util.UtcOffset) VCard(ezvcard.VCard) StructuredName(ezvcard.property.StructuredName) Key(ezvcard.property.Key) Test(org.junit.Test)

Example 3 with Timezone

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

the class XCardWriterTest method write_rfc6351_example.

@Test
public void write_rfc6351_example() throws Exception {
    VCard vcard = new VCard();
    vcard.setFormattedName("Simon Perreault");
    StructuredName n = new StructuredName();
    n.setFamily("Perreault");
    n.setGiven("Simon");
    n.getSuffixes().add("ing. jr");
    n.getSuffixes().add("M.Sc.");
    vcard.setStructuredName(n);
    Birthday bday = new Birthday(PartialDate.builder().month(2).date(3).build());
    vcard.setBirthday(bday);
    Anniversary anniversary = new Anniversary(PartialDate.builder().year(2009).month(8).date(8).hour(14).minute(30).offset(new UtcOffset(false, -5, 0)).build());
    vcard.setAnniversary(anniversary);
    vcard.setGender(Gender.male());
    vcard.addLanguage("fr").setPref(1);
    vcard.addLanguage("en").setPref(2);
    vcard.setOrganization("Viagenie").setType("work");
    Address adr = new Address();
    adr.setStreetAddress("2875 boul. Laurier, suite D2-630");
    adr.setLocality("Quebec");
    adr.setRegion("QC");
    adr.setPostalCode("G1V 2M2");
    adr.setCountry("Canada");
    adr.getTypes().add(AddressType.WORK);
    adr.setLabel("Simon Perreault\n2875 boul. Laurier, suite D2-630\nQuebec, QC, Canada\nG1V 2M2");
    vcard.addAddress(adr);
    TelUri telUri = new TelUri.Builder("+1-418-656-9254").extension("102").build();
    Telephone tel = new Telephone(telUri);
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.VOICE);
    vcard.addTelephoneNumber(tel);
    tel = new Telephone(new TelUri.Builder("+1-418-262-6501").build());
    tel.getTypes().add(TelephoneType.WORK);
    tel.getTypes().add(TelephoneType.TEXT);
    tel.getTypes().add(TelephoneType.VOICE);
    tel.getTypes().add(TelephoneType.CELL);
    tel.getTypes().add(TelephoneType.VIDEO);
    vcard.addTelephoneNumber(tel);
    vcard.addEmail("simon.perreault@viagenie.ca", EmailType.WORK);
    Geo geo = new Geo(46.766336, -71.28955);
    geo.setType("work");
    vcard.setGeo(geo);
    Key key = new Key("http://www.viagenie.ca/simon.perreault/simon.asc", null);
    key.setType("work");
    vcard.addKey(key);
    vcard.setTimezone(new Timezone("America/Montreal"));
    vcard.addUrl("http://nomis80.org").setType("home");
    assertValidate(vcard).versions(V4_0).run();
    assertExample(vcard, "rfc6351-example.xml");
}
Also used : Timezone(ezvcard.property.Timezone) Address(ezvcard.property.Address) Telephone(ezvcard.property.Telephone) Anniversary(ezvcard.property.Anniversary) TelUri(ezvcard.util.TelUri) Birthday(ezvcard.property.Birthday) Geo(ezvcard.property.Geo) UtcOffset(ezvcard.util.UtcOffset) VCard(ezvcard.VCard) StructuredName(ezvcard.property.StructuredName) Key(ezvcard.property.Key) Test(org.junit.Test)

Example 4 with Timezone

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

the class JohnDoeVCard method createVCard.

private static VCard createVCard() throws IOException {
    VCard vcard = new VCard();
    vcard.setKind(Kind.individual());
    vcard.setGender(Gender.male());
    vcard.addLanguage("en-US");
    StructuredName n = new StructuredName();
    n.setFamily("Doe");
    n.setGiven("Jonathan");
    n.getPrefixes().add("Mr");
    vcard.setStructuredName(n);
    vcard.setFormattedName("Jonathan Doe");
    vcard.setNickname("John", "Jonny");
    vcard.addTitle("Widget Engineer");
    vcard.setOrganization("Acme Co. Ltd.", "Widget Department");
    Address adr = new Address();
    adr.setStreetAddress("123 Wall St.");
    adr.setLocality("New York");
    adr.setRegion("NY");
    adr.setPostalCode("12345");
    adr.setCountry("USA");
    adr.setLabel("123 Wall St.\nNew York, NY 12345\nUSA");
    adr.getTypes().add(AddressType.WORK);
    vcard.addAddress(adr);
    adr = new Address();
    adr.setStreetAddress("123 Main St.");
    adr.setLocality("Albany");
    adr.setRegion("NY");
    adr.setPostalCode("54321");
    adr.setCountry("USA");
    adr.setLabel("123 Main St.\nAlbany, NY 54321\nUSA");
    adr.getTypes().add(AddressType.HOME);
    vcard.addAddress(adr);
    vcard.addTelephoneNumber("1-555-555-1234", TelephoneType.WORK);
    vcard.addTelephoneNumber("1-555-555-5678", TelephoneType.WORK, TelephoneType.CELL);
    vcard.addEmail("johndoe@hotmail.com", EmailType.HOME);
    vcard.addEmail("doe.john@acme.com", EmailType.WORK);
    vcard.addUrl("http://www.acme-co.com");
    vcard.setCategories("widgetphile", "biker", "vCard expert");
    vcard.setGeo(37.6, -95.67);
    vcard.setTimezone(new Timezone(new UtcOffset(false, -5, 0), "America/New_York"));
    File file = new File("portrait.jpg");
    Photo photo = new Photo(file, ImageType.JPEG);
    vcard.addPhoto(photo);
    file = new File("pronunciation.ogg");
    Sound sound = new Sound(file, SoundType.OGG);
    vcard.addSound(sound);
    vcard.setUid(Uid.random());
    vcard.setRevision(Revision.now());
    return vcard;
}
Also used : Timezone(ezvcard.property.Timezone) UtcOffset(ezvcard.util.UtcOffset) Address(ezvcard.property.Address) Photo(ezvcard.property.Photo) Sound(ezvcard.property.Sound) VCard(ezvcard.VCard) StructuredName(ezvcard.property.StructuredName) File(java.io.File)

Example 5 with Timezone

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

the class HCardPageTest method createFullVCard.

private VCard createFullVCard() throws IOException {
    VCard vcard = new VCard();
    StructuredName n = new StructuredName();
    n.setFamily("Claus");
    n.setGiven("Santa");
    n.getAdditionalNames().add("Saint Nicholas");
    n.getAdditionalNames().add("Father Christmas");
    n.getPrefixes().add("Mr");
    n.getPrefixes().add("Dr");
    n.getSuffixes().add("M.D.");
    n.setSortAs("Claus");
    vcard.setStructuredName(n);
    vcard.setClassification("public");
    vcard.setMailer("Thunderbird");
    vcard.setFormattedName("Santa Claus");
    vcard.setNickname("Kris Kringle");
    vcard.addTitle("Manager");
    vcard.addRole("Executive");
    vcard.addRole("Team Builder");
    vcard.addEmail("johndoe@hotmail.com", EmailType.HOME, EmailType.WORK);
    vcard.addEmail("doe.john@company.com", EmailType.WORK);
    Telephone tel = new Telephone(new TelUri.Builder("+1-555-222-3333").extension("101").build());
    vcard.addTelephoneNumber(tel);
    tel = new Telephone(new TelUri.Builder("+1-555-333-4444").build());
    tel.getTypes().add(TelephoneType.WORK);
    vcard.addTelephoneNumber(tel);
    vcard.addTelephoneNumber("(555) 111-2222", TelephoneType.HOME, TelephoneType.VOICE, TelephoneType.PREF);
    Address adr = new Address();
    adr.setStreetAddress("123 Main St");
    adr.setExtendedAddress("Apt 11");
    adr.setLocality("Austin");
    adr.setRegion("Tx");
    adr.setPostalCode("12345");
    adr.setCountry("USA");
    adr.setLabel("123 Main St." + NEWLINE + "Austin TX, 12345" + NEWLINE + "USA");
    adr.getTypes().add(AddressType.HOME);
    vcard.addAddress(adr);
    adr = new Address();
    adr.setPoBox("123");
    adr.setStreetAddress("456 Wall St.");
    adr.setLocality("New York");
    adr.setRegion("NY");
    adr.setPostalCode("11111");
    adr.setCountry("USA");
    adr.getTypes().add(AddressType.PREF);
    adr.getTypes().add(AddressType.WORK);
    vcard.addAddress(adr);
    vcard.setOrganization("Google", "GMail");
    Birthday bday = new Birthday(date("1970-03-08"), false);
    vcard.setBirthday(bday);
    vcard.addUrl("http://company.com");
    vcard.setCategories("business owner", "jolly");
    vcard.addImpp(Impp.aim("myhandle"));
    vcard.addImpp(Impp.yahoo("myhandle@yahoo.com"));
    vcard.addNote("I am proficient in Tiger-Crane Style," + NEWLINE + "and I am more than proficient in the exquisite art of the Samurai sword.");
    vcard.setGeo(123.456, -98.123);
    vcard.setTimezone(new Timezone(new UtcOffset(false, -6, 0), "America/Chicago"));
    InputStream in = getClass().getResourceAsStream("hcard-portrait.jpg");
    Photo photo = new Photo(in, ImageType.JPEG);
    vcard.addPhoto(photo);
    in = getClass().getResourceAsStream("hcard-sound.ogg");
    Sound sound = new Sound(in, SoundType.OGG);
    vcard.addSound(sound);
    vcard.setUid(new Uid("urn:uuid:ffce1595-cbe9-4418-9d0d-b015655d45f6"));
    vcard.setRevision(date("2000-03-10 13:22:44"));
    return vcard;
}
Also used : Timezone(ezvcard.property.Timezone) Telephone(ezvcard.property.Telephone) Address(ezvcard.property.Address) InputStream(java.io.InputStream) TelUri(ezvcard.util.TelUri) Birthday(ezvcard.property.Birthday) Photo(ezvcard.property.Photo) Sound(ezvcard.property.Sound) UtcOffset(ezvcard.util.UtcOffset) Uid(ezvcard.property.Uid) VCard(ezvcard.VCard) StructuredName(ezvcard.property.StructuredName)

Aggregations

Timezone (ezvcard.property.Timezone)7 VCard (ezvcard.VCard)6 Address (ezvcard.property.Address)6 StructuredName (ezvcard.property.StructuredName)6 UtcOffset (ezvcard.util.UtcOffset)6 Birthday (ezvcard.property.Birthday)5 Telephone (ezvcard.property.Telephone)5 TelUri (ezvcard.util.TelUri)5 Anniversary (ezvcard.property.Anniversary)4 Geo (ezvcard.property.Geo)4 Key (ezvcard.property.Key)4 Test (org.junit.Test)3 Photo (ezvcard.property.Photo)2 Sound (ezvcard.property.Sound)2 CannotParseException (ezvcard.io.CannotParseException)1 Uid (ezvcard.property.Uid)1 File (java.io.File)1 InputStream (java.io.InputStream)1 StringWriter (java.io.StringWriter)1