Class PyUser
- java.lang.Object
- 
- com.inductiveautomation.ignition.common.user.PyUser
 
- 
- All Implemented Interfaces:
- Countable,- Extendable<PropertySet>,- Mergable<PropertySet>,- MutablePropertyValueSource,- PropertySet,- PropertyValueSource,- User,- java.io.Serializable,- java.lang.Iterable<PropertyValue>
 
 public class PyUser extends java.lang.Object implements User A User implementation that delegates to another user object, but has some methods that are more scripting friendly.- See Also:
- Serialized Form
 
- 
- 
Field Summary- 
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySetEMPTY
 
- 
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddContactInfo(java.lang.String contactType, java.lang.String value)Convenience method for scripting to add a new contactInfo easily.voidaddContactInfo(org.python.core.PyDictionary contactDictionary)voidaddRole(java.lang.String role)Convenience method for scripting to add a new role easily.voidaddRoles(java.util.Collection<java.lang.String> roles)voidaddScheduleAdjustment(java.util.Date start, java.util.Date end, boolean available, java.lang.String note)Convenience method for scripting to add a new schedule adjustment easily.voidaddScheduleAdjustments(java.util.List<ScheduleAdjustment> scheduleAdjustments)booleancontains(Property<?> prop)<T> Tget(Property<T> prop)Retrieves the value of the property, or null if this set doesn't contain that property.java.lang.Objectget(java.lang.String propertyName)java.util.List<ContactInfo>getContactInfo()Returns all of the contact information for the userintgetCount()java.io.SerializablegetId()An opaque identifier that can be used to identify this user.<T> TgetOrDefault(Property<T> prop)<T> TgetOrElse(Property<T> property, T value)Get the value for a givenProperty, or else fall back to value if it's not present.QualifiedPathgetPath()Generate an path that unambiguously references this userjava.lang.StringgetProfileName()The name of the user management profile this user was retrieved from.java.util.Collection<Property<?>>getProperties()java.util.Collection<java.lang.String>getRoles()Returns all of the roles this user is a has.java.util.List<ScheduleAdjustment>getScheduleAdjustments()Returns all of this user's upcoming schedule adjustmentsjava.util.List<PropertyValue>getValues()Returns the opaque PropertyValue objects.booleanisExtended(Property<?> prop)Returns whether this property set contains a value for the prop, and the prop was actually inherited.booleanisInherited(Property<?> prop)Indicates whether the property was inherited from a parent type.java.util.Iterator<PropertyValue>iterator()voidmerge(PropertySet other, boolean localOnly)Merges the values from other collection into this one.voidremove(Property<?> prop)voidremoveContactInfo(java.lang.String contactType, java.lang.String value)voidremoveRole(java.lang.String role)voidremoveScheduleAdjustment(java.util.Date start, java.util.Date end, boolean available, java.lang.String note)<T> voidset(Property<T> prop, T value)voidset(PropertyValue propValue)voidset(java.lang.String propertyName, java.lang.Object propValue)voidsetContactInfo(java.util.List<ContactInfo> contactInfo)voidsetProfileName(java.lang.String newProfileName)Scripting functions allow adding and editing of users, and profile names may need to change.voidsetRoles(java.util.Collection<java.lang.String> roles)voidsetScheduleAdjustments(java.util.List<ScheduleAdjustment> scheduleAdjustments)java.lang.StringtoString()- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertySetextend, getExtension, newDefaultInstance, newExtension
 - 
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSourcegetNonNull, getNonNull
 
- 
 
- 
- 
- 
Constructor Detail- 
PyUserpublic PyUser(User user) 
 
- 
 - 
Method Detail- 
toStringpublic java.lang.String toString() - Overrides:
- toStringin class- java.lang.Object
 
 - 
getpublic java.lang.Object get(java.lang.String propertyName) 
 - 
containspublic boolean contains(Property<?> prop) - Specified by:
- containsin interface- PropertyValueSource
- Returns:
- True if the source contains a value for prop.
 
 - 
getOrDefaultpublic <T> T getOrDefault(Property<T> prop) - Specified by:
- getOrDefaultin interface- PropertyValueSource
- Returns:
- The value for prop or Property.getDefaultValue()if not present. Can return null if the value is null.
 
 - 
getpublic <T> T get(Property<T> prop) Description copied from interface:PropertyValueSourceRetrieves the value of the property, or null if this set doesn't contain that property.- Specified by:
- getin interface- PropertyValueSource
 
 - 
