Class ModifiableContextValue

java.lang.Object
io.dialob.api.questionnaire.ModifiableContextValue
All Implemented Interfaces:
ContextValue, Serializable

@ParametersAreNonnullByDefault @Generated({"Modifiables.generator","ContextValue"}) @NotThreadSafe public final class ModifiableContextValue extends Object implements ContextValue
A modifiable implementation of the ContextValue type.

Use the create() static factory methods to create new instances. Use the toImmutable() method to convert to canonical immutable instances.

ModifiableContextValue is not thread-safe

See Also:
  • Method Details

    • create

      public static ModifiableContextValue create(String id, Object value)
      Construct a modifiable instance of ContextValue.
      Parameters:
      id - The value for the id attribute (can be null)
      value - The value for the value attribute (can be null)
      Returns:
      A new modifiable instance
    • create

      public static ModifiableContextValue create()
      Construct a modifiable instance of ContextValue.
      Returns:
      A new modifiable instance
    • getId

      public final String getId()
      Specified by:
      getId in interface ContextValue
      Returns:
      value of id attribute, may be null
    • getValue

      public final Object getValue()
      Specified by:
      getValue in interface ContextValue
      Returns:
      value of value attribute, may be null
    • clear

      public ModifiableContextValue clear()
      Clears the object by setting all attributes to their initial values.
      Returns:
      this for use in a chained invocation
    • from

      public ModifiableContextValue from(ContextValue instance)
      Fill this modifiable instance with attribute values from the provided ContextValue instance. Regular attribute values will be overridden, i.e. replaced with ones of an instance. Any of the instance's absent optional values will not be copied (will not override current values).
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this for use in a chained invocation
    • from

      Fill this modifiable instance with attribute values from the provided ContextValue instance. Regular attribute values will be overridden, i.e. replaced with ones of an instance. Any of the instance's absent optional values will not be copied (will not override current values).
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this for use in a chained invocation
    • setId

      public ModifiableContextValue setId(String id)
      Assigns a value to the id attribute.
      Parameters:
      id - The value for id, can be null
      Returns:
      this for use in a chained invocation
    • setValue

      public ModifiableContextValue setValue(Object value)
      Assigns a value to the value attribute.
      Parameters:
      value - The value for value, can be null
      Returns:
      this for use in a chained invocation
    • isInitialized

      public final boolean isInitialized()
      Returns true if all required attributes are set, indicating that the object is initialized.
      Returns:
      true if set
    • toImmutable

      public final ImmutableContextValue toImmutable()
      Returns:
      An immutable instance of ContextValue
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ModifiableContextValue that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: id, value.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Generates a string representation of this ContextValue. If uninitialized, some attribute values may appear as question marks.
      Overrides:
      toString in class Object
      Returns:
      A string representation