All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.etlunit.parser.ETLTestValueObject Maven / Gradle / Ivy

There is a newer version: 1.6.9
Show newest version
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