RDF::vCard::Entity(3pm)

NAME
RDF::vCard::Entity - represents a single vCard

DESCRIPTION
Instances of this class correspond to individual vCard objects, though it could potentially be used as basis for other RFC 2425-based formats such as iCalendar.

  Constructor

•   new(%options)

    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 "VCARD".

    RDF::vCard::Entity overloads stringification, so you can do the following:

      my $vcard = RDF::vCard::Entity->new;
      print $vcard if $vcard =~ /VCARD/i;

  Methods

•   to_string()

    Formats the object according to RFC 2425 and RFC 2426.

•   to_jcard()

    Formats the object according to <http://microformats.org/wiki/jcard>.

    to_jcard(1) will return the same data but without the JSON stringification.

•   add_to_model($model)

    Given an RDF::Trine::Model, adds triples to the model for this entity.

•   node()

    Returns an RDF::Trine::Node::Blank identifying this entity.

•   entity_order()

    Returns a string along the lines of "Surname;Forename" useful for sorting a list of entities.

•   profile()

    Returns the entity type - e.g. "VCARD".

•   lines()

    Returns an arrayref of RDF::vCard::Line objects in the order they were originally added.

    This excludes the "BEGIN:VCARD" and "END:VCARD" lines.

•   add($line)

    Add a RDF::vCard::Line.

•   get($property)

    Returns a list of RDF::vCard::Line objects for the given property.

    e.g.

      print "It has an address!\n" if ($vcard->get('ADR'));

•   "matches($property, $regexp)"

    Checks to see if a property's value matches a regular expression.

      print "In London\n" if $vcard->matches(ADR => /London/);

•   add_component($thing)

    Adds a nested entity within this one. This method is unused for vCard, but is a hook for the benefit of RDF::iCalendar.

•   "components"

    Lists nested entities within this one.

SEE ALSO
RDF::vCard.

AUTHOR
Toby Inkster <tobyink@cpan.org>.

COPYRIGHT
Copyright 2011 Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.