Package org.eclipse.ditto.model.things
Interface FeatureDefinition
-
- All Superinterfaces:
Iterable<DefinitionIdentifier>
,org.eclipse.ditto.model.base.json.Jsonifiable<org.eclipse.ditto.json.JsonArray>
@Immutable public interface FeatureDefinition extends Iterable<DefinitionIdentifier>, org.eclipse.ditto.model.base.json.Jsonifiable<org.eclipse.ditto.json.JsonArray>
A FeatureDefinition is a list of fully qualifiedDefinitionIdentifier
s. 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.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>
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static FeatureDefinition
fromIdentifier(CharSequence identifier, CharSequence... furtherIdentifiers)
Parses the specified CharSequence to an Identifier and returns an immutableFeatureDefinition
containing that Identifier.static FeatureDefinition
fromJson(String jsonArrayAsString)
Returns a new immutableFeatureDefinition
which is initialised with the values of the given JSON string.static FeatureDefinition
fromJson(org.eclipse.ditto.json.JsonArray jsonArray)
Returns a new immutableFeatureDefinition
which is initialised with the values of the given JSON array.DefinitionIdentifier
getFirstIdentifier()
Returns the first Identifier of this Feature Definition which is guaranteed to exist.int
getSize()
Returns the count of Identifiers of this Feature Definition.Stream<DefinitionIdentifier>
stream()
Returns a sequentialStream
with the Identifiers of this Feature Definition as its source.-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
-
-
-
Method Detail
-
fromIdentifier
static FeatureDefinition fromIdentifier(CharSequence identifier, CharSequence... furtherIdentifiers)
Parses the specified CharSequence to an Identifier and returns an immutableFeatureDefinition
containing 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
static FeatureDefinition fromJson(String jsonArrayAsString)
Returns a new immutableFeatureDefinition
which 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
- ifjsonArrayAsString
isnull
.org.eclipse.ditto.model.base.exceptions.DittoJsonException
- ifjsonArrayAsString
cannot be parsed toFeatureDefinition
.FeatureDefinitionEmptyException
- if the JSON array is empty.DefinitionIdentifierInvalidException
- if any Identifier of the JSON array is invalid.
-
fromJson
static FeatureDefinition fromJson(org.eclipse.ditto.json.JsonArray jsonArray)
Returns a new immutableFeatureDefinition
which 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
- ifjsonArray
isnull
.IllegalArgumentException
- ifjsonArray
is empty.DefinitionIdentifierInvalidException
- if any Identifier ofjsonArray
is 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 sequentialStream
with the Identifiers of this Feature Definition as its source.- Returns:
- a sequential stream of the Identifiers of this Feature Definition.
-
-