test_class.declarator: KNOWN_SCHEMA_VERSION = JsonSchemaVersion.V_2
test_class.modifier: private static final
test_class.original_string: private static final JsonSchemaVersion KNOWN_SCHEMA_VERSION = JsonSchemaVersion.V_2;
test_class.type: JsonSchemaVersion
test_class.var_name: KNOWN_SCHEMA_VERSION
test_class.declarator: KNOWN_FEATURE_ID = "myFeature"
test_class.modifier: private static final
test_class.original_string: private static final String KNOWN_FEATURE_ID = "myFeature";
test_class.type: String
test_class.var_name: KNOWN_FEATURE_ID
test_class.declarator: LEADING_SLASH_FEATURE_ID = "/myFeature"
test_class.modifier: private static final
test_class.original_string: private static final String LEADING_SLASH_FEATURE_ID = "/myFeature";
test_class.type: String
test_class.var_name: LEADING_SLASH_FEATURE_ID
test_class.declarator: ENDING_SLASH_FEATURE_ID = "myFeature/"
test_class.modifier: private static final
test_class.original_string: private static final String ENDING_SLASH_FEATURE_ID = "myFeature/";
test_class.type: String
test_class.var_name: ENDING_SLASH_FEATURE_ID
test_class.declarator: SLASH_INBETWEEN_ID = "myFea/ture"
test_class.modifier: private static final
test_class.original_string: private static final String SLASH_INBETWEEN_ID = "myFea/ture";
test_class.type: String
test_class.var_name: SLASH_INBETWEEN_ID
test_class.declarator: KNOWN_JSON_OBJECT = JsonFactory.newObjectBuilder()
              .set(Feature.JsonFields.SCHEMA_VERSION, KNOWN_SCHEMA_VERSION.toInt())
              .set(Feature.JsonFields.PROPERTIES, FLUX_CAPACITOR_PROPERTIES)
              .set(Feature.JsonFields.DEFINITION, FLUX_CAPACITOR_DEFINITION.toJson())
              .build()
test_class.modifier: private static final
test_class.original_string: private static final JsonObject KNOWN_JSON_OBJECT = JsonFactory.newObjectBuilder()
              .set(Feature.JsonFields.SCHEMA_VERSION, KNOWN_SCHEMA_VERSION.toInt())
              .set(Feature.JsonFields.PROPERTIES, FLUX_CAPACITOR_PROPERTIES)
              .set(Feature.JsonFields.DEFINITION, FLUX_CAPACITOR_DEFINITION.toJson())
              .build();
test_class.type: JsonObject
test_class.var_name: KNOWN_JSON_OBJECT
test_class.file: model/things/src/test/java/org/eclipse/ditto/model/things/ImmutableFeatureTest.java
test_class.identifier: ImmutableFeatureTest
test_case.body: @Test
      public void createInstanceWithInbetweenSlash() {
          assertThatExceptionOfType(JsonKeyInvalidException.class)
                  .isThrownBy(() -> ImmutableFeature.of(SLASH_INBETWEEN_ID, null));
      }
