Class TaskProperty

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class TaskProperty
    extends java.lang.Object
    implements java.io.Serializable
    This class provides information about a property that may be used to schedule a task.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

    Elements of a task property include:
    • The name of the LDAP attribute used to store values for this property.
    • A user-friendly display name for the property.
    • A user-friendly description for the property.
    • The expected data type for values of the property.
    • An optional set of allowed values for the property. If this is defined, then the property will not be allowed to have any value that is not included in this set.
    • A flag that indicates whether the property is required when scheduling the corresponding type of task.
    • A flag that indicates whether the property is allowed to have multiple values.
    • A flag that indicates whether the property should be considered advanced and therefore may be hidden from users if a simplified interface is to be presented.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      TaskProperty​(java.lang.String attributeName, java.lang.String displayName, java.lang.String description, java.lang.Class<?> dataType, boolean required, boolean multiValued, boolean advanced)
      Creates a new task property with the provided information.
      TaskProperty​(java.lang.String attributeName, java.lang.String displayName, java.lang.String description, java.lang.Class<?> dataType, boolean required, boolean multiValued, boolean advanced, java.lang.Object[] allowedValues)
      Creates a new task property with the provided information.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object[] getAllowedValues()
      Retrieves the set of values that may be used for this task property.
      java.lang.String getAttributeName()
      Retrieves the name of the LDAP attribute associated with this task property.
      java.lang.Class<?> getDataType()
      Retrieves the data type for this task property, which represents the expected data type for the value(s) of this property.
      java.lang.String getDescription()
      Retrieves the human-readable description for this task property.
      java.lang.String getDisplayName()
      Retrieves the human-readable display name for this task property.
      boolean isAdvanced()
      Indicates whether this task property is considered advanced.
      boolean isMultiValued()
      Indicates whether this task property is allowed to have multiple values.
      boolean isRequired()
      Indicates whether this task property is required to be provided in order to schedule a task.
      java.lang.String toString()
      Retrieves a string representation of this task property.
      void toString​(java.lang.StringBuilder buffer)
      Appends a string representation of this task property to the provided buffer.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TaskProperty

        public TaskProperty​(@NotNull
                            java.lang.String attributeName,
                            @NotNull
                            java.lang.String displayName,
                            @NotNull
                            java.lang.String description,
                            @NotNull
                            java.lang.Class<?> dataType,
                            boolean required,
                            boolean multiValued,
                            boolean advanced)
        Creates a new task property with the provided information.
        Parameters:
        attributeName - The name of the LDAP attribute associated with this task property. It must not be null.
        displayName - The human-readable display name for this task property. It must not be null.
        description - The human-readable description for this task property. It must not be null.
        dataType - A class representing the data type for this property. Allowed data type classes include: Boolean, Date, Long, and String. It must not be null.
        required - Indicates whether this property must be provided when scheduling a task.
        multiValued - Indicates whether this property is allowed to have multiple values.
        advanced - Indicates whether this property may be considered advanced and doesn't necessarily need to be presented to the user. Advanced properties must not be required.
      • TaskProperty

        public TaskProperty​(@NotNull
                            java.lang.String attributeName,
                            @NotNull
                            java.lang.String displayName,
                            @NotNull
                            java.lang.String description,
                            @NotNull
                            java.lang.Class<?> dataType,
                            boolean required,
                            boolean multiValued,
                            boolean advanced,
                            @Nullable
                            java.lang.Object[] allowedValues)
        Creates a new task property with the provided information.
        Parameters:
        attributeName - The name of the LDAP attribute associated with this task property. It must not be null.
        displayName - The human-readable display name for this task property. It must not be null.
        description - The human-readable description for this task property. It must not be null.
        dataType - A class representing the data type for this property. Allowed data type classes include: Boolean, Date, Long, and String. It must not be null.
        required - Indicates whether this property must be provided when scheduling a task.
        multiValued - Indicates whether this property is allowed to have multiple values.
        advanced - Indicates whether this property may be considered advanced and doesn't necessarily need to be presented to the user. Advanced properties must not be required.
        allowedValues - The set of allowed values for this task property. It may be null if there is not a predefined set of acceptable values. If it is provided, then all values must be objects of the class specified as the data type.
    • Method Detail

      • getAttributeName

        @NotNull
        public java.lang.String getAttributeName()
        Retrieves the name of the LDAP attribute associated with this task property.
        Returns:
        The name of the LDAP attribute associated with this task property.
      • getDisplayName

        @NotNull
        public java.lang.String getDisplayName()
        Retrieves the human-readable display name for this task property.
        Returns:
        The human-readable display name for this task property.
      • getDescription

        @NotNull
        public java.lang.String getDescription()
        Retrieves the human-readable description for this task property.
        Returns:
        The human-readable description for this task property.
      • getDataType

        @NotNull
        public java.lang.Class<?> getDataType()
        Retrieves the data type for this task property, which represents the expected data type for the value(s) of this property. Supported data types include Boolean, Date, Long, and String.
        Returns:
        The data type for this task property.
      • isRequired

        public boolean isRequired()
        Indicates whether this task property is required to be provided in order to schedule a task.
        Returns:
        true if this task property is required, or false if it is not.
      • isMultiValued

        public boolean isMultiValued()
        Indicates whether this task property is allowed to have multiple values.
        Returns:
        true if this task property is allowed to have multiple values, or false if it may only have a single value.
      • isAdvanced

        public boolean isAdvanced()
        Indicates whether this task property is considered advanced. Advanced properties are not necessarily required to schedule the task and may be hidden from the user if simplicity is desired over flexibility.
        Returns:
        true if this task property is considered advanced, or false if not.
      • getAllowedValues

        @Nullable
        public java.lang.Object[] getAllowedValues()
        Retrieves the set of values that may be used for this task property.
        Returns:
        The set of values that may be used for this task property, or null if there is not a predefined set of allowed values.
      • toString

        @NotNull
        public java.lang.String toString()
        Retrieves a string representation of this task property.
        Overrides:
        toString in class java.lang.Object
        Returns:
        A string representation of this task property.
      • toString

        public void toString​(@NotNull
                             java.lang.StringBuilder buffer)
        Appends a string representation of this task property to the provided buffer.
        Parameters:
        buffer - The buffer to which the string representation should be appended.