Class UserProfileInfo

java.lang.Object
com.iizix.user.UserProfileInfo

public class UserProfileInfo extends Object
Class holding the User Profile information, when signing in externally typically for an OAuth(2) authentication service provider, or when signing up internally (and externally).
  • Constructor Details

    • UserProfileInfo

      public UserProfileInfo(String id, String title, String fullName, String firstName, String middleName, String lastName, String email, Boolean isEmailVerified, String country, String language, ProfilePictureInfo[] images)
      Creates a new instance to store the light user profile information.
      Parameters:
      id - The OAuth(2) provider's user ID, generally specific for the requesting app, or the user name when this instance is used for internal login.
      title - The title, e.g. 'Baron, Princess, Dr.', null for none.
      fullName - The localized full name, null for none.
      firstName - The localized first name, null for none.
      lastName - The localized last name, null for none.
      email - The email address, null for none.
      isEmailVerified - Flag for email verified by authentication service provider, null for unknown state.
      country - The preferred country code, null for none.
      language - The preferred language code, null for none.
      images - An array of profile pictures, null for none.
      Throws:
      NullPointerException - If id is null.
  • Method Details

    • addDetail

      public void addDetail(String detail, String value)
      Adds additional details information. This method is not thread safe, and should not be called once the user profile has been passed as return value or parameter in the API.
      Parameters:
      detail - The IBasicUserInfoDetailNames detail string, e.g. IBasicUserInfoDetailNames.DETAIL_JobTitle.
      value - The value.
      Throws:
      NullPointerException - If the detail or value is null.
    • getDetails

      public Map<String,String> getDetails()
      Gets all details as an unmodifiable map. The keys are normally strings from IBasicUserInfoDetailNames with their values.
      Returns:
      The unmodifiable map of details and their values, or null for none.
    • getID

      public String getID()
      Gets the OAuth(2) provider's user ID, generally specific for the requesting app, or the user name when this instance is used for internal login.
      Returns:
      The user ID (or user name), never null.
    • getTitle

      public String getTitle()
      Gets the title, e.g. 'Baron, Princess, Dr.', null for none.
      Returns:
      The title.
    • getFullName

      public String getFullName()
      Gets the full name, null for none.
      Returns:
      The full name.
    • getFirstName

      public String getFirstName()
      The localized first name, null for none.
      Returns:
      The first name.
    • getMiddleName

      public String getMiddleName()
      Gets the localized middle name, null for none.
      Returns:
      The middle name.
    • getLastName

      public String getLastName()
      The localized last name, null for none.
      Returns:
      The last name.
    • getEmailAddress

      public String getEmailAddress()
      Gets the email adress, null for none.
      Returns:
      The email address.
    • isEmailVerified

      public Boolean isEmailVerified()
      Gets the flag for if the authentication service provider has verified the email address. This value is null if state is unknown.
      Returns:
      The email verified state, or null for unknown.
    • getCountry

      public String getCountry()
      The preferred country code, null for none.
      Returns:
      The country code.
    • getLanguage

      public String getLanguage()
      The preferred language code, null for none.
      Returns:
      The language code.
    • getProfilePictures

      public ProfilePictureInfo[] getProfilePictures()
      The list of profile pictures, null for none.
      Returns:
      The array of images, or null if there are none.
    • getProfilePicturesLargestFirst

      public ProfilePictureInfo[] getProfilePicturesLargestFirst()
      Gets the list of profile pictures, null for none. The array, if non-null, is sorted to get the largest images first. Images without size are always last.
      Returns:
      The sorted array of images, or null if there are none.
    • hashCode

      public int hashCode()
      Gets the hash code of this instance.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code.
    • equals

      public boolean equals(Object obj)
      Checks if two objects are equal.
      Overrides:
      equals in class Object
      Parameters:
      obj - The other object to compare with.
      Returns:
      The equality flag.
    • toString

      public String toString()
      Gets a String.
      Overrides:
      toString in class Object
      Returns:
      The string.
    • close

      public void close()
      Closes a potentially open input stream of the image data in any of the ProfilePictureInfo instances.