java.lang.Object
dev.orne.config.impl.AbstractConfig
dev.orne.config.impl.JsonConfigImpl
- All Implemented Interfaces:
Config
- Direct Known Subclasses:
YamlConfigImpl
Jackson
ObjectNode based configuration.- Since:
- 1.0
- Version:
- 1.0, 2025-07
- Author:
- (w) Iker Hernaez
- See Also:
-
ConfigObjectNode
-
Field Summary
Fields inherited from class dev.orne.config.impl.AbstractConfig
KEY_BLANK_ERR -
Constructor Summary
ConstructorsConstructorDescriptionJsonConfigImpl(@NotNull ConfigOptions options, @NotNull JsonConfigOptions jsonOptions) Creates a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancontainsInt(@NotBlank String key) Returnstrueif the property with the key passed as argument has been configured in this configuration instance.protected StringReturns the value of the configuration property asString.protected @NotNull com.fasterxml.jackson.databind.node.ObjectNodeReturns the JSON object with the configuration properties.Returns the configuration property keys contained in this configuration instance .protected @NotEmpty StringReturns the configuration nested properties separator.protected booleanReturnstrueif this configuration instance contains no property.keysFlattener(@NotBlank String separator, @NotNull String prefix, @NotNull String key, @NotNull com.fasterxml.jackson.databind.JsonNode node) Flattens the JSON object properties to a stream of keys.protected @NotBlank com.fasterxml.jackson.core.JsonPointerpropertyToPointer(@NotBlank String key) Resolves configuration keys to JSON pointer expressions by replacing properties separator with the JSON pointer segment separator.Methods inherited from class dev.orne.config.impl.AbstractConfig
contains, get, getDecoder, getDecorator, getKeys, getParent, getResolver, getUndecored, isEmpty, isOverrideParentPropertiesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.orne.config.Config
as, get, get, getBoolean, getBoolean, getBoolean, getInteger, getInteger, getInteger, getKeys, getKeys, getLong, getLong, getLong, subset
-
Constructor Details
-
JsonConfigImpl
public JsonConfigImpl(@NotNull @NotNull ConfigOptions options, @NotNull @NotNull JsonConfigOptions jsonOptions) Creates a new instance.- Parameters:
options- The configuration builder options.jsonOptions- The JSON based configuration builder options.
-
-
Method Details
-
getJsonObject
@NotNull protected @NotNull com.fasterxml.jackson.databind.node.ObjectNode getJsonObject()Returns the JSON object with the configuration properties.- Returns:
- The JSON object with the configuration properties.
-
getPropertySeparator
Returns the configuration nested properties separator.- Returns:
- The configuration nested properties separator.
-
isEmptyInt
protected boolean isEmptyInt()Returnstrueif this configuration instance contains no property.Parent configuration
- Specified by:
isEmptyIntin classAbstractConfig- Returns:
- Returns
trueif the configuration contains no property.
-
getKeysInt
Returns the configuration property keys contained in this configuration instance .- Specified by:
getKeysIntin classAbstractConfig- Returns:
- The configuration property keys.
-
containsInt
Returnstrueif the property with the key passed as argument has been configured in this configuration instance.- Specified by:
containsIntin classAbstractConfig- Parameters:
key- The configuration property.- Returns:
- Returns
trueif the property has been configured.
-
getInt
Returns the value of the configuration property asString.- Specified by:
getIntin classAbstractConfig- Parameters:
key- The configuration property.- Returns:
- The configuration parameter value.
-
propertyToPointer
@NotBlank protected @NotBlank com.fasterxml.jackson.core.JsonPointer propertyToPointer(@NotBlank @NotBlank String key) Resolves configuration keys to JSON pointer expressions by replacing properties separator with the JSON pointer segment separator.- Parameters:
key- The configuration key.- Returns:
- The JSON pointer expression.
-
keysFlattener
@NotNull protected static @NotNull Stream<String> keysFlattener(@NotBlank @NotBlank String separator, @NotNull @NotNull String prefix, @NotNull @NotNull String key, @NotNull @NotNull com.fasterxml.jackson.databind.JsonNode node) Flattens the JSON object properties to a stream of keys.- Parameters:
separator- The properties separator to use.prefix- The prefix for the keys.key- The current key being processed.node- The JSON object node entry.- Returns:
- A stream of flattened keys.
-