test_case.class_method_signature: ImmutableFeatureTest.createInstanceWithInbetweenSlash()
test_case.full_signature: @Test public void createInstanceWithInbetweenSlash()
test_case.identifier: createInstanceWithInbetweenSlash
test_case.invocations: isThrownBy assertThatExceptionOfType of
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createInstanceWithInbetweenSlash()
focal_class.declarator: featureId
focal_class.modifier: private final
focal_class.original_string: private final String featureId;
focal_class.type: String
focal_class.var_name: featureId
focal_class.declarator: definition
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final FeatureDefinition definition;
focal_class.type: FeatureDefinition
focal_class.var_name: definition
focal_class.declarator: properties
focal_class.modifier: @Nullable private final
focal_class.original_string: @Nullable private final FeatureProperties properties;
focal_class.type: FeatureProperties
focal_class.var_name: properties
focal_class.file: model/things/src/main/java/org/eclipse/ditto/model/things/ImmutableFeature.java
focal_class.identifier: ImmutableFeature
focal_class.interfaces: implements Feature
focal_class.class_method_signature: ImmutableFeature.ImmutableFeature(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.full_signature: private  ImmutableFeature(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.identifier: ImmutableFeature
focal_class.modifiers: private
focal_class.parameters: (final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.signature:  ImmutableFeature(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.class_method_signature: ImmutableFeature.of(final String featureId)
focal_class.full_signature: public static ImmutableFeature of(final String featureId)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final String featureId)
focal_class.return: ImmutableFeature
focal_class.signature: ImmutableFeature of(final String featureId)
focal_class.class_method_signature: ImmutableFeature.of(final String featureId, @Nullable final FeatureProperties properties)
focal_class.full_signature: public static ImmutableFeature of(final String featureId, @Nullable final FeatureProperties properties)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final String featureId, @Nullable final FeatureProperties properties)
focal_class.return: ImmutableFeature
focal_class.signature: ImmutableFeature of(final String featureId, @Nullable final FeatureProperties properties)
focal_class.class_method_signature: ImmutableFeature.of(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.full_signature: public static ImmutableFeature of(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.return: ImmutableFeature
focal_class.signature: ImmutableFeature of(final String featureId, @Nullable final FeatureDefinition definition,
              @Nullable final FeatureProperties properties)
focal_class.class_method_signature: ImmutableFeature.getId()
focal_class.full_signature: @Override public String getId()
focal_class.identifier: getId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getId()
focal_class.class_method_signature: ImmutableFeature.setDefinition(final FeatureDefinition featureDefinition)
focal_class.full_signature: @Override public Feature setDefinition(final FeatureDefinition featureDefinition)
focal_class.identifier: setDefinition
focal_class.modifiers: @Override public
focal_class.parameters: (final FeatureDefinition featureDefinition)
focal_class.return: Feature
focal_class.signature: Feature setDefinition(final FeatureDefinition featureDefinition)
focal_class.class_method_signature: ImmutableFeature.removeDefinition()
focal_class.full_signature: @Override public Feature removeDefinition()
focal_class.identifier: removeDefinition
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Feature
focal_class.signature: Feature removeDefinition()
focal_class.class_method_signature: ImmutableFeature.getProperties()
focal_class.full_signature: @Override public Optional<FeatureProperties> getProperties()
focal_class.identifier: getProperties
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<FeatureProperties>
focal_class.signature: Optional<FeatureProperties> getProperties()
focal_class.class_method_signature: ImmutableFeature.setProperties(final FeatureProperties properties)
focal_class.full_signature: @Override public Feature setProperties(final FeatureProperties properties)
focal_class.identifier: setProperties
focal_class.modifiers: @Override public
focal_class.parameters: (final FeatureProperties properties)
focal_class.return: Feature
focal_class.signature: Feature setProperties(final FeatureProperties properties)
focal_class.class_method_signature: ImmutableFeature.removeProperties()
focal_class.full_signature: @Override public Feature removeProperties()
focal_class.identifier: removeProperties
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Feature
focal_class.signature: Feature removeProperties()
focal_class.class_method_signature: ImmutableFeature.getProperty(final JsonPointer propertyPath)
focal_class.full_signature: @Override public Optional<JsonValue> getProperty(final JsonPointer propertyPath)
focal_class.identifier: getProperty
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonPointer propertyPath)
focal_class.return: Optional<JsonValue>
focal_class.signature: Optional<JsonValue> getProperty(final JsonPointer propertyPath)
focal_class.class_method_signature: ImmutableFeature.setProperty(final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.full_signature: @Override public Feature setProperty(final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.identifier: setProperty
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.return: Feature
focal_class.signature: Feature setProperty(final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.class_method_signature: ImmutableFeature.removeProperty(final JsonPointer propertyPath)
focal_class.full_signature: @Override public Feature removeProperty(final JsonPointer propertyPath)
focal_class.identifier: removeProperty
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonPointer propertyPath)
focal_class.return: Feature
focal_class.signature: Feature removeProperty(final JsonPointer propertyPath)
focal_class.class_method_signature: ImmutableFeature.getDefinition()
focal_class.full_signature: @Override public Optional<FeatureDefinition> getDefinition()
focal_class.identifier: getDefinition
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Optional<FeatureDefinition>
focal_class.signature: Optional<FeatureDefinition> getDefinition()
focal_class.class_method_signature: ImmutableFeature.toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.full_signature: @Override public JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.identifier: toJson
focal_class.modifiers: @Override public
focal_class.parameters: (final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson(final JsonSchemaVersion schemaVersion, final Predicate<JsonField> thePredicate)
focal_class.class_method_signature: ImmutableFeature.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: ImmutableFeature.equals(final Object o)
focal_class.full_signature: @SuppressWarnings("squid:MethodCyclomaticComplexity") @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @SuppressWarnings("squid:MethodCyclomaticComplexity") @Override public
focal_class.parameters: (final Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(final Object o)
focal_class.class_method_signature: ImmutableFeature.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static ImmutableFeature of(final String featureId) {
          return of(featureId, null, null);
      }
focal_method.class_method_signature: ImmutableFeature.of(final String featureId)
focal_method.full_signature: public static ImmutableFeature of(final String featureId)
focal_method.identifier: of
focal_method.invocations: of
focal_method.modifiers: public static
focal_method.parameters: (final String featureId)
focal_method.return: ImmutableFeature
focal_method.signature: ImmutableFeature of(final String featureId)