@Override public Thing removeFeatures() { if (null == features) { return this; } return setFeatures(null); }
@Override public Thing removeFeatures() { if (null == features) { return this; } return setFeatures(null); }
@Override public Thing removeFeature(final String featureId) { return (null != features) ? setFeatures(features.removeFeature(featureId)) : this; }
@Override public Thing removeFeatureDefinition(final String featureId) { return (null != features) ? setFeatures(features.removeDefinition(featureId)) : this; }
@Override public Thing removeFeatureProperty(final String featureId, final JsonPointer propertyPath) { return (null != features) ? setFeatures(features.removeProperty(featureId, propertyPath)) : this; }
@Override public Thing removeFeature(final String featureId) { return (null != features) ? setFeatures(features.removeFeature(featureId)) : this; }
@Override public Thing removeFeatureProperties(final String featureId) { return (null != features) ? setFeatures(features.removeProperties(featureId)) : this; }
@Override public Thing removeFeatureProperty(final String featureId, final JsonPointer propertyPath) { return (null != features) ? setFeatures(features.removeProperty(featureId, propertyPath)) : this; }
@Override public Thing removeFeatureDefinition(final String featureId) { return (null != features) ? setFeatures(features.removeDefinition(featureId)) : this; }
@Override public Thing removeFeatureProperties(final String featureId) { return (null != features) ? setFeatures(features.removeProperties(featureId)) : this; }
@Override public Thing setFeatureProperties(final String featureId, final FeatureProperties properties) { if (null == features || features.isNull()) { return setFeature(ThingsModelFactory.newFeature(featureId, properties)); } return setFeatures(features.setProperties(featureId, properties)); }
@Override public Thing setFeatureDefinition(final String featureId, final FeatureDefinition definition) { if (null == features || features.isNull()) { return setFeature(ThingsModelFactory.newFeature(featureId, definition, null)); } return setFeatures(features.setDefinition(featureId, definition)); }
@Override public Thing setFeatureProperties(final String featureId, final FeatureProperties properties) { if (null == features || features.isNull()) { return setFeature(ThingsModelFactory.newFeature(featureId, properties)); } return setFeatures(features.setProperties(featureId, properties)); }
@Override public Thing setFeatureDefinition(final String featureId, final FeatureDefinition definition) { if (null == features || features.isNull()) { return setFeature(ThingsModelFactory.newFeature(featureId, definition, null)); } return setFeatures(features.setDefinition(featureId, definition)); }
@Override public Thing setFeature(final Feature feature) { final Features newFeatures; if (null == features || features.isNull()) { newFeatures = ThingsModelFactory.newFeaturesBuilder() .set(feature) .build(); } else { newFeatures = features.setFeature(feature); } return setFeatures(newFeatures); }
@Override public Thing setFeature(final Feature feature) { final Features newFeatures; if (null == features || features.isNull()) { newFeatures = ThingsModelFactory.newFeaturesBuilder() .set(feature) .build(); } else { newFeatures = features.setFeature(feature); } return setFeatures(newFeatures); }
@Override public Thing setFeatureProperty(final String featureId, final JsonPointer propertyJsonPointer, final JsonValue propertyValue) { final Features newFeatures; if (null == features || features.isNull()) { final FeatureProperties featureProperties = ThingsModelFactory.newFeaturePropertiesBuilder() .set(propertyJsonPointer, propertyValue) .build(); newFeatures = ThingsModelFactory.newFeatures(ThingsModelFactory.newFeature(featureId, featureProperties)); } else { newFeatures = features.setProperty(featureId, propertyJsonPointer, propertyValue); } return setFeatures(newFeatures); }
@Override public Thing setFeatureProperty(final String featureId, final JsonPointer propertyJsonPointer, final JsonValue propertyValue) { final Features newFeatures; if (null == features || features.isNull()) { final FeatureProperties featureProperties = ThingsModelFactory.newFeaturePropertiesBuilder() .set(propertyJsonPointer, propertyValue) .build(); newFeatures = ThingsModelFactory.newFeatures(ThingsModelFactory.newFeature(featureId, featureProperties)); } else { newFeatures = features.setProperty(featureId, propertyJsonPointer, propertyValue); } return setFeatures(newFeatures); }