Mark Overmeer > User-Identity-0.93 > User::Identity::Location

Download:
User-Identity-0.93.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.93   Source   Latest Release: User-Identity-0.94

NAME ^

User::Identity::Location - physical location of a person

INHERITANCE ^

 User::Identity::Location
   is a User::Identity::Item

SYNOPSIS ^

 use User::Identity;
 use User::Identity::Location;
 my $me   = User::Identity->new(...);
 my $addr = User::Identity::Location->new(...);
 $me->add(location => $addr);

 # Simpler

 use User::Identity;
 my $me   = User::Identity->new(...);
 my $addr = $me->add(location => ...);

DESCRIPTION ^

The User::Identity::Location object contains the description of a physical location of a person: home, work, travel. The locations are collected by a User::Identity::Collection::Locations object.

Nearly all methods can return undef. Some methods produce language or country specific output.

METHODS ^

Constructors

User::Identity::Location->new([NAME], OPTIONS)

Create a new location. You can specify a name as first argument, or in the OPTION list. Without a specific name, the organization is used as name.

 Option      --Defined in     --Default
 country                        undef
 country_code                   undef
 description   User::Identity::Item  undef
 fax                            undef
 name          User::Identity::Item  <required>
 organization                   undef
 parent        User::Identity::Item  undef
 pc                             undef
 phone                          undef
 pobox                          undef
 pobox_pc                       undef
 postal_code                    <value of option pc>
 state                          undef
 street                         undef

. country => STRING

. country_code => STRING

. description => STRING

. fax => STRING|ARRAY

. name => STRING

. organization => STRING

. parent => OBJECT

. pc => STRING

Short name for postal_code.

. phone => STRING|ARRAY

. pobox => STRING

. pobox_pc => STRING

. postal_code => STRING

. state => STRING

. street => STRING

Attributes

$obj->city

The city where the address is located.

$obj->country

The country where the address is located. If the name of the country is not known but a country code is defined, the name will be looked-up using Geography::Countries (if installed).

$obj->countryCode

Each country has an ISO standard abbreviation. Specify the country or the country code, and the other will be filled in automatically.

$obj->description

See "Attributes" in User::Identity::Item

$obj->fax

One or more fax numbers, like phone().

$obj->fullAddress

Create an address to put on a postal mailing, in the format as normal in the country where it must go to. To be able to achieve that, the country code must be known. If the city is not specified or no street or pobox is given, undef will be returned: an incomplete address.

example:

 print $uil->fullAddress;
 print $user->find(location => 'home')->fullAddress;

$obj->name([NEWNAME])

See "Attributes" in User::Identity::Item

$obj->organization

The organization (for instance company) which is related to this location.

$obj->phone

One or more phone numbers. Please use the internation notation, which starts with '+', for instance +31-26-12131. In scalar context, only the first number is produced. In list context, all numbers are presented.

$obj->pobox

Post Office mail box specification. Use "P.O.Box 314", not simple 314.

$obj->poboxPostalCode

The postal code related to the Post-Office mail box. Defined by new() option pobox_pc.

$obj->postalCode

The postal code is very country dependent. Also, the location of the code within the formatted string is country dependent.

$obj->state

The state, which is important for some contries but certainly not for the smaller ones. Only set this value when you state has to appear on printed addresses.

$obj->street

Returns the address of this location. Since Perl 5.7.3, you can use unicode in strings, so why not format the address nicely?

Collections

$obj->add(COLLECTION, ROLE)

See "Collections" in User::Identity::Item

$obj->addCollection(OBJECT | ([TYPE], OPTIONS))

See "Collections" in User::Identity::Item

$obj->collection(NAME)

See "Collections" in User::Identity::Item

$obj->find(COLLECTION, ROLE)

See "Collections" in User::Identity::Item

$obj->parent([PARENT])

See "Collections" in User::Identity::Item

$obj->removeCollection(OBJECT|NAME)

See "Collections" in User::Identity::Item

$obj->type

User::Identity::Location->type

See "Collections" in User::Identity::Item

$obj->user

See "Collections" in User::Identity::Item

DIAGNOSTICS ^

Error: $object is not a collection.

The first argument is an object, but not of a class which extends User::Identity::Collection.

Error: Cannot load collection module for $type ($class).

Either the specified $type does not exist, or that module named $class returns compilation errors. If the type as specified in the warning is not the name of a package, you specified a nickname which was not defined. Maybe you forgot the 'require' the package which defines the nickname.

Error: Creation of a collection via $class failed.

The $class did compile, but it was not possible to create an object of that class using the options you specified.

Error: Don't know what type of collection you want to add.

If you add a collection, it must either by a collection object or a list of options which can be used to create a collection object. In the latter case, the type of collection must be specified.

Warning: No collection $name

The collection with $name does not exist and can not be created.

SEE ALSO ^

This module is part of User-Identity distribution version 0.93, built on December 24, 2009. Website: http://perl.overmeer.net/userid/

LICENSE ^

Copyrights 2003,2004,2007-2009 by Mark Overmeer <perl@overmeer.net>. For other contributors see Changes.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html

syntax highlighting: