Represents a single vcard
Instances of this class correspond to individual vCard objects, though it could potentially be used as basis for other \s-1RFC\s0 2425-based formats such as iCalendar.
\*(C`new(%options)\*(C' Returns a new RDF::vCard::Entity object. The only option worth worrying about is profile which sets the profile for the entity. This defaults to \*(L"\s-1VCARD\s0\*(R". RDF::vCard::Entity overloads stringification, so you can do the following:
my $vcard = RDF::vCard::Entity->new; print $vcard if $vcard =~ /VCARD/i;
\*(C`to_string()\*(C' Formats the object according to \s-1RFC\s0 2425 and \s-1RFC\s0 2426.
\*(C`to_jcard()\*(C' Formats the object according to <http://microformats.org/wiki/jcard>. to_jcard(1) will return the same data but without the \s-1JSON\s0 stringification.
\*(C`add_to_model($model)\*(C' Given an RDF::Trine::Model, adds triples to the model for this entity.
\*(C`node()\*(C' Returns an RDF::Trine::Node::Blank identifying this entity.
\*(C`entity_order()\*(C' Returns a string along the lines of \*(L"Surname;Forename\*(R" useful for sorting a list of entities.
\*(C`profile()\*(C' Returns the entity type - e.g. \*(L"\s-1VCARD\s0\*(R".
\*(C`lines()\*(C' Returns an arrayref of RDF::vCard::Line objects in the order they were originally added. This excludes the \*(L"\s-1BEGIN:VCARD\s0\*(R" and \*(L"\s-1END:VCARD\s0\*(R" lines.
\*(C`add($line)\*(C' Add a RDF::vCard::Line.
\*(C`get($property)\*(C' Returns a list of RDF::vCard::Line objects for the given property. e.g. print "It has an address!\n" if ($vcard->get('ADR'));
\*(C`matches($property, $regexp)\*(C' Checks to see if a property's value matches a regular expression. print "In London\n" if $vcard->matches(ADR => /London/);
\*(C`add_component($thing)\*(C' Adds a nested entity within this one. This method is unused for vCard, but is a hook for the benefit of RDF::iCalendar.
\*(C`components\*(C' Lists nested entities within this one.
RDF::vCard.
Toby Inkster <[email protected]>.
Copyright 2011 Toby Inkster
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.