Package org.eclipse.ditto.things.model
Interface Thing
- All Superinterfaces:
org.eclipse.ditto.base.model.entity.Entity<ThingRevision>,org.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonObject>,org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelector,org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelectorAndPredicate<org.eclipse.ditto.json.JsonField>,org.eclipse.ditto.base.model.json.Jsonifiable.WithPointer<org.eclipse.ditto.json.JsonObject>,org.eclipse.ditto.base.model.json.Jsonifiable.WithPredicate<org.eclipse.ditto.json.JsonObject,org.eclipse.ditto.json.JsonField>
A generic entity which can be used as a "handle" for multiple
Features belonging to this Thing. A Thing can
be for example:
- a physical device like a lawn mower, a sensor, a vehicle or a lamp;
- a virtual device like a room in a house, a virtual power plant spanning multiple power plants, the weather information for a specific location collected by various sensors;
- a transactional entity like a tour of a vehicle (from start until stop) or a series of measurements of a machine;
- a master data entity like a supplier of devices or a service provider for devices or an entity representing a city/region;
- anything else – if it can be modeled and managed appropriately by the supported concepts/capabilities of Ditto.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classAn enumeration of the knownJsonFields of a Thing.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> -
Method Summary
Modifier and TypeMethodDescriptionReturns the attributes of this Thing.Gets the definition of this Thing.Returns the Features of this Thing.default org.eclipse.ditto.base.model.json.JsonSchemaVersionReturns the current lifecycle of this Thing.Returns the namespace this Thing was created in.Optional<org.eclipse.ditto.policies.model.PolicyId>Returns the Policy ID of this Thing.default booleanhasLifecycle(ThingLifecycle lifecycle) Indicates whether this Thing has the given lifecycle.static ThingBuilder.FromScratchReturns a mutable builder with a fluent API for an immutableThingfrom scratch.default ThingremoveAttribute(CharSequence attributePath) Removes the attribute at the given path from a copy of this Thing.removeAttribute(org.eclipse.ditto.json.JsonPointer attributePath) Removes the attribute at the given path from a copy of this Thing.Removes all attributes from a copy of this Thing.Removes the Thing's definition on a copy of this Thing.removeFeature(String featureId) Removes the Feature with the specified ID from a copy of this Thing.removeFeatureDefinition(String featureId) Removes the definition from the Feature of this thing with the specified feature ID.removeFeatureDesiredProperties(CharSequence featureId) Removes all desired properties from the given Feature on a copy of this Thing.default ThingremoveFeatureDesiredProperty(CharSequence featureId, CharSequence propertyPath) Removes the given desired property from a Feature on a copy of this Thing.removeFeatureDesiredProperty(CharSequence featureId, org.eclipse.ditto.json.JsonPointer propertyPath) Removes the given desired property from a Feature on a copy of this Thing.removeFeatureProperties(String featureId) Removes all properties from the given Feature on a copy of this Thing.default ThingremoveFeatureProperty(String featureId, CharSequence propertyPath) Removes the given property from a Feature on a copy of this Thing.removeFeatureProperty(String featureId, org.eclipse.ditto.json.JsonPointer propertyPath) Removes the given property from a Feature on a copy of this Thing.Removes all Features from a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, boolean attributeValue) Sets the given attribute on a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, double attributeValue) Sets the given attribute on a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, int attributeValue) Sets the given attribute on a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, long attributeValue) Sets the given attribute on a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, String attributeValue) Sets the given attribute on a copy of this Thing.default ThingsetAttribute(CharSequence attributePath, org.eclipse.ditto.json.JsonValue attributeValue) Sets the given attribute on a copy of this Thing.setAttribute(org.eclipse.ditto.json.JsonPointer attributePath, org.eclipse.ditto.json.JsonValue attributeValue) Sets the given attribute on a copy of this Thing.setAttributes(Attributes attributes) Sets the attributes on a copy of this Thing.setDefinition(CharSequence definitionIdentifier) Sets the definition on a copy of this Thing.setFeature(Feature feature) Sets the given Feature to a copy of this Thing.setFeatureDefinition(String featureId, FeatureDefinition definition) Sets the given definition of a Feature on a copy of this Thing.setFeatureDesiredProperties(CharSequence featureId, FeatureProperties desiredProperties) Sets the given desired properties of a Feature on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, boolean desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, double desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, int desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, long desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, String desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, org.eclipse.ditto.json.JsonValue desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.setFeatureDesiredProperty(CharSequence featureId, org.eclipse.ditto.json.JsonPointer desiredPropertyPath, org.eclipse.ditto.json.JsonValue desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.setFeatureProperties(String featureId, FeatureProperties properties) Sets the given properties of a Feature on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, boolean propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, double propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, int propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, long propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, String propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.default ThingsetFeatureProperty(String featureId, CharSequence propertyPath, org.eclipse.ditto.json.JsonValue propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.setFeatureProperty(String featureId, org.eclipse.ditto.json.JsonPointer propertyPath, org.eclipse.ditto.json.JsonValue propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.setFeatures(Features features) Sets the given Features to a copy of this Thing.setLifecycle(ThingLifecycle newLifecycle) Sets the given lifecycle to a copy of this Thing.setPolicyId(org.eclipse.ditto.policies.model.PolicyId policyId) Sets the given Policy ID on a copy of this Thing.default ThingBuilder.FromCopyReturns a mutable builder with a fluent API for immutableThing.Methods inherited from interface org.eclipse.ditto.base.model.entity.Entity
getCreated, getMetadata, getModified, getRevision, isDeleted, toJson, toJsonMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable
getLatestSchemaVersion, getSupportedSchemaVersions, implementsSchemaVersion, implementsSchemaVersion, toJsonStringMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelector
toJson, toJson, toJson, toJsonString, toJsonStringMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable.WithFieldSelectorAndPredicate
toJson, toJson, toJsonString, toJsonStringMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable.WithPointer
toJsonString, toJsonStringMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable.WithPredicate
toJson, toJson, toJsonString, toJsonString
-
Method Details
-
newBuilder
Returns a mutable builder with a fluent API for an immutableThingfrom scratch.- Returns:
- the new builder.
-
toBuilder
Returns a mutable builder with a fluent API for immutableThing. The builder is initialised with the entries of this instance.- Returns:
- the new builder.
-
getImplementedSchemaVersion
default org.eclipse.ditto.base.model.json.JsonSchemaVersion getImplementedSchemaVersion()- Specified by:
getImplementedSchemaVersionin interfaceorg.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonObject>
-
getNamespace
Returns the namespace this Thing was created in. The namespace is derived from the ID of this Thing.- Returns:
- the namespace this Thing was created in.
-
getAttributes
Optional<Attributes> getAttributes()Returns the attributes of this Thing.- Returns:
- the attributes of this Thing.
-
setAttributes
Sets the attributes on a copy of this Thing.- Parameters:
attributes- the attributes.- Returns:
- a copy of this Thing with the given attributes.
-
removeAttributes
Thing removeAttributes()Removes all attributes from a copy of this Thing.- Returns:
- a copy of this Thing with all of its attributes removed.
-
getEntityId
- Specified by:
getEntityIdin interfaceorg.eclipse.ditto.base.model.entity.Entity<ThingRevision>
-
setAttribute
default Thing setAttribute(CharSequence attributePath, org.eclipse.ditto.json.JsonValue attributeValue) Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
setAttribute
Thing setAttribute(org.eclipse.ditto.json.JsonPointer attributePath, org.eclipse.ditto.json.JsonValue attributeValue) Sets the given attribute on a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute value.attributeValue- the attribute value to be set.- Returns:
- a copy of this Thing with the given attribute.
- Throws:
NullPointerException- if any argument isnull.IllegalArgumentException- ifattributePathis empty.
-
removeAttribute
Removes the attribute at the given path from a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute to be removed.- Returns:
- a copy of this Thing without the removed attribute.
- Throws:
NullPointerException- ifpointerisnull.IllegalArgumentException- ifpointeris empty.
-
removeAttribute
Removes the attribute at the given path from a copy of this Thing.- Parameters:
attributePath- the hierarchical path to the attribute to be removed.- Returns:
- a copy of this Thing without the removed attribute.
- Throws:
NullPointerException- ifpointerisnull.IllegalArgumentException- ifpointeris empty.
-
getDefinition
Optional<ThingDefinition> getDefinition()Gets the definition of this Thing.- Returns:
- the Definition of this Thing.
-
setDefinition
Sets the definition on a copy of this Thing.- Parameters:
definitionIdentifier- the Thing's definition to set.- Returns:
- a copy of this Thing with the given definition.
- Throws:
DefinitionIdentifierInvalidException- ifdefinitionIdentifieris invalid.
-
removeDefinition
Thing removeDefinition()Removes the Thing's definition on a copy of this Thing.- Returns:
- a copy of this Thing without definition.
-
setFeatureDefinition
Sets the given definition of a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.definition- the definition to be set.- Returns:
- a copy of this Thing with the Feature containing the given definition.
- Throws:
NullPointerException- iffeatureIdisnull.
-
removeFeatureDefinition
Removes the definition from the Feature of this thing with the specified feature ID.- Parameters:
featureId- the identifier of the Feature to delete the definition from.- Returns:
- a copy of this Thing with the Feature without definition.
- Throws:
NullPointerException- iffeatureIdisnull.
-
setFeatureProperties
Sets the given properties of a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.properties- the properties to be set.- Returns:
- a copy of this Thing with the Feature containing the given properties.
- Throws:
NullPointerException- iffeatureIdisnull.
-
setFeatureProperty
default Thing setFeatureProperty(String featureId, CharSequence propertyPath, org.eclipse.ditto.json.JsonValue propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
default Thing setFeatureProperty(String featureId, CharSequence propertyPath, boolean propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureProperty
Thing setFeatureProperty(String featureId, org.eclipse.ditto.json.JsonPointer propertyPath, org.eclipse.ditto.json.JsonValue propertyValue) Sets the given property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be set.propertyValue- the property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given property.
- Throws:
NullPointerException- if any argument isnull.
-
removeFeatureProperties
Removes all properties from the given Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature of which all properties are to be removed.- Returns:
- a copy of this Thing with all of the Feature's properties removed.
- Throws:
NullPointerException- iffeatureIdisnull.
-
removeFeatureProperty
Removes the given property from a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be removed.- Returns:
- a copy of this Thing with the given Feature property removed.
- Throws:
NullPointerException- if any argument isnull.
-
removeFeatureProperty
Removes the given property from a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the property to be removed.- Returns:
- a copy of this Thing with the given Feature property removed.
- Throws:
NullPointerException- if any argument isnull.
-
setFeatureDesiredProperties
Sets the given desired properties of a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredProperties- the desired properties to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired properties.
- Throws:
NullPointerException- iffeatureIdisnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, org.eclipse.ditto.json.JsonValue desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, boolean desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, int desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, long desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, double desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
default Thing setFeatureDesiredProperty(CharSequence featureId, CharSequence desiredPropertyPath, String desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
setFeatureDesiredProperty
Thing setFeatureDesiredProperty(CharSequence featureId, org.eclipse.ditto.json.JsonPointer desiredPropertyPath, org.eclipse.ditto.json.JsonValue desiredPropertyValue) Sets the given desired property to the Feature with the given ID on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.desiredPropertyPath- the hierarchical path within the Feature to the desired property to be set.desiredPropertyValue- the desired property value to be set.- Returns:
- a copy of this Thing with the Feature containing the given desired property.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
removeFeatureDesiredProperties
Removes all desired properties from the given Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature of which all desired properties are to be removed.- Returns:
- a copy of this Thing with all of the Feature's desired properties removed.
- Throws:
NullPointerException- iffeatureIdisnull.- Since:
- 1.5.0
-
removeFeatureDesiredProperty
Removes the given desired property from a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the desired property to be removed.- Returns:
- a copy of this Thing with the given Features desired property removed.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
removeFeatureDesiredProperty
Thing removeFeatureDesiredProperty(CharSequence featureId, org.eclipse.ditto.json.JsonPointer propertyPath) Removes the given desired property from a Feature on a copy of this Thing.- Parameters:
featureId- the ID of the Feature.propertyPath- the hierarchical path within the Feature to the desired property to be removed.- Returns:
- a copy of this Thing with the given Feature desired property removed.
- Throws:
NullPointerException- if any argument isnull.- Since:
- 1.5.0
-
getLifecycle
Optional<ThingLifecycle> getLifecycle()Returns the current lifecycle of this Thing.- Returns:
- the current lifecycle of this Thing.
-
setLifecycle
Sets the given lifecycle to a copy of this Thing.- Parameters:
newLifecycle- the lifecycle to set.- Returns:
- a copy of this Thing with the lifecycle set to
newLifecycle. - Throws:
NullPointerException- ifnewLifecycleisnull.
-
hasLifecycle
Indicates whether this Thing has the given lifecycle.- Parameters:
lifecycle- the lifecycle to be checked for.- Returns:
trueif this Thing haslifecycleas its lifecycle,falseelse.
-
setPolicyId
Sets the given Policy ID on a copy of this Thing.- Parameters:
policyId- the Policy ID to set.- Returns:
- a copy of this Thing with
policyIdas its Policy ID.
-
getPolicyId
Optional<org.eclipse.ditto.policies.model.PolicyId> getPolicyId()Returns the Policy ID of this Thing.- Returns:
- the Policy ID of this Thing.
-
getFeatures
Returns the Features of this Thing.- Returns:
- the Features of this Thing.
-
setFeatures
Sets the given Features to a copy of this Thing.- Parameters:
features- the Features to be set.- Returns:
- a copy of this Thing with the features set.
-
removeFeatures
Thing removeFeatures()Removes all Features from a copy of this Thing.- Returns:
- a copy of this Thing with all of its Features removed.
-
setFeature
Sets the given Feature to a copy of this Thing. An already existing Feature with the same ID is replaced.- Parameters:
feature- the Feature to be set.- Returns:
- a copy of this Thing with the given feature.
- Throws:
NullPointerException- iffeatureisnull.
-
removeFeature
Removes the Feature with the specified ID from a copy of this Thing.- Parameters:
featureId- the ID of the Feature to be removed.- Returns:
- a copy of this Thing without the Feature with the given ID.
-