Package org.eclipse.ditto.things.model
Interface FeatureDefinition
- All Superinterfaces:
Iterable<DefinitionIdentifier>,org.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonArray>
@Immutable
public interface FeatureDefinition
extends Iterable<DefinitionIdentifier>, org.eclipse.ditto.base.model.json.Jsonifiable<org.eclipse.ditto.json.JsonArray>
A FeatureDefinition is a list of fully qualified
DefinitionIdentifiers.
A FeatureDefinition is guaranteed to contain at least one DefinitionIdentifier.
Each Identifier is unique, i. e. a Feature Definition does not contain duplicates.-
Nested Class Summary
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 TypeMethodDescriptionstatic FeatureDefinitionfromIdentifier(CharSequence identifier, CharSequence... furtherIdentifiers) Parses the specified CharSequence to an Identifier and returns an immutableFeatureDefinitioncontaining that Identifier.static FeatureDefinitionReturns a new immutableFeatureDefinitionwhich is initialised with the values of the given JSON string.static FeatureDefinitionfromJson(org.eclipse.ditto.json.JsonArray jsonArray) Returns a new immutableFeatureDefinitionwhich is initialised with the values of the given JSON array.Returns the first Identifier of this Feature Definition which is guaranteed to exist.intgetSize()Returns the count of Identifiers of this Feature Definition.stream()Returns a sequentialStreamwith the Identifiers of this Feature Definition as its source.Methods inherited from interface java.lang.Iterable
forEach, iterator, spliteratorMethods inherited from interface org.eclipse.ditto.base.model.json.Jsonifiable
getImplementedSchemaVersion, getLatestSchemaVersion, getSupportedSchemaVersions, implementsSchemaVersion, implementsSchemaVersion, toJson, toJsonString
-
Method Details
-
fromIdentifier
static FeatureDefinition fromIdentifier(CharSequence identifier, CharSequence... furtherIdentifiers) Parses the specified CharSequence to an Identifier and returns an immutableFeatureDefinitioncontaining that Identifier.- Parameters:
identifier- CharSequence-representation of the first Identifier of the returned FeatureDefinition.furtherIdentifiers- optional further Identifiers of the returned FeatureDefinition.- Returns:
- the instance.
- Throws:
NullPointerException- if any argument isnull.DefinitionIdentifierInvalidException- if any argument is invalid.
-
fromJson
Returns a new immutableFeatureDefinitionwhich is initialised with the values of the given JSON string. This string is required to be a validJsonArray.- Parameters:
jsonArrayAsString- provides the initial values of the result.- Returns:
- the new immutable initialised
FeatureDefinition. - Throws:
NullPointerException- ifjsonArrayAsStringisnull.org.eclipse.ditto.base.model.exceptions.DittoJsonException- ifjsonArrayAsStringcannot be parsed toFeatureDefinition.FeatureDefinitionEmptyException- if the JSON array is empty.DefinitionIdentifierInvalidException- if any Identifier of the JSON array is invalid.
-
fromJson
Returns a new immutableFeatureDefinitionwhich is initialised with the values of the given JSON array.- Parameters:
jsonArray- provides the initial values of the result.- Returns:
- the new immutable initialised
FeatureDefinition. - Throws:
NullPointerException- ifjsonArrayisnull.IllegalArgumentException- ifjsonArrayis empty.DefinitionIdentifierInvalidException- if any Identifier ofjsonArrayis invalid.
-
getFirstIdentifier
DefinitionIdentifier getFirstIdentifier()Returns the first Identifier of this Feature Definition which is guaranteed to exist.- Returns:
- the Identifier.
-
getSize
int getSize()Returns the count of Identifiers of this Feature Definition. The size is guaranteed to be at least one.- Returns:
- the size.
-
stream
Stream<DefinitionIdentifier> stream()Returns a sequentialStreamwith the Identifiers of this Feature Definition as its source.- Returns:
- a sequential stream of the Identifiers of this Feature Definition.
-