Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.service.protocol
Class ServerStoredDetails

java.lang.Object
  extended by net.java.sip.communicator.service.protocol.ServerStoredDetails

public class ServerStoredDetails
extends Object

The ServerStoredDetails class contains a relatively large set of details that various protocols may support storing online. Each detail is represented by its own inner class that could be instantiated by either the protocol provider implementation (for representing details returned by the server) or by the using service (e.g. the UIService, when representing details that the local user would like to set for the current account).

All detail classes inherit from the GenericDetail class, extending it to represent more and more concrete details. The WorkAddressDetail for example, meant to represent a postal work address, extends the AddressDetailClass which is meant for representing all kinds of postal addresses. The AddressDetailClass on its turn extends the StringDetail which itself inherits from the GenericDetailClass.

When creating details that do not exist here (which you'll probably have to do at one point or another) you are encouraged to extend from the most concrete address possible so that your detail could be meaningfully handled by the User Interface.

Let's assume for example that we'd like to add a BirthPlaceAddressDetail, indicating place of birth. The BirthPlaceAddress detail class should extend the AddressDetail class so that the GUI could understand that this is an address and visualize it appropriately. The same goes for variations of an EmailAddressDetail or any other detail having anything to do with a detail represented in this class.

All details have a detailValue and a displayName as well as get methods that would give you (read-only) access to them. Most classes extending the GenericDetail to something more meaningful would provide additional accessors allowing you to retrieve the value casted to its native class.

Detail names may be used when visualizing the detail (however, keep in mind that you should leave space for internationalization when doing so).

This class is meant for usage with the OperationSetServerStoredAccountInfo and OperationSetServerStoredContactInfo operation sets.

Author:
Emil Ivov

Nested Class Summary
static class ServerStoredDetails.AddressDetail
          A detail representing an address (street and street/house number).
static class ServerStoredDetails.BinaryDetail
          A generic detail used for representing binary content such as photos logos, avatars ....
static class ServerStoredDetails.BirthDateDetail
          A complete birth date.
static class ServerStoredDetails.BooleanDetail
          A generic detail that should be used (extended) when representing any boolean values.
static class ServerStoredDetails.CalendarDetail
          A generic detail meant to represent any date (calendar) associated details.
static class ServerStoredDetails.CityDetail
          A City name associated with a (home) address.
static class ServerStoredDetails.CountryDetail
          A detail representing a country of residence for the corresponding subject.
static class ServerStoredDetails.DisplayNameDetail
          The name that should be displayed to identify the information author.
static class ServerStoredDetails.EmailAddressDetail
          Represents a (personal) email address.
static class ServerStoredDetails.FaxDetail
          A Fax number.
static class ServerStoredDetails.FirstNameDetail
          A first, given name.
static class ServerStoredDetails.GenderDetail
          A bi-state detail indicating a gender.
static class ServerStoredDetails.GenericDetail
          A generic detail used as the root of all other server stored details.
static class ServerStoredDetails.ImageDetail
          A detail containing any contact related images.
static class ServerStoredDetails.InterestDetail
          Represents a personal interest or hobby.
static class ServerStoredDetails.LastNameDetail
          A last (family) name.
static class ServerStoredDetails.LocaleDetail
          A generic detail that should be used (extended) when representing details that have anything to do with locales (countries, languages, etc).
static class ServerStoredDetails.MiddleNameDetail
          A Middle (father's) name.
static class ServerStoredDetails.MobilePhoneDetail
          A detail used for representing a (personal) mobile phone number.
static class ServerStoredDetails.NameDetail
          A generic detail representing any kind of name.
static class ServerStoredDetails.NicknameDetail
          An informal name (nickname) used for referring to the subject.
static class ServerStoredDetails.NumberDetail
          A generic detail that should be used (extended) when representing any numbers.
static class ServerStoredDetails.PagerDetail
          A Pager number.
static class ServerStoredDetails.PhoneNumberDetail
          A generic detail used for representing a (personal) phone number.
static class ServerStoredDetails.PostalCodeDetail
          A postal or ZIP code associated with a (home) address.
static class ServerStoredDetails.ProvinceDetail
          The name of a state/province/region associated with a (home) address.
static class ServerStoredDetails.SpokenLanguageDetail
          A locale detail indicating a language spoken by the corresponding Contact.
static class ServerStoredDetails.StringDetail
          A generic detail that should be used (extended) when representing details with a String content.
static class ServerStoredDetails.TimeZoneDetail
          A generic detail meant to represent the time zone associated with the corresponding contact and that could be extended to represent other time zone related details.
static class ServerStoredDetails.URLDetail
          A generic detail representing any url
static class ServerStoredDetails.WebPageDetail
          A personal web page.
static class ServerStoredDetails.WorkAddressDetail
          A detail representing a street name and number associated with a work address.
static class ServerStoredDetails.WorkCityDetail
          A City name associated with a work address.
static class ServerStoredDetails.WorkCountryDetail
          The name of a country associated with a work address.
static class ServerStoredDetails.WorkEmailAddressDetail
          Represents a (personal) email address.
static class ServerStoredDetails.WorkMobilePhoneDetail
          A detail used for representing a work mobile phone number.
static class ServerStoredDetails.WorkOrganizationNameDetail
          The name of the organization (company, ngo, university, hospital or other) employing the corresponding contact.
static class ServerStoredDetails.WorkPageDetail
          A web page associated with the subject's principal occupation (work).
static class ServerStoredDetails.WorkPhoneDetail
          A detail used for representing a work phone number.
static class ServerStoredDetails.WorkPostalCodeDetail
          A postal or ZIP code associated with a work address.
static class ServerStoredDetails.WorkProvinceDetail
          The name of a state/province/region associated with a work address.
 
Constructor Summary
ServerStoredDetails()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServerStoredDetails

public ServerStoredDetails()

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.