package com.uas.report.axis;

public class Argument {

	public static final String MODIFY_REPORTUNIT = "MODIFY_REPORTUNIT_URI";
	public static final String LIST_DATASOURCES = "LIST_DATASOURCES";

	public static final String VALUE_TRUE = "true";
	public static final String VALUE_FALSE = "false";

	public static final String RU_REF_URI = "RU_REF_URI";
	public static final String PARAMS_ARG = "PARAMS_ARG";

	/**
	 * Argument used for the <code>list</code> method to specify that a resource
	 * lookup is to be performed.
	 * 
	 * <p>
	 * The {@link #RESOURCE_TYPE} argument is mandatory and needs to be set to a
	 * resource type.
	 * 
	 * Optionally, {@link #PARENT_DIRECTORY} or {@link #START_FROM_DIRECTORY}
	 * can be used to specify a folder to use as parent/ancestor when listing
	 * resources.
	 */
	public static final String LIST_RESOURCES = "LIST_RESOURCES";

	/**
	 * An argument used along with {@link #LIST_RESOURCES} which specifies the
	 * type of resources to be listed.
	 * 
	 * <p>
	 * Valid valus for this argument are resource types such as
	 * {@link ResourceDescriptor#TYPE_IMAGE TYPE_IMAGE} and the special value
	 * {@link #REPORT_TYPE}.
	 */
	public static final String RESOURCE_TYPE = "RESOURCE_TYPE";

	/**
	 * A special {@link #RESOURCE_TYPE} value which is used for listing reports.
	 * 
	 * <p>
	 * Using this differs from using {@link ResourceDescriptor#TYPE_REPORTUNIT}
	 * in that listed reports are filtered not to include reports that are not
	 * meant to be executed by users.
	 */
	public static final String REPORT_TYPE = "REPORT_TYPE";

	/**
	 * Argument used in conjunction with {@link #LIST_RESOURCES} to specify a
	 * folder starting from which to list resources.
	 * 
	 * <p>
	 * When this argument is used, resources located under the specified folder
	 * at any level are returned by the <code>list</code> operation.
	 */
	public static final String START_FROM_DIRECTORY = "START_FROM_DIRECTORY";

	// marks to skip uploading blob from DB
	public static final String NO_RESOURCE_DATA_ATTACHMENT = "NO_ATTACHMENT";

	/**
	 * Argument used to pass the destination URI for the resource/folder
	 * copy/move operations.
	 */
	public static final String DESTINATION_URI = "DESTINATION_URI";

	private String name;
	private String value;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	@Override
	public String toString() {
		return "Argument [name=" + name + ", value=" + value + "]";
	}

}
