test_class.declarator: YEAR_1_PROPERTY_POINTER = JsonFactory.newPointer("target_year_1")
test_class.modifier: private static final
test_class.original_string: private static final JsonPointer YEAR_1_PROPERTY_POINTER = JsonFactory.newPointer("target_year_1");
test_class.type: JsonPointer
test_class.var_name: YEAR_1_PROPERTY_POINTER
test_class.declarator: DE_LOREAN_PROPERTY_POINTER = JsonFactory.newPointer("timeMachine/name")
test_class.modifier: private static final
test_class.original_string: private static final JsonPointer DE_LOREAN_PROPERTY_POINTER = JsonFactory.newPointer("timeMachine/name");
test_class.type: JsonPointer
test_class.var_name: DE_LOREAN_PROPERTY_POINTER
test_class.declarator: DE_LOREAN = JsonFactory.newValue("DeLorean DMC-12")
test_class.modifier: private static final
test_class.original_string: private static final JsonValue DE_LOREAN = JsonFactory.newValue("DeLorean DMC-12");
test_class.type: JsonValue
test_class.var_name: DE_LOREAN
test_class.declarator: underTest = null
test_class.modifier: private
test_class.original_string: private Features underTest = null;
test_class.type: Features
test_class.var_name: underTest
test_class.file: model/things/src/test/java/org/eclipse/ditto/model/things/ImmutableFeaturesTest.java
test_class.identifier: ImmutableFeaturesTest
test_case.body: @Test(expected = NullPointerException.class)
      public void tryToRemovePropertiesForNullFeatureId() {
          underTest.removeProperties(null);
      }
