Net::DRI::Data::Contact - Handle contact data, modeled from EPP for Net::DRI
This base class encapsulates all data for a contact as defined in EPP (RFC4933).
It can (and should) be subclassed for TLDs needing to store other data for a
contact. All subclasses must have a validate()
method that takes care
of verifying contact data, and an id()
method returning an opaque
value, unique per contact (in a given registry).
The following methods are both accessors and mutators : as mutators, they can be
called in chain, as they all return the object itself.
Postal information through name() org() street()
city() sp() pc() cc()
can be provided twice. EPP
allows a localized form (content is in unrestricted UTF-8) and
internationalized form (content MUST be represented in a subset of UTF-8 that
can be represented in the 7-bit US-ASCII character set). Not all registries
support both forms.
When setting values, you pass one element if both forms are equal or two
elements as a list (first the localized form, then the internationalized one).
When getting values, in list context you get back both values, in scalar
context you get back the first one, that is the localized form.
You can also use methods int2loc()
to create one
version from the other.
local object ID for this contact, never sent to registry (can be used to track
the local db id of this object)
server ID, ID of the object as known by the registry in which it was created
an alias (needed for Net::DRI::Data::ContactSet) of the previous method
registry/remote object id (internal to a registry)
name of the contact
organization of the contact
street address of the contact (ref array of up to 3 elements)
city of the contact
state/province of the contact
postal code of the contact
alpha2 country code of the contact (will be verified against list of valid
email address of the contact
voice number of the contact (in the form +CC.NNNNNNNNxEEE)
fax number of the contact (same form as above)
authentification for this contact (hash ref with a key 'pw' and a value being
privacy settings related to this contact (see RFC)
create the localized part from the internationalized part ; existing
internationalized data is overwritten
create the internationalized part from the localized part ; existing localized
data is overwritten ; as the internationalized part must be a subset of UTF-8
when the localized one can be the full UTF-8, this operation may creates
undefined characters (?) as result
return a string formed with all data contained in this contact object ; this is
mostly useful for debugging and logging, this string should not be parsed as
its format is not guaranteed to remain stable, you should use the above
return an array of attributes name available in this contact object (taking into
account any subclass specific attribute)
For now, support questions should be sent to:
Please also see the SUPPORT file in the distribution.
Patrick Mevzek, <firstname.lastname@example.org>
Copyright (c) 2005-2010 Patrick Mevzek <email@example.com>. All rights
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
See the LICENSE file that comes with this distribution for more details.