Class ModifyFeatureDesiredProperties

java.lang.Object
org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>
org.eclipse.ditto.things.model.signals.commands.modify.ModifyFeatureDesiredProperties
All Implemented Interfaces:
org.eclipse.ditto.base.model.entity.id.WithEntityId, org.eclipse.ditto.base.model.entity.type.WithEntityType, org.eclipse.ditto.base.model.headers.DittoHeadersSettable<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.headers.WithDittoHeaders, org.eclipse.ditto.base.model.headers.WithManifest, org.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonObject>, org.eclipse.ditto.base.model.json.Jsonifiable.WithPredicate<org.eclipse.ditto.json.JsonObject,org.eclipse.ditto.json.JsonField>, org.eclipse.ditto.base.model.signals.commands.Command<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.signals.Signal<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.signals.SignalWithEntityId<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.signals.WithFeatureId, org.eclipse.ditto.base.model.signals.WithName, org.eclipse.ditto.base.model.signals.WithOptionalEntity<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.signals.WithResource, org.eclipse.ditto.base.model.signals.WithType, ThingModifyCommand<ModifyFeatureDesiredProperties>, ThingCommand<ModifyFeatureDesiredProperties>, WithThingId

@Immutable public final class ModifyFeatureDesiredProperties extends org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties> implements ThingModifyCommand<ModifyFeatureDesiredProperties>, org.eclipse.ditto.base.model.signals.WithFeatureId
This command modifies a Feature's properties.
Since:
1.5.0
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.eclipse.ditto.base.model.signals.commands.Command

    org.eclipse.ditto.base.model.signals.commands.Command.Category, org.eclipse.ditto.base.model.signals.commands.Command.JsonFields

    Nested classes/interfaces inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable

    org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelector, org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelectorAndPredicate<T extends Object>, org.eclipse.ditto.base.model.json.Jsonifiable.WithPointer<J extends org.eclipse.ditto.json.JsonValue>, org.eclipse.ditto.base.model.json.Jsonifiable.WithPredicate<J extends org.eclipse.ditto.json.JsonValue,T extends Object>

    Nested classes/interfaces inherited from interface org.eclipse.ditto.things.model.signals.commands.ThingCommand

    ThingCommand.JsonFields
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Name of the "Modify Feature Desired Properties" command.
    static final String
    Type of this command.

    Fields inherited from interface org.eclipse.ditto.base.model.signals.commands.Command

    TYPE_QUALIFIER

    Fields inherited from interface org.eclipse.ditto.base.model.signals.Signal

    CHANNEL_LIVE, CHANNEL_TWIN

    Fields inherited from interface org.eclipse.ditto.things.model.signals.commands.ThingCommand

    RESOURCE_TYPE, TYPE_PREFIX

    Fields inherited from interface org.eclipse.ditto.base.model.signals.WithType

    MESSAGES_COMMAND_RESPONSES_PREFIX, MESSAGES_COMMANDS_PREFIX, POLICY_ANNOUNCEMENT_PREFIX, THINGS_COMMAND_RESPONSES_PREFIX, THINGS_COMMANDS_PREFIX, THINGS_EVENTS_PREFIX
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    appendPayload(org.eclipse.ditto.json.JsonObjectBuilder jsonObjectBuilder, org.eclipse.ditto.base.model.json.JsonSchemaVersion schemaVersion, Predicate<org.eclipse.ditto.json.JsonField> thePredicate)
     
    protected boolean
     
    boolean
    Checks whether this command may change authorization of the Thing.
    boolean
     
    fromJson(String jsonString, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
    Creates a new ModifyFeatureDesiredProperties from a JSON string.
    fromJson(org.eclipse.ditto.json.JsonObject jsonObject, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
    Creates a new ModifyFeatureDesiredProperties from a JSON object.
    org.eclipse.ditto.base.model.signals.commands.Command.Category
     
    Returns the desired properties to modify.
    Optional<org.eclipse.ditto.json.JsonValue>
    getEntity(org.eclipse.ditto.base.model.json.JsonSchemaVersion schemaVersion)
     
     
     
    org.eclipse.ditto.json.JsonPointer
     
    org.eclipse.ditto.base.model.json.JsonSchemaVersion[]
    ModifyFeatureDesiredProperties is only available in JsonSchemaVersion V_2.
    int
     
    of(ThingId thingId, CharSequence featureId, FeatureProperties desiredProperties, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
    Returns a Command for modifying a Feature's desired properties on a Thing.
    setDittoHeaders(org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
     
    setEntity(org.eclipse.ditto.json.JsonValue entity)
     
     

    Methods inherited from class org.eclipse.ditto.base.model.signals.commands.AbstractCommand

    getDittoHeaders, getManifest, getType, toJson

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.ditto.base.model.signals.commands.Command

    getImplementedSchemaVersion, toJson, toJson

    Methods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable

    getLatestSchemaVersion, implementsSchemaVersion, implementsSchemaVersion, toJsonString

    Methods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable.WithPredicate

    toJson, toJsonString, toJsonString

    Methods inherited from interface org.eclipse.ditto.base.model.signals.Signal

    getName

    Methods inherited from interface org.eclipse.ditto.things.model.signals.commands.ThingCommand

    getEntityType, getResourceType, getTypePrefix

    Methods inherited from interface org.eclipse.ditto.base.model.headers.WithDittoHeaders

    getDittoHeaders

    Methods inherited from interface org.eclipse.ditto.base.model.headers.WithManifest

    getManifest

    Methods inherited from interface org.eclipse.ditto.base.model.signals.WithOptionalEntity

    getEntity

    Methods inherited from interface org.eclipse.ditto.base.model.signals.WithType

    getType
  • Field Details

  • Method Details

    • of

      public static ModifyFeatureDesiredProperties of(ThingId thingId, CharSequence featureId, FeatureProperties desiredProperties, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
      Returns a Command for modifying a Feature's desired properties on a Thing.
      Parameters:
      thingId - the Thing's ID whose Feature's desired properties to modify.
      featureId - the Feature's ID whose desired properties to modify.
      desiredProperties - the desired properties to modify.
      dittoHeaders - the headers of the command.
      Returns:
      a Command for modifying the provided desired properties.
      Throws:
      NullPointerException - if any argument but thingId is null.
    • fromJson

      public static ModifyFeatureDesiredProperties fromJson(String jsonString, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
      Creates a new ModifyFeatureDesiredProperties from a JSON string.
      Parameters:
      jsonString - the JSON string of which the command is to be created.
      dittoHeaders - the headers of the command.
      Returns:
      the command.
      Throws:
      NullPointerException - if any argument is null.
      IllegalArgumentException - if jsonString is empty.
      org.eclipse.ditto.json.JsonParseException - if the passed in jsonString was not in the expected format.
      ThingIdInvalidException - if the parsed thing ID did not comply to RegexPatterns.ID_REGEX.
    • fromJson

      public static ModifyFeatureDesiredProperties fromJson(org.eclipse.ditto.json.JsonObject jsonObject, org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
      Creates a new ModifyFeatureDesiredProperties from a JSON object.
      Parameters:
      jsonObject - the JSON object of which the command is to be created.
      dittoHeaders - the headers of the command.
      Returns:
      the command.
      Throws:
      NullPointerException - if any argument is null.
      org.eclipse.ditto.json.JsonParseException - if the passed in jsonObject was not in the expected format.
      ThingIdInvalidException - if the parsed thing ID did not comply to RegexPatterns.ID_REGEX.
    • getEntityId

      public ThingId getEntityId()
      Specified by:
      getEntityId in interface org.eclipse.ditto.base.model.entity.id.WithEntityId
      Specified by:
      getEntityId in interface WithThingId
    • getDesiredProperties

      public FeatureProperties getDesiredProperties()
      Returns the desired properties to modify.
      Returns:
      the desired properties to modify.
    • getFeatureId

      public String getFeatureId()
      Specified by:
      getFeatureId in interface org.eclipse.ditto.base.model.signals.WithFeatureId
    • getEntity

      public Optional<org.eclipse.ditto.json.JsonValue> getEntity(org.eclipse.ditto.base.model.json.JsonSchemaVersion schemaVersion)
      Specified by:
      getEntity in interface org.eclipse.ditto.base.model.signals.WithOptionalEntity<ModifyFeatureDesiredProperties>
    • setEntity

      public ModifyFeatureDesiredProperties setEntity(org.eclipse.ditto.json.JsonValue entity)
      Specified by:
      setEntity in interface org.eclipse.ditto.base.model.signals.WithOptionalEntity<ModifyFeatureDesiredProperties>
    • getSupportedSchemaVersions

      public org.eclipse.ditto.base.model.json.JsonSchemaVersion[] getSupportedSchemaVersions()
      ModifyFeatureDesiredProperties is only available in JsonSchemaVersion V_2.
      Specified by:
      getSupportedSchemaVersions in interface org.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonObject>
      Returns:
      the supported JsonSchemaVersions.
    • getResourcePath

      public org.eclipse.ditto.json.JsonPointer getResourcePath()
      Specified by:
      getResourcePath in interface org.eclipse.ditto.base.model.signals.WithResource
    • appendPayload

      protected void appendPayload(org.eclipse.ditto.json.JsonObjectBuilder jsonObjectBuilder, org.eclipse.ditto.base.model.json.JsonSchemaVersion schemaVersion, Predicate<org.eclipse.ditto.json.JsonField> thePredicate)
      Specified by:
      appendPayload in class org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>
    • getCategory

      public org.eclipse.ditto.base.model.signals.commands.Command.Category getCategory()
      Specified by:
      getCategory in interface org.eclipse.ditto.base.model.signals.commands.Command<ModifyFeatureDesiredProperties>
    • setDittoHeaders

      public ModifyFeatureDesiredProperties setDittoHeaders(org.eclipse.ditto.base.model.headers.DittoHeaders dittoHeaders)
      Specified by:
      setDittoHeaders in interface org.eclipse.ditto.base.model.signals.commands.Command<ModifyFeatureDesiredProperties>
      Specified by:
      setDittoHeaders in interface org.eclipse.ditto.base.model.headers.DittoHeadersSettable<ModifyFeatureDesiredProperties>
      Specified by:
      setDittoHeaders in interface ThingCommand<ModifyFeatureDesiredProperties>
      Specified by:
      setDittoHeaders in interface ThingModifyCommand<ModifyFeatureDesiredProperties>
    • changesAuthorization

      public boolean changesAuthorization()
      Description copied from interface: ThingModifyCommand
      Checks whether this command may change authorization of the Thing.
      Specified by:
      changesAuthorization in interface ThingModifyCommand<ModifyFeatureDesiredProperties>
      Returns:
      true if authorization would change, false otherwise.
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>
    • canEqual

      protected boolean canEqual(@Nullable Object other)
      Overrides:
      canEqual in class org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>
    • toString

      public String toString()
      Overrides:
      toString in class org.eclipse.ditto.base.model.signals.commands.AbstractCommand<ModifyFeatureDesiredProperties>