Package com.avaya.clientservices.contact

## Interface BaseContact

- All Known Subinterfaces:
    `Contact`, `EditableContact`

      public interface BaseContact

  Base class used as a common interface for read-only and editable contacts.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `canAddEmailAddress()` | Deprecated. THIS METHOD WILL BE REMOVED IN RELEASE VERSION 3.3.
    `boolean` | `canAddEmailAddress​(ContactEmailAddressType contactEmailAddressType)` | Returns true if addition of email address of a specified type will not make contact invalid.
    `boolean` | `canAddIMAddress()` | Returns true if addition of IM address will not make contact invalid.
    `boolean` | `canAddPhoneNumber​(ContactPhoneNumberType contactPhoneNumberType)` | Returns true if addition of phone number of a specified type will not make contact invalid.
    `ContactStringField` | `getASCIIAlias()` | The non-localized alias.
    `ContactStringField` | `getASCIIDisplayName()` | The non-localized display name.
    `ContactStringField` | `getASCIIFirstName()` | The non-localized first name.
    `ContactStringField` | `getASCIILastName()` | The non-localized last name.
    `ContactStringField` | `getCity()` | The city.
    `ContactStringField` | `getCompany()` | The company.
    `ContactStringField` | `getCountry()` | The country.
    `BaseContactMultiValueField<? extends ContactStringField>` | `getCustom1()` | The list of custom1 values.
    `BaseContactMultiValueField<? extends ContactStringField>` | `getCustom2()` | The list of custom2 values.
    `BaseContactMultiValueField<? extends ContactStringField>` | `getCustom3()` | The list of custom3 values.
    `ContactStringField` | `getDepartment()` | The department.
    `BaseContactMultiValueField<? extends ContactEmailAddressField>` | `getEmailAddresses()` | The list of email addresses.
    `java.util.Map<java.lang.String,​ContactField>` | `getExtraFields()` | Contact extra fields
    `BaseContactMultiValueField<? extends ContactIMAddressField>` | `getIMAddresses()` | The list of IM addresses.
    `ContactStringField` | `getLanguage()` | The language is per contact record.
    `ContactStringField` | `getLocation()` | The location.
    `ContactStringField` | `getManager()` | The name of a person who is a supervisor.
    `ContactStringField` | `getNativeAlias()` | The native alias.
    `ContactStringField` | `getNativeDisplayName()` | The native display name.
    `ContactStringField` | `getNativeFirstName()` | The native first name.
    `ContactStringField` | `getNativeLastName()` | The native last name.
    `ContactStringField` | `getNotes()` | The notes field.
    `BaseContactMultiValueField<? extends ContactPhoneField>` | `getPhoneNumbers()` | The list of phone numbers.
    `ContactStringField` | `getPostalCode()` | The postal code.
    `ContactDoubleField` | `getRank()` | The rank field defining the contact sorting order.
    `ContactStringField` | `getState()` | The state.
    `ContactStringField` | `getStreetAddress()` | The street address.
    `ContactStringField` | `getTitle()` | The title or company role.
    `java.lang.String` | `getUniqueAddressForMatching()` | The matching/merging address.
    `ContactBoolField` | `isBuddy()` | The buddy flag.
    `boolean` | `isExtendedContactDetailsAvailable()` | Returns true if extended contact details are available.
    `ContactBoolField` | `isFavorite()` | The favorite flag.
    `ContactBoolField` | `isVideoCapable()` | Returns true if contact is video capable.
    `ContactBoolField` | `isVIP()` | The VIP flag.

