org.etlunit.parser.ETLTestValueObject Maven / Gradle / Ivy
package org.etlunit.parser;
import org.codehaus.jackson.JsonNode;
import java.util.List;
import java.util.Map;
public interface ETLTestValueObject extends ETLTestDebugTraceable
{
enum value_type
{
quoted_string,
object,
list,
literal,
pojo
}
String getValueAsString();
boolean getValueAsBoolean();
List getValueAsList();
List getValueAsListOfStrings();
Map getValueAsMap();
Object getValueAsPojo();
value_type getValueType();
ETLTestValueObject query(String path);
ETLTestValueObject queryRequired(String path);
/**
* Perform a distinct merge.
* @param obj
* @return
*/
ETLTestValueObject merge(ETLTestValueObject obj);
enum merge_type
{
/**
* If there is a conflict, the left value (this) wins
*/
left_merge,
/**
* If there is a conflict, the right value (other) wins
*/
right_merge,
/**
* If there is a conflict and the type is object on both sides,
* merge will recurse. Otherwise, the merge fails.
*/
distinct_merge
}
ETLTestValueObject merge(ETLTestValueObject object, merge_type type);
ETLTestValueObject copy();
JsonNode getJsonNode();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy