Class FeatureModelBuilder
- All Implemented Interfaces:
AutoCloseable
IFeatureModel
given a list of features, a model metadata, a feature model metadata and optionally a bounds.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionSets the bounds of the feature model.build()
Creates a new in-memoryIFeatureModel
instance, based on the given model metadata, feature model metadata and the list of features.void
close()
editable
(boolean editable) Sets whether the model should be editable or not.featureModelMetadata
(FeatureModelMetadata featureModelMetadata) Sets theFeatureModelMetadata
of the feature model.Sets the features of the feature model.protected void
finalize()
modelMetadata
(ModelMetadata modelMetadata) Sets theModelMetadata
of the feature model.static FeatureModelBuilder
Returns the builder class for creation of theIFeatureModel
.
-
Constructor Details
-
FeatureModelBuilder
-
-
Method Details
-
finalize
protected void finalize() -
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
newBuilder
Returns the builder class for creation of theIFeatureModel
.- Returns:
- the builder class for creation of the
IFeatureModel
.
-
build
Creates a new in-memoryIFeatureModel
instance, based on the given model metadata, feature model metadata and the list of features.Depending on whether the
editable
flag was set, it is possible to add/remove or update the features of this model after it has been created.- Returns:
- An in-memory
IFeatureModel
instance. - Throws:
IllegalStateException
- If not all mandatory parameters are set.
-
bounds
Sets the bounds of the feature model.Calling this function is optional.
If no bounds are provided, the model will attempt to derive the bounds by itself. It does so by calculating the union of the geometries of its features, as specified by
Feature#findGeometry
.- Parameters:
bounds
- The model bounds. Cannot benull
.- Returns:
- this
- Throws:
NullPointerException
- when passingnull
.
-
featureModelMetadata
@NotNull public FeatureModelBuilder featureModelMetadata(@NotNull FeatureModelMetadata featureModelMetadata) Sets theFeatureModelMetadata
of the feature model.Calling this function is mandatory.
- Parameters:
featureModelMetadata
- The model feature model metadata.- Returns:
- this
-
features
Sets the features of the feature model.Calling this function is optional.
The given features may or may not have an id
assigned
. If an id is missing, an id will be assigned to them by the resulting model.- Parameters:
features
- The model features.- Returns:
- this
-
modelMetadata
Sets theModelMetadata
of the feature model.Calling this function is mandatory.
- Parameters:
modelMetadata
- The model metadata.- Returns:
- this
-
editable
Sets whether the model should be editable or not.An editable model exposes an
IFeatureModelUpdater
, through which you can add, remove or update the model's features. Calling this function is optional. By default, this value is false.- Parameters:
editable
- whether the model should be editable or not.- Returns:
- this
-