.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "User::Identity::Location 3" .TH User::Identity::Location 3 2025-12-14 "perl v5.42.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME User::Identity::Location \- physical location of a person .SH INHERITANCE .IX Header "INHERITANCE" .Vb 2 \& User::Identity::Location \& is a User::Identity::Item .Ve .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 5 \& 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 => ...); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" The \f(CW\*(C`User::Identity::Location\*(C'\fR 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. .PP Nearly all methods can return \f(CW\*(C`undef\*(C'\fR. Some methods produce language or country specific output. .PP Extends "DESCRIPTION" in User::Identity::Item. .SH METHODS .IX Header "METHODS" Extends "METHODS" in User::Identity::Item. .SS Constructors .IX Subsection "Constructors" Extends "Constructors" in User::Identity::Item. .ie n .IP "$class\->\fBnew\fR( [$name], %options )" 4 .el .IP "\f(CW$class\fR\->\fBnew\fR( [$name], \f(CW%options\fR )" 4 .IX Item "$class->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. .Sp .Vb 10 \& \-Option \-\-Defined in \-\-Default \& country undef \& country_code undef \& description User::Identity::Item undef \& fax undef \& name User::Identity::Item \& organization undef \& parent User::Identity::Item undef \& pc undef \& phone undef \& pobox undef \& pobox_pc undef \& postal_code \& state undef \& street undef .Ve .RS 4 .IP "country => STRING" 2 .IX Item "country => STRING" .PD 0 .IP "country_code => STRING" 2 .IX Item "country_code => STRING" .IP "description => STRING" 2 .IX Item "description => STRING" .IP "fax => STRING|ARRAY" 2 .IX Item "fax => STRING|ARRAY" .IP "name => STRING" 2 .IX Item "name => STRING" .IP "organization => STRING" 2 .IX Item "organization => STRING" .IP "parent => OBJECT" 2 .IX Item "parent => OBJECT" .IP "pc => STRING" 2 .IX Item "pc => STRING" .PD Short name for \f(CW\*(C`postal_code\*(C'\fR. .IP "phone => STRING|ARRAY" 2 .IX Item "phone => STRING|ARRAY" .PD 0 .IP "pobox => STRING" 2 .IX Item "pobox => STRING" .IP "pobox_pc => STRING" 2 .IX Item "pobox_pc => STRING" .IP "postal_code => STRING" 2 .IX Item "postal_code => STRING" .IP "state => STRING" 2 .IX Item "state => STRING" .IP "street => STRING" 2 .IX Item "street => STRING" .PD .RE .RS 4 .RE .SS Attributes .IX Subsection "Attributes" Extends "Attributes" in User::Identity::Item. .ie n .IP $obj\->\fBcity\fR() 4 .el .IP \f(CW$obj\fR\->\fBcity\fR() 4 .IX Item "$obj->city()" The city where the address is located. .ie n .IP $obj\->\fBcountry\fR() 4 .el .IP \f(CW$obj\fR\->\fBcountry\fR() 4 .IX Item "$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). .ie n .IP $obj\->\fBcountryCode\fR() 4 .el .IP \f(CW$obj\fR\->\fBcountryCode\fR() 4 .IX Item "$obj->countryCode()" Each country has an ISO standard abbreviation. Specify the country or the country code, and the other will be filled in automatically. .ie n .IP $obj\->\fBdescription\fR() 4 .el .IP \f(CW$obj\fR\->\fBdescription\fR() 4 .IX Item "$obj->description()" Inherited, see "Attributes" in User::Identity::Item .ie n .IP $obj\->\fBfax\fR() 4 .el .IP \f(CW$obj\fR\->\fBfax\fR() 4 .IX Item "$obj->fax()" One or more fax numbers, like \fBphone()\fR. .ie n .IP $obj\->\fBfullAddress\fR() 4 .el .IP \f(CW$obj\fR\->\fBfullAddress\fR() 4 .IX Item "$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, \f(CW\*(C`undef\*(C'\fR will be returned: an incomplete address. .Sp ยป example: .Sp .Vb 2 \& print $uil\->fullAddress; \& print $user\->find(location => \*(Aqhome\*(Aq)\->fullAddress; .Ve .ie n .IP "$obj\->\fBname\fR( [$newname] )" 4 .el .IP "\f(CW$obj\fR\->\fBname\fR( [$newname] )" 4 .IX Item "$obj->name( [$newname] )" Inherited, see "Attributes" in User::Identity::Item .ie n .IP $obj\->\fBorganization\fR() 4 .el .IP \f(CW$obj\fR\->\fBorganization\fR() 4 .IX Item "$obj->organization()" The organization (for instance company) which is related to this location. .ie n .IP $obj\->\fBphone\fR() 4 .el .IP \f(CW$obj\fR\->\fBphone\fR() 4 .IX Item "$obj->phone()" One or more phone numbers. Please use the international notation, which starts with \f(CW\*(Aq+\*(Aq\fR, for instance \f(CW\*(C`+31\-26\-12131\*(C'\fR. In scalar context, only the first number is produced. In list context, all numbers are presented. .ie n .IP $obj\->\fBpobox\fR() 4 .el .IP \f(CW$obj\fR\->\fBpobox\fR() 4 .IX Item "$obj->pobox()" Post Office mail box specification. Use \f(CW"P.O.Box 314"\fR, not simple \f(CW314\fR. .ie n .IP $obj\->\fBpoboxPostalCode\fR() 4 .el .IP \f(CW$obj\fR\->\fBpoboxPostalCode\fR() 4 .IX Item "$obj->poboxPostalCode()" The postal code related to the Post\-Office mail box. Defined by \fBnew()\fR option \&\f(CW\*(C`pobox_pc\*(C'\fR. .ie n .IP $obj\->\fBpostalCode\fR() 4 .el .IP \f(CW$obj\fR\->\fBpostalCode\fR() 4 .IX Item "$obj->postalCode()" The postal code is very country dependent. Also, the location of the code within the formatted string is country dependent. .ie n .IP $obj\->\fBstate\fR() 4 .el .IP \f(CW$obj\fR\->\fBstate\fR() 4 .IX Item "$obj->state()" The state, which is important for some countries but certainly not for the smaller ones. Only set this value when you state has to appear on printed addresses. .ie n .IP $obj\->\fBstreet\fR() 4 .el .IP \f(CW$obj\fR\->\fBstreet\fR() 4 .IX Item "$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? .SS Collections .IX Subsection "Collections" Extends "Collections" in User::Identity::Item. .ie n .IP "$obj\->\fBadd\fR($collection, $role)" 4 .el .IP "\f(CW$obj\fR\->\fBadd\fR($collection, \f(CW$role\fR)" 4 .IX Item "$obj->add($collection, $role)" Inherited, see "Collections" in User::Identity::Item .ie n .IP "$obj\->\fBaddCollection\fR( $object | <[$type], %options> )" 4 .el .IP "\f(CW$obj\fR\->\fBaddCollection\fR( \f(CW$object\fR | <[$type], \f(CW%options\fR> )" 4 .IX Item "$obj->addCollection( $object | <[$type], %options> )" Inherited, see "Collections" in User::Identity::Item .ie n .IP $obj\->\fBcollection\fR($name) 4 .el .IP \f(CW$obj\fR\->\fBcollection\fR($name) 4 .IX Item "$obj->collection($name)" Inherited, see "Collections" in User::Identity::Item .ie n .IP "$obj\->\fBparent\fR( [$parent] )" 4 .el .IP "\f(CW$obj\fR\->\fBparent\fR( [$parent] )" 4 .IX Item "$obj->parent( [$parent] )" Inherited, see "Collections" in User::Identity::Item .ie n .IP $obj\->\fBremoveCollection\fR($object|$name) 4 .el .IP \f(CW$obj\fR\->\fBremoveCollection\fR($object|$name) 4 .IX Item "$obj->removeCollection($object|$name)" Inherited, see "Collections" in User::Identity::Item .ie n .IP $any\->\fBtype\fR() 4 .el .IP \f(CW$any\fR\->\fBtype\fR() 4 .IX Item "$any->type()" Inherited, see "Collections" in User::Identity::Item .ie n .IP $obj\->\fBuser\fR() 4 .el .IP \f(CW$obj\fR\->\fBuser\fR() 4 .IX Item "$obj->user()" Inherited, see "Collections" in User::Identity::Item .SS Searching .IX Subsection "Searching" Extends "Searching" in User::Identity::Item. .ie n .IP "$obj\->\fBfind\fR($collection, $role)" 4 .el .IP "\f(CW$obj\fR\->\fBfind\fR($collection, \f(CW$role\fR)" 4 .IX Item "$obj->find($collection, $role)" Inherited, see "Searching" in User::Identity::Item .SH DIAGNOSTICS .IX Header "DIAGNOSTICS" .ie n .IP "Error: cannot load collection module for $type ($class): $@" 4 .el .IP "Error: cannot load collection module for \f(CW$type\fR ($class): $@" 4 .IX Item "Error: cannot load collection module for $type ($class): $@" Either the specified \f(CW$type\fR does not exist, or that module named \f(CW$class\fR 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 \*(Aqrequire\*(Aq the package which defines the nickname. Cast by \f(CWaddCollection()\fR .ie n .IP "Error: nvalid collection $name." 4 .el .IP "Error: nvalid collection \f(CW$name\fR." 4 .IX Item "Error: nvalid collection $name." The collection with \f(CW$name\fR does not exist and can not be created. Cast by \f(CWadd()\fR .ie n .IP "Error: this $object is not a collection." 4 .el .IP "Error: this \f(CW$object\fR is not a collection." 4 .IX Item "Error: this $object is not a collection." Cast by \f(CWaddCollection()\fR .SH "SEE ALSO" .IX Header "SEE ALSO" This module is part of User\-Identity version 4.00, built on December 12, 2025. Website: \fIhttp://perl.overmeer.net/CPAN/\fR .SH LICENSE .IX Header "LICENSE" For contributors see file ChangeLog. .PP This software is copyright (c) 2003\-2025 by Mark Overmeer. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.