NAME
Data::ICal::Property - Represents a property on an entry in an iCalendar file
DESCRIPTION
A Data::ICal::Property object represents a single property on an entry in an iCalendar file. Properties have parameters in addition to their value.
You shouldn't need to create Data::ICal::Property values directly -- just use add_property
in Data::ICal::Entry.
The encoding
parameter value is only interpreted by Data::ICal in the decoded_value
and encode
methods: all other methods access the encoded version directly (if there is an encoding).
Currently, the only supported encoding is QUOTED-PRINTABLE
.
METHODS
new $key, $value, [$parameter_hash]
Creates a new Data::ICal::Property with key $key
and value $value
.
If $parameter_hash
is provided, sets the property's parameters to it. The parameter hash should have keys equal to the names of the parameters (case insensitive; parameter hashes should not contain two different keys which are the same when converted to upper case); the values should either be a string if the parameter has a single value or an array reference of strings if the parameter has multiple values.
key [$key]
Gets or sets the key name of this property.
value [$value]
Gets or sets the value of this property.
parameters [$param_hash]
Gets or sets the parameter hash reference of this property. Parameter keys are converted to upper case.
vcal10 [$bool]
Gets or sets a boolean saying whether this should be interpreted as vCalendar 1.0 (as opposed to iCalendar 2.0). Generally, you can just set this on your main Data::ICal object when you construct it; add_entry
automatically makes sure that sub-entries end up with the same value as their parents, and add_property
makes sure that properties end up with the same value as their entry.
decoded_value
Gets the value of this property, converted from the encoding specified in its encoding parameter. (That is, value
will return the encoded version; this will apply the encoding.) If the encoding is not specified or recognized, just returns the raw value.
encode $encoding
Calls decoded_value
to get the current decoded value, then encodes it in $encoding
, sets the value to that, and sets the encoding parameter to $encoding
. ($encoding
is first converted to upper case.)
If $encoding
is undef, deletes the encoding parameter and sets the value to the decoded value. Does nothing if the encoding is not recognized.
as_string ARGS
Returns the property formatted as a string (including trailing newline).
Takes named arguments:
- fold
-
Defaults to true. pass in a false value if you need to generate non-rfc-compliant calendars.
- crlf
-
Defaults to
\x0d\x0a
, per RFC 2445 spec. This option is primarily for backwards compatibility with version of this module prior to 0.16, which used\x0a
.
AUTHOR
Best Practical Solutions, LLC <modules@bestpractical.com>
LICENCE AND COPYRIGHT
Copyright (c) 2005 - 2020, Best Practical Solutions, LLC. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.