Package org.rumbledb.config
Class SerializationParameterBuilder
java.lang.Object
org.rumbledb.config.SerializationParameterBuilder
Builder class for constructing and updating SerializationParameters from string parameters.
Handles parsing and validation of serialization parameter values according to the
XQuery 3.1 Serialization Parameters specification.
-
Method Summary
Modifier and TypeMethodDescriptionstatic SerializationParametersBuilds a freshSerializationParametersinstance from the provided parameters.static SerializationParametersbuild(Map<String, String> parameters, SerializationParameters defaults) Builds aSerializationParametersinstance by copying an existing template and applying overrides.static voidupdate(SerializationParameters params, String optionName, String optionValue) Updates aSerializationParametersinstance in place with the provided parameter name and value.
-
Method Details
-
build
Builds a freshSerializationParametersinstance from the provided parameters. This is equivalent to callingbuild(Map, SerializationParameters)withSerializationParameters.defaults(). All parameter values are validated and anInvalidSerializationParameterValueExceptionis thrown for invalid inputs.- Parameters:
parameters- the raw parameter map (name → value) to apply- Returns:
- a configured
SerializationParametersinstance - Throws:
InvalidSerializationParameterValueException- if any parameter value is invalid
-
build
public static SerializationParameters build(Map<String, String> parameters, SerializationParameters defaults) Builds aSerializationParametersinstance by copying an existing template and applying overrides. A defensive copy ofdefaultsis created so that the original instance is never mutated. Each provided entry is applied viaupdate(SerializationParameters, String, String), guaranteeing consistent validation.- Parameters:
parameters- the override map (name → value) to applydefaults- the template to inherit unspecified parameters from- Returns:
- a configured
SerializationParametersinstance - Throws:
InvalidSerializationParameterValueException- if any parameter value is invalid
-
update
public static void update(SerializationParameters params, String optionName, String optionValue) throws InvalidSerializationParameterValueException Updates aSerializationParametersinstance in place with the provided parameter name and value. Each update is validated; unknown parameter names are forwarded tosparkOptions.- Parameters:
params- theSerializationParametersinstance to mutate (typically a local copy)optionName- the name of the parameter to updateoptionValue- the value of the parameter to update- Throws:
InvalidSerializationParameterValueException- if the parameter value is invalid
-