getOrElsepublic <T> T getOrElse(Property<T> property, T value) Description copied from interface:PropertyValueSourceGet the value for a givenProperty, or else fall back to value if it's not present.- Specified by:
- getOrElsein interface- PropertyValueSource
- Parameters:
- property- The- Propertyfor 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:
- iteratorin interface- java.lang.Iterable<PropertyValue>
 
 - 
setpublic <T> void set(Property<T> prop, T value) - Specified by:
- setin interface- MutablePropertyValueSource
 
 - 
setpublic void set(PropertyValue propValue) - Specified by:
- setin interface- MutablePropertyValueSource
 
 - 
setpublic void set(java.lang.String propertyName, java.lang.Object propValue)
 - 
removepublic void remove(Property<?> prop) - Specified by:
- removein interface- MutablePropertyValueSource
 
 - 
getPropertiespublic java.util.Collection<Property<?>> getProperties() - Specified by:
- getPropertiesin interface- PropertyValueSource
 
 - 
getValuespublic java.util.List<PropertyValue> getValues() Description copied from interface:PropertyValueSourceReturns 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:
- getValuesin interface- PropertyValueSource
 
 - 
isExtendedpublic boolean isExtended(Property<?> prop) Description copied from interface:PropertySetReturns 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:
- isExtendedin interface- PropertySet
 
 - 
isInheritedpublic boolean isInherited(Property<?> prop) Description copied from interface:PropertySetIndicates whether the property was inherited from a parent type.- Specified by:
- isInheritedin interface- PropertySet
 
 - 
mergepublic void merge(PropertySet other, boolean localOnly) Description copied from interface:MergableMerges the values from other collection into this one. Replaces any currently existing value with those from the other set.- Specified by:
- mergein interface- Mergable<PropertySet>
- Specified by:
- mergein interface- MutablePropertyValueSource
 
 - 
getProfileNamepublic java.lang.String getProfileName() Description copied from interface:UserThe name of the user management profile this user was retrieved from.- Specified by:
- getProfileNamein interface- User
 
 - 
setProfileNamepublic void setProfileName(@Nullable java.lang.String newProfileName)Description copied from interface:UserScripting functions allow adding and editing of users, and profile names may need to change.- Specified by:
- setProfileNamein interface- User
 
 - 
getIdpublic java.io.Serializable getId() Description copied from interface:UserAn opaque identifier that can be used to identify this user. Only valid (unique) within the context of the originating user profile
 - 
getRolespublic java.util.Collection<java.lang.String> getRoles() Description copied from interface:UserReturns all of the roles this user is a has. Not null.
 - 
addRolepublic 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.
 
 - 
addRolespublic void addRoles(java.util.Collection<java.lang.String> roles) 
 - 
removeRolepublic void removeRole(java.lang.String role) 
 - 
setRolespublic void setRoles(java.util.Collection<java.lang.String> roles) 
 - 
getContactInfopublic java.util.List<ContactInfo> getContactInfo() Description copied from interface:UserReturns all of the contact information for the user- Specified by:
- getContactInfoin interface- User
 
 - 
addContactInfopublic 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
 
 - 
addContactInfopublic void addContactInfo(org.python.core.PyDictionary contactDictionary) 
 - 
setContactInfopublic void setContactInfo(java.util.List<ContactInfo> contactInfo) 
 - 
removeContactInfopublic void removeContactInfo(java.lang.String contactType, java.lang.String value)
 - 
getScheduleAdjustmentspublic java.util.List<ScheduleAdjustment> getScheduleAdjustments() Description copied from interface:UserReturns all of this user's upcoming schedule adjustments- Specified by:
- getScheduleAdjustmentsin interface- User
 
 - 
addScheduleAdjustmentpublic 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.
 
 - 
addScheduleAdjustmentspublic void addScheduleAdjustments(java.util.List<ScheduleAdjustment> scheduleAdjustments) 
 - 
removeScheduleAdjustmentpublic void removeScheduleAdjustment(@Nonnull java.util.Date start, @Nonnull java.util.Date end, boolean available, @Nullable java.lang.String note)
 - 
setScheduleAdjustmentspublic void setScheduleAdjustments(java.util.List<ScheduleAdjustment> scheduleAdjustments) 
 - 
getPathpublic QualifiedPath getPath() Description copied from interface:UserGenerate an path that unambiguously references this user
 
- 
 
-