Class UserAttribute

java.lang.Object
com.launchdarkly.sdk.UserAttribute
All Implemented Interfaces:
JsonSerializable

public final class UserAttribute
extends java.lang.Object
implements JsonSerializable
Represents a built-in or custom attribute name supported by LDUser.

This abstraction helps to distinguish attribute names from other String values, and also improves efficiency in feature flag data structures and evaluations because built-in attributes always reuse the same instances.

For a fuller description of user attributes and how they can be referenced in feature flag rules, see the reference guides on Setting user attributes and Targeting users.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    static UserAttribute ANONYMOUS
    Represents the anonymous attribute.
    static UserAttribute AVATAR
    Represents the avatar URL attribute.
    static UserAttribute COUNTRY
    Represents the country attribute.
    static UserAttribute EMAIL
    Represents the user key attribute.
    static UserAttribute FIRST_NAME
    Represents the first name attribute.
    static UserAttribute IP
    Represents the IP address attribute.
    static UserAttribute KEY
    Represents the user key attribute.
    static UserAttribute LAST_NAME
    Represents the last name attribute.
    static UserAttribute NAME
    Represents the full name attribute.
    static UserAttribute SECONDARY_KEY
    Represents the secondary key attribute.
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(java.lang.Object other)  
    static UserAttribute forName​(java.lang.String name)
    Returns a UserAttribute instance for the specified attribute name.
    java.lang.String getName()
    Returns the case-sensitive attribute name.
    int hashCode()  
    boolean isBuiltIn()
    Returns true for a built-in attribute or false for a custom attribute.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Method Details

    • forName

      public static UserAttribute forName​(java.lang.String name)
      Returns a UserAttribute instance for the specified attribute name.

      For built-in attributes, the same instances are always reused and isBuiltIn() will return true. For custom attributes, a new instance is created and isBuiltIn() will return false.

      Parameters:
      name - the attribute name
      Returns:
      a UserAttribute
    • getName

      public java.lang.String getName()
      Returns the case-sensitive attribute name.
      Returns:
      the attribute name
    • isBuiltIn

      public boolean isBuiltIn()
      Returns true for a built-in attribute or false for a custom attribute.
      Returns:
      true if it is a built-in attribute
    • equals

      public boolean equals​(java.lang.Object other)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object