test_case.class_method_signature: ImmutableFeaturesTest.tryToRemovePropertiesForNullFeatureId()
test_case.full_signature: @Test(expected = NullPointerException.class) public void tryToRemovePropertiesForNullFeatureId()
test_case.identifier: tryToRemovePropertiesForNullFeatureId
test_case.invocations: removeProperties
test_case.modifiers: @Test(expected = NullPointerException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void tryToRemovePropertiesForNullFeatureId()
focal_class.declarator: JSON_SCHEMA_VERSION =
              JsonFactory.newIntFieldDefinition(JsonSchemaVersion.getJsonKey(), FieldType.SPECIAL, FieldType.HIDDEN,
                      JsonSchemaVersion.V_1, JsonSchemaVersion.V_2)
focal_class.modifier: private static final
focal_class.original_string: private static final JsonFieldDefinition<Integer> JSON_SCHEMA_VERSION =
              JsonFactory.newIntFieldDefinition(JsonSchemaVersion.getJsonKey(), FieldType.SPECIAL, FieldType.HIDDEN,
                      JsonSchemaVersion.V_1, JsonSchemaVersion.V_2);
focal_class.type: JsonFieldDefinition<Integer>
focal_class.var_name: JSON_SCHEMA_VERSION
focal_class.declarator: features
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Feature> features;
focal_class.type: Map<String, Feature>
focal_class.var_name: features
focal_class.file: model/things/src/main/java/org/eclipse/ditto/model/things/ImmutableFeatures.java
focal_class.identifier: ImmutableFeatures
focal_class.interfaces: implements Features
focal_class.class_method_signature: ImmutableFeatures.ImmutableFeatures(final Map<String, Feature> features)
focal_class.full_signature: private  ImmutableFeatures(final Map<String, Feature> features)
focal_class.identifier: ImmutableFeatures
focal_class.modifiers: private
focal_class.parameters: (final Map<String, Feature> features)
focal_class.signature:  ImmutableFeatures(final Map<String, Feature> features)
focal_class.class_method_signature: ImmutableFeatures.empty()
focal_class.full_signature: public static ImmutableFeatures empty()
focal_class.identifier: empty
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: ImmutableFeatures
focal_class.signature: ImmutableFeatures empty()
focal_class.class_method_signature: ImmutableFeatures.of(final Iterable<Feature> features)
focal_class.full_signature: public static ImmutableFeatures of(final Iterable<Feature> features)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final Iterable<Feature> features)
focal_class.return: ImmutableFeatures
focal_class.signature: ImmutableFeatures of(final Iterable<Feature> features)
focal_class.class_method_signature: ImmutableFeatures.of(final Feature feature, final Feature... additionalFeatures)
focal_class.full_signature: public static ImmutableFeatures of(final Feature feature, final Feature... additionalFeatures)
focal_class.identifier: of
focal_class.modifiers: public static
focal_class.parameters: (final Feature feature, final Feature... additionalFeatures)
focal_class.return: ImmutableFeatures
focal_class.signature: ImmutableFeatures of(final Feature feature, final Feature... additionalFeatures)
focal_class.class_method_signature: ImmutableFeatures.getFeature(final String featureId)
focal_class.full_signature: @Override public Optional<Feature> getFeature(final String featureId)
focal_class.identifier: getFeature
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId)
focal_class.return: Optional<Feature>
focal_class.signature: Optional<Feature> getFeature(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.checkFeatureId(final String featureId)
focal_class.full_signature: private static String checkFeatureId(final String featureId)
focal_class.identifier: checkFeatureId
focal_class.modifiers: private static
focal_class.parameters: (final String featureId)
focal_class.return: String
focal_class.signature: String checkFeatureId(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.setFeature(final Feature feature)
focal_class.full_signature: @Override public Features setFeature(final Feature feature)
focal_class.identifier: setFeature
focal_class.modifiers: @Override public
focal_class.parameters: (final Feature feature)
focal_class.return: Features
focal_class.signature: Features setFeature(final Feature feature)
focal_class.class_method_signature: ImmutableFeatures.getFeatureOrNull(final String featureId)
focal_class.full_signature: @Nullable private Feature getFeatureOrNull(final String featureId)
focal_class.identifier: getFeatureOrNull
focal_class.modifiers: @Nullable private
focal_class.parameters: (final String featureId)
focal_class.return: Feature
focal_class.signature: Feature getFeatureOrNull(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.createNewFeaturesWithNewFeature(final Feature newFeature)
focal_class.full_signature: private Features createNewFeaturesWithNewFeature(final Feature newFeature)
focal_class.identifier: createNewFeaturesWithNewFeature
focal_class.modifiers: private
focal_class.parameters: (final Feature newFeature)
focal_class.return: Features
focal_class.signature: Features createNewFeaturesWithNewFeature(final Feature newFeature)
focal_class.class_method_signature: ImmutableFeatures.removeFeature(final String featureId)
focal_class.full_signature: @Override public Features removeFeature(final String featureId)
focal_class.identifier: removeFeature
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId)
focal_class.return: Features
focal_class.signature: Features removeFeature(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.copyFeatures()
focal_class.full_signature: private Map<String, Feature> copyFeatures()
focal_class.identifier: copyFeatures
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Map<String, Feature>
focal_class.signature: Map<String, Feature> copyFeatures()
focal_class.class_method_signature: ImmutableFeatures.setDefinition(final String featureId, final FeatureDefinition definition)
focal_class.full_signature: @Override public Features setDefinition(final String featureId, final FeatureDefinition definition)
focal_class.identifier: setDefinition
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId, final FeatureDefinition definition)
focal_class.return: Features
focal_class.signature: Features setDefinition(final String featureId, final FeatureDefinition definition)
focal_class.class_method_signature: ImmutableFeatures.removeDefinition(final String featureId)
focal_class.full_signature: @Override public Features removeDefinition(final String featureId)
focal_class.identifier: removeDefinition
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId)
focal_class.return: Features
focal_class.signature: Features removeDefinition(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.setProperties(final String featureId, final FeatureProperties properties)
focal_class.full_signature: @Override public Features setProperties(final String featureId, final FeatureProperties properties)
focal_class.identifier: setProperties
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId, final FeatureProperties properties)
focal_class.return: Features
focal_class.signature: Features setProperties(final String featureId, final FeatureProperties properties)
focal_class.class_method_signature: ImmutableFeatures.removeProperties(final String featureId)
focal_class.full_signature: @Override public Features removeProperties(final String featureId)
focal_class.identifier: removeProperties
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId)
focal_class.return: Features
focal_class.signature: Features removeProperties(final String featureId)
focal_class.class_method_signature: ImmutableFeatures.setProperty(final String featureId, final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.full_signature: @Override public Features setProperty(final String featureId, final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.identifier: setProperty
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId, final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.return: Features
focal_class.signature: Features setProperty(final String featureId, final JsonPointer propertyPath, final JsonValue propertyValue)
focal_class.class_method_signature: ImmutableFeatures.removeProperty(final String featureId, final JsonPointer propertyPath)
focal_class.full_signature: @Override public Features removeProperty(final String featureId, final JsonPointer propertyPath)
focal_class.identifier: removeProperty
focal_class.modifiers: @Override public
focal_class.parameters: (final String featureId, final JsonPointer propertyPath)
focal_class.return: Features
focal_class.signature: Features removeProperty(final String featureId, final JsonPointer propertyPath)
focal_class.class_method_signature: ImmutableFeatures.getSize()
focal_class.full_signature: @Override public int getSize()
focal_class.identifier: getSize
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getSize()
focal_class.class_method_signature: ImmutableFeatures.isEmpty()
focal_class.full_signature: @Override public boolean isEmpty()
focal_class.identifier: isEmpty
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEmpty()
focal_class.class_method_signature: ImmutableFeatures.stream()
focal_class.full_signature: @Override public Stream<Feature> stream()
focal_class.identifier: stream
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Stream<Feature>
focal_class.signature: Stream<Feature> stream()
focal_class.class_method_signature: ImmutableFeatures.iterator()
focal_class.full_signature: @Override public Iterator<Feature> iterator()
focal_class.identifier: iterator
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Iterator<Feature>
focal_class.signature: Iterator<Feature> iterator()
focal_class.class_method_signature: ImmutableFeatures.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: ImmutableFeatures.equals(final Object o)
focal_class.full_signature: @Override public boolean equals(final Object o)
focal_class.identifier: equals
focal_class.modifiers: @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: ImmutableFeatures.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: ImmutableFeatures.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: @Override
      public Features removeProperties(final String featureId) {
          final Feature feature = getFeatureOrNull(featureId);
          if (null != feature) {
              return setFeature(feature.removeProperties());
          }
  
          return this;
      }
focal_method.class_method_signature: ImmutableFeatures.removeProperties(final String featureId)
focal_method.full_signature: @Override public Features removeProperties(final String featureId)
focal_method.identifier: removeProperties
focal_method.invocations: getFeatureOrNull setFeature removeProperties
focal_method.modifiers: @Override public
focal_method.parameters: (final String featureId)
focal_method.return: Features
focal_method.signature: Features removeProperties(final String featureId)