Class ModifyFeatureDesiredProperties

  • All Implemented Interfaces:
    org.eclipse.ditto.model.base.entity.type.WithEntityType, org.eclipse.ditto.model.base.headers.WithDittoHeaders<ModifyFeatureDesiredProperties>, org.eclipse.ditto.model.base.headers.WithManifest, org.eclipse.ditto.model.base.json.Jsonifiable<org.eclipse.ditto.json.JsonObject>, org.eclipse.ditto.model.base.json.Jsonifiable.WithPredicate<org.eclipse.ditto.json.JsonObject,​org.eclipse.ditto.json.JsonField>, org.eclipse.ditto.model.things.WithThingId, org.eclipse.ditto.signals.base.Signal<ModifyFeatureDesiredProperties>, org.eclipse.ditto.signals.base.WithFeatureId, org.eclipse.ditto.signals.base.WithId, org.eclipse.ditto.signals.base.WithName, org.eclipse.ditto.signals.base.WithOptionalEntity, org.eclipse.ditto.signals.base.WithResource, org.eclipse.ditto.signals.base.WithType, org.eclipse.ditto.signals.commands.base.Command<ModifyFeatureDesiredProperties>, ThingModifyCommand<ModifyFeatureDesiredProperties>, ThingCommand<ModifyFeatureDesiredProperties>

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

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

        org.eclipse.ditto.signals.commands.base.Command.Category, org.eclipse.ditto.signals.commands.base.Command.JsonFields
      • Nested classes/interfaces inherited from interface org.eclipse.ditto.model.base.json.Jsonifiable

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

      Fields 
      Modifier and Type Field Description
      static String NAME
      Name of the "Modify Feature Desired Properties" command.
      static String TYPE
      Type of this command.
      • Fields inherited from interface org.eclipse.ditto.signals.commands.base.Command

        TYPE_QUALIFIER
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void appendPayload​(org.eclipse.ditto.json.JsonObjectBuilder jsonObjectBuilder, org.eclipse.ditto.model.base.json.JsonSchemaVersion schemaVersion, Predicate<org.eclipse.ditto.json.JsonField> thePredicate)  
      protected boolean canEqual​(Object other)  
      boolean changesAuthorization()
      Checks whether this command may change authorization of the Thing.
      boolean equals​(Object o)  
      static ModifyFeatureDesiredProperties fromJson​(String jsonString, org.eclipse.ditto.model.base.headers.DittoHeaders dittoHeaders)
      Creates a new ModifyFeatureDesiredProperties from a JSON string.
      static ModifyFeatureDesiredProperties fromJson​(org.eclipse.ditto.json.JsonObject jsonObject, org.eclipse.ditto.model.base.headers.DittoHeaders dittoHeaders)
      Creates a new ModifyFeatureDesiredProperties from a JSON object.
      org.eclipse.ditto.signals.commands.base.Command.Category getCategory()  
      org.eclipse.ditto.model.things.FeatureProperties getDesiredProperties()
      Returns the desired properties to modify.
      Optional<org.eclipse.ditto.json.JsonValue> getEntity​(org.eclipse.ditto.model.base.json.JsonSchemaVersion schemaVersion)  
      String getFeatureId()  
      org.eclipse.ditto.json.JsonPointer getResourcePath()  
      org.eclipse.ditto.model.base.json.JsonSchemaVersion[] getSupportedSchemaVersions()
      ModifyFeatureDesiredProperties is only available in JsonSchemaVersion V_2.
      org.eclipse.ditto.model.things.ThingId getThingEntityId()  
      int hashCode()  
      static ModifyFeatureDesiredProperties of​(org.eclipse.ditto.model.things.ThingId thingId, CharSequence featureId, org.eclipse.ditto.model.things.FeatureProperties desiredProperties, org.eclipse.ditto.model.base.headers.DittoHeaders dittoHeaders)
      Returns a Command for modifying a Feature's desired properties on a Thing.
      ModifyFeatureDesiredProperties setDittoHeaders​(org.eclipse.ditto.model.base.headers.DittoHeaders dittoHeaders)  
      String toString()  
      • Methods inherited from class org.eclipse.ditto.signals.commands.base.AbstractCommand

        getDittoHeaders, getManifest, getType, toJson
      • Methods inherited from interface org.eclipse.ditto.signals.commands.base.Command

        getImplementedSchemaVersion, toJson, toJson
      • Methods inherited from interface org.eclipse.ditto.model.base.json.Jsonifiable

        getLatestSchemaVersion, implementsSchemaVersion, implementsSchemaVersion, toJsonString
      • Methods inherited from interface org.eclipse.ditto.model.base.json.Jsonifiable.WithPredicate

        toJson, toJsonString, toJsonString
      • Methods inherited from interface org.eclipse.ditto.signals.base.Signal

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

        getDittoHeaders
      • Methods inherited from interface org.eclipse.ditto.signals.base.WithId

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

        getManifest
      • Methods inherited from interface org.eclipse.ditto.signals.base.WithOptionalEntity

        getEntity
      • Methods inherited from interface org.eclipse.ditto.model.things.WithThingId

        getThingId
      • Methods inherited from interface org.eclipse.ditto.signals.base.WithType

        getType
    • Method Detail

      • of

        public static ModifyFeatureDesiredProperties of​(org.eclipse.ditto.model.things.ThingId thingId,
                                                        CharSequence featureId,
                                                        org.eclipse.ditto.model.things.FeatureProperties desiredProperties,
                                                        org.eclipse.ditto.model.base.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.model.base.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.
        org.eclipse.ditto.model.things.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.model.base.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.
        org.eclipse.ditto.model.things.ThingIdInvalidException - if the parsed thing ID did not comply to RegexPatterns.ID_REGEX.
      • getThingEntityId

        public org.eclipse.ditto.model.things.ThingId getThingEntityId()
        Specified by:
        getThingEntityId in interface org.eclipse.ditto.model.things.WithThingId
      • getDesiredProperties

        public org.eclipse.ditto.model.things.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.signals.base.WithFeatureId
      • getEntity

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

        public org.eclipse.ditto.model.base.json.JsonSchemaVersion[] getSupportedSchemaVersions()
        ModifyFeatureDesiredProperties is only available in JsonSchemaVersion V_2.
        Specified by:
        getSupportedSchemaVersions in interface org.eclipse.ditto.model.base.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.signals.base.WithResource
      • appendPayload

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

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

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