- - ### Method Detail

    - #### getASCIILastName

          ContactStringField getASCIILastName()

      The non-localized last name.
      Returns:
        Contact string field containing non-localized last name.

    - #### getASCIIFirstName

          ContactStringField getASCIIFirstName()

      The non-localized first name.
      Returns:
        Contact string field containing non-localized first name.

    - #### getASCIIDisplayName

          ContactStringField getASCIIDisplayName()

      The non-localized display name.
      Returns:
        Contact string field containing non-localized display name.

    - #### getASCIIAlias

          ContactStringField getASCIIAlias()

      The non-localized alias.
      Returns:
        Contact string field containing a non-localized alias.

    - #### getNativeLastName

          ContactStringField getNativeLastName()

      The native last name.
      Returns:
        Contact string field containing the native last name.

    - #### getNativeFirstName

          ContactStringField getNativeFirstName()

      The native first name.
      Returns:
        Contact string field containing the native first name.

    - #### getNativeDisplayName

          ContactStringField getNativeDisplayName()

      The native display name.
      Returns:
        Contact string field containing the native display name.

    - #### getNativeAlias

          ContactStringField getNativeAlias()

      The native alias.
      Returns:
        Contact string field containing the native alias.

    - #### getLocation

          ContactStringField getLocation()

      The location.
      Returns:
        Contact string field containing the location.

    - #### getStreetAddress

          ContactStringField getStreetAddress()

      The street address.
      Returns:
        Contact string field containing the street address.

    - #### getCity

          ContactStringField getCity()

      The city.
      Returns:
        Contact string field containing the city.

    - #### getState

          ContactStringField getState()

      The state.
      Returns:
        Contact string field containing the state.

    - #### getCountry

          ContactStringField getCountry()

      The country.
      Returns:
        Contact string field containing the country.

    - #### getPostalCode

          ContactStringField getPostalCode()

      The postal code.
      Returns:
        Contact string field containing the postal code.

    - #### getCompany

          ContactStringField getCompany()

      The company.
      Returns:
        Contact string field containing the company.

    - #### getDepartment

          ContactStringField getDepartment()

      The department.
      Returns:
        Contact string field containing the department.

    - #### getManager

          ContactStringField getManager()

      The name of a person who is a supervisor.
      Returns:
        Contact string field containing the name of a person who is a supervisor.

    - #### getTitle

          ContactStringField getTitle()

      The title or company role.
      Returns:
        Contact string field containing the title or company role.

    - #### getLanguage

          ContactStringField getLanguage()

      The language is per contact record.
      Returns:
        Contact string field containing the language is per contact record.

    - #### getUniqueAddressForMatching

          java.lang.String getUniqueAddressForMatching()

      The matching/merging address. This parameter can be used as a record's unique id.
      Returns:
        Contact string field containing the matching/merging address.

    - #### getEmailAddresses

          BaseContactMultiValueField<? extends ContactEmailAddressField> getEmailAddresses()

      The list of email addresses.
      Returns:
        Contact multi value field containing list of email addresses.

    - #### getPhoneNumbers

          BaseContactMultiValueField<? extends ContactPhoneField> getPhoneNumbers()

      The list of phone numbers.
      Returns:
        Contact multi value field containing list of phone numbers.

    - #### getIMAddresses

          BaseContactMultiValueField<? extends ContactIMAddressField> getIMAddresses()

      The list of IM addresses.
      Returns:
        Contact multi value field containing list of IM addresses.

    - #### isBuddy

          ContactBoolField isBuddy()

      The buddy flag. Used for presence feature purpose.
      Returns:
        Contact bool field containing the buddy flag.

    - #### isVIP

          ContactBoolField isVIP()

      The VIP flag.
      Returns:
        Contact bool field containing the VIP flag.

    - #### isFavorite

          ContactBoolField isFavorite()

      The favorite flag.
      Returns:
        Contact bool field containing the favorite flag.

    - #### getNotes

          ContactStringField getNotes()

      The notes field.
      Returns:
        Contact string field containing the notes field.

    - #### getRank

          ContactDoubleField getRank()

      The rank field defining the contact sorting order. 0.0 value means "No rank". Higher values are sorted toward top of the list.
      Returns:
        Non-negative double value.

    - #### getCustom1

          BaseContactMultiValueField<? extends ContactStringField> getCustom1()

      The list of custom1 values.
      Returns:
        list of custom1 values.

    - #### getCustom2

          BaseContactMultiValueField<? extends ContactStringField> getCustom2()

      The list of custom2 values.
      Returns:
        list of custom2 values.

    - #### getCustom3

          BaseContactMultiValueField<? extends ContactStringField> getCustom3()

      The list of custom3 values.
      Returns:
        list of custom3 values.

    - #### getExtraFields

          java.util.Map<java.lang.String,​ContactField> getExtraFields()

      Contact extra fields
      Returns:
        Map object containing contact extra fields as ContactField with String key. Key values are in `ExtraFieldKeys` class.

    - #### isExtendedContactDetailsAvailable

          boolean isExtendedContactDetailsAvailable()

      Returns true if extended contact details are available.
      Returns:
        true if extended contact details are available.

    - #### canAddPhoneNumber

          boolean canAddPhoneNumber​(ContactPhoneNumberType contactPhoneNumberType)

      Returns true if addition of phone number of a specified type will not make contact invalid.
      Parameters:
        `contactPhoneNumberType` - type of phone number.
      Returns:
        true if addition of phone number of a given `ContactPhoneNumberType` is allowed.

    - #### canAddEmailAddress

          @Deprecated
          boolean canAddEmailAddress()

      Deprecated.
      THIS METHOD WILL BE REMOVED IN RELEASE VERSION 3.3.
      Returns true if addition of email address will not make contact invalid.
      Returns:
        true if addition of email address will not make contact invalid.

    - #### canAddEmailAddress

          boolean canAddEmailAddress​(ContactEmailAddressType contactEmailAddressType)

      Returns true if addition of email address of a specified type will not make contact invalid.
      Parameters:
        `contactEmailAddressType` - type of email address.
      Returns:
        true if addition of email address of a given `ContactEmailAddressType` is allowed.

    - #### canAddIMAddress

          boolean canAddIMAddress()

      Returns true if addition of IM address will not make contact invalid.
      Returns:
        true if addition of IM address will not make contact invalid.

    - #### isVideoCapable

          ContactBoolField isVideoCapable()

      Returns true if contact is video capable.
      Returns:
        true if Contact is video capable.