Class PyUser

    • Constructor Detail

      • PyUser

        public PyUser​(User user)
    • Method Detail

      • toString

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

        public java.lang.Object get​(java.lang.String propertyName)
      • getOrElse

        public <T> T getOrElse​(Property<T> property,
                               T value)
        Description copied from interface: PropertyValueSource
        Get the value for a given Property, or else fall back to value if it's not present.
        Specified by:
        getOrElse in interface PropertyValueSource
        Parameters:
        property - The Property for which a value is to be retrieved.
        value - The value to default to if property isn't present.
        Returns:
        The value of property if present, value if not. Can return null if the value is null.
      • iterator

        @Nonnull
        public java.util.Iterator<PropertyValue> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<PropertyValue>
      • set

        public void set​(java.lang.String propertyName,
                        java.lang.Object propValue)
      • getValues

        public java.util.List<PropertyValue> getValues()
        Description copied from interface: PropertyValueSource
        Returns the opaque PropertyValue objects. This can be useful when you want to avoid the strict type checking of the value, and it's important to note that if the property is bound, the value will be a BoundValue. Be very careful about overriding, and make sure to maintain the methodology of using getProperties to iterate and get (or getOrDefault), to get the value, because those are all handled differently by BoundPropertySets, ExtendedPropertySets, etc.
        Specified by:
        getValues in interface PropertyValueSource
      • isExtended

        public boolean isExtended​(Property<?> prop)
        Description copied from interface: PropertySet
        Returns whether this property set contains a value for the prop, and the prop was actually inherited. In other words, this is true if the property is inherited, and an override value is present.
        Specified by:
        isExtended in interface PropertySet
      • isInherited

        public boolean isInherited​(Property<?> prop)
        Description copied from interface: PropertySet
        Indicates whether the property was inherited from a parent type.
        Specified by:
        isInherited in interface PropertySet
      • getProfileName

        public java.lang.String getProfileName()
        Description copied from interface: User
        The name of the user management profile this user was retrieved from.
        Specified by:
        getProfileName in interface User
      • getId

        public java.io.Serializable getId()
        Description copied from interface: User
        An opaque identifier that can be used to identify this user. Only valid (unique) within the context of the originating user profile
        Specified by:
        getId in interface User
      • getRoles

        public java.util.Collection<java.lang.String> getRoles()
        Description copied from interface: User
        Returns all of the roles this user is a has. Not null.
        Specified by:
        getRoles in interface User
      • addRole

        public void addRole​(java.lang.String role)
        Convenience method for scripting to add a new role easily. Only works if user type supports roles.
        Parameters:
        role - A new role to add. If empty or null, no effect.
      • addRoles

        public void addRoles​(java.util.Collection<java.lang.String> roles)
      • removeRole

        public void removeRole​(java.lang.String role)
      • setRoles

        public void setRoles​(java.util.Collection<java.lang.String> roles)
      • getContactInfo

        public java.util.List<ContactInfo> getContactInfo()
        Description copied from interface: User
        Returns all of the contact information for the user
        Specified by:
        getContactInfo in interface User
      • addContactInfo

        public void addContactInfo​(java.lang.String contactType,
                                   java.lang.String value)
        Convenience method for scripting to add a new contactInfo easily. Does not check for duplicates.
        Parameters:
        contactType - The contact type. This string should match the "contactType" field of a known ContactType
        value - The actual contact information. For example, phone number or email address
      • addContactInfo

        public void addContactInfo​(org.python.core.PyDictionary contactDictionary)
      • setContactInfo

        public void setContactInfo​(java.util.List<ContactInfo> contactInfo)
      • removeContactInfo

        public void removeContactInfo​(java.lang.String contactType,
                                      java.lang.String value)
      • getScheduleAdjustments

        public java.util.List<ScheduleAdjustment> getScheduleAdjustments()
        Description copied from interface: User
        Returns all of this user's upcoming schedule adjustments
        Specified by:
        getScheduleAdjustments in interface User
      • addScheduleAdjustment

        public void addScheduleAdjustment​(@Nonnull
                                          java.util.Date start,
                                          @Nonnull
                                          java.util.Date end,
                                          boolean available,
                                          @Nullable
                                          java.lang.String note)
        Convenience method for scripting to add a new schedule adjustment easily. Does not check for duplicates.
        Parameters:
        start - Date to start the schedule adjustment. Not null.
        end - Date to end start the schedule adjustment. Not null.
        available - True if the employee is available during this period
        note - May be null or empty.
      • addScheduleAdjustments

        public void addScheduleAdjustments​(java.util.List<ScheduleAdjustment> scheduleAdjustments)
      • removeScheduleAdjustment

        public void removeScheduleAdjustment​(@Nonnull
                                             java.util.Date start,
                                             @Nonnull
                                             java.util.Date end,
                                             boolean available,
                                             @Nullable
                                             java.lang.String note)
      • setScheduleAdjustments

        public void setScheduleAdjustments​(java.util.List<ScheduleAdjustment> scheduleAdjustments)
      • getPath

        public QualifiedPath getPath()
        Description copied from interface: User
        Generate an path that unambiguously references this user
        Specified by:
        getPath in interface User