package CSS::Property; $VERSION = 1.02; use strict; use warnings; use CSS::Value; sub new { my $class = shift; my $self = bless {}, $class; $self->{options} = shift; $self->{property} = ''; $self->{simple_value} = ''; $self->{adaptor} = 'CSS::Adaptor'; $self->{property} = $self->{options}->{property} if defined $self->{options}->{property}; $self->{simple_value} = $self->{options}->{value} if defined $self->{options}->{value}; $self->{adaptor} = $self->{options}->{adaptor} if defined $self->{options}->{adaptor}; $self->{values} = []; if (defined $self->{simple_value}){ my $value_obj = new CSS::Value({ 'value' => $self->{simple_value}, 'adaptor' => $self->{adaptor}, }); push @{$self->{values}}, $value_obj; } return $self; } sub set_adaptor { my $self = shift; my $adaptor = shift; # set adaptor $self->{adaptor} = $adaptor; } sub values { my $self = shift; my $adaptor_obj = new $self->{adaptor}; return $adaptor_obj->output_values($self->{values}); } 1; __END__ =head1 NAME CSS::Property - A property in a CSS object tree =head1 SYNOPSIS use CSS; =head1 DESCRIPTION This module represents a property in a CSS object tree. Read the CSS.pm pod for information about the CSS object tree. =head1 METHODS =head2 CONSTRUCTORS =over 4 =item C or C This constructor returns a new C object, with an optional hash of options. property property name (as string) value simple value string adaptor adaptor to use for serialization If the C option is passed, a C object is automatically created and added to the object's values list. =back =head2 ACCESSORS =over 4 =item C This method sets the current adaptor for the object. =item C This method is used to serialize the property's values, using the current adaptor. It returns a string which comes from the adaptor's C method. =back =head1 AUTHOR Copyright (C) 2003-2004, Cal Henderson =head1 SEE ALSO L, http://www.w3.org/TR/REC-CSS1 =cut