Class ExtendsProcessor
java.lang.Object
org.sentrysoftware.metricshub.engine.connector.parser.AbstractNodeProcessor
org.sentrysoftware.metricshub.engine.connector.parser.ExtendsProcessor
Represents a processor that merges extended connectors specified under the 'extends' section of the given JSON node.
This processor recursively merges extended connectors, applying the merging logic for arrays and objects.
The merged result is then passed to the next processor in the chain.
-
Constructor Summary
ConstructorsConstructorDescriptionExtendsProcessor(@NonNull Path connectorDirectory, @NonNull com.fasterxml.jackson.databind.ObjectMapper mapper, AbstractNodeProcessor next) -
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.databind.JsonNodemerge(com.fasterxml.jackson.databind.JsonNode mainNode, com.fasterxml.jackson.databind.JsonNode updateNode) Merge the given mainNode and updateNode.com.fasterxml.jackson.databind.JsonNodeprocessNode(com.fasterxml.jackson.databind.JsonNode node) Methods inherited from class org.sentrysoftware.metricshub.engine.connector.parser.AbstractNodeProcessor
process
-
Constructor Details
-
ExtendsProcessor
public ExtendsProcessor(@NonNull @NonNull Path connectorDirectory, @NonNull @NonNull com.fasterxml.jackson.databind.ObjectMapper mapper, AbstractNodeProcessor next)
-
-
Method Details
-
processNode
public com.fasterxml.jackson.databind.JsonNode processNode(com.fasterxml.jackson.databind.JsonNode node) throws IOException - Throws:
IOException
-
merge
public static com.fasterxml.jackson.databind.JsonNode merge(com.fasterxml.jackson.databind.JsonNode mainNode, com.fasterxml.jackson.databind.JsonNode updateNode) Merge the given mainNode and updateNode. Merge strategy:
- Arrays of objects are appended from
updateNodetomainNode. - Arrays of simple values from
updateNodeerase the ones inmainNode. updateNodeobject values overwritemainNodeobject values.
- Parameters:
mainNode- The main JSON node to merge into.updateNode- The update JSON node to merge.- Returns:
- The merged JSON node.
- Arrays of objects are appended from
-