NAME
RDF::vCard::Line - represents a line within a vCard
DESCRIPTION
Instances of this class correspond to lines within vCards, though they could potentially be used as basis for other RFC 2425-based formats such as iCalendar.
Constructor
new(%options)
Returns a new RDF::vCard::Line object.
The only options worth worrying about are: property (case-insensitive property name), value (arrayref or single string value), type_parameters (hashref of property-related parameters).
RDF::vCard::Entity overloads stringification, so you can do the following:
my
$line
= RDF::vCard::Line->new(
property
=>
'email'
,
value
=>
'joe@example.net'
,
type_parameters
=> {
type
=>[
'PREF'
,
'INTERNET'
] },
);
print
"$line\n"
if
$line
=~ /internet/i;
Methods
to_string()
Formats the line according to RFC 2425 and RFC 2426.
add_to_model($model, $node)
Given an RDF::Trine::Model and an RDF::Trine::Node representing the entity (i.e. vcard) that this line belongs to, adds triples to the model for this line.
property()
Returns the line's property - e.g. "EMAIL".
property_node()
Returns the line's property as an RDF::Trine::Node that can be used as an RDF predicate. Returns undef if a sensible URI cannot be found.
property_order()
Returns a string which can be used to sort a list of lines into a sensible order.
value()
Returns an arrayref for the value. Each item in the arrayref could be a plain scalar, or an arrayref of scalars. For example the arrayref representing this name:
N:Smith;John;Edward,James
which is the vCard representation of somebody with surname Smith, given name John and additional names (middle names) Edward and James, might be represented with the following "value" arrayref:
[
'Smith'
,
'John'
,
[
'Edward'
,
'James'
],
]
or maybe:
[
[
'Smith'
],
'John'
,
[
'Edward'
,
'James'
],
]
That's why it's sometimes useful to have a normalised version of it...
nvalue()
Returns a normalised version of the arrayref for the value. It will always be an arrayref of arrayrefs. For example:
[
[
'Smith'
],
[
'John'
],
[
'Edward'
,
'James'
],
]
value_node()
Returns the line's value as an RDF::Trine::Node that can be used as an RDF object. For some complex properties (e.g. ADR, GEO, ORG, N, etc) the result is not especially useful.
value_to_string()
Formats the line value according to RFC 2425 and RFC 2426.
type_parameters()
Returns the type_parameters hashref. Here be monsters (kinda).
SEE ALSO
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.