package eu.dnetlib.dlms.jdbc.server;

import eu.dnetlib.dlms.lowlevel.objects.DorotyObjectEnum;

/**
 * A Variable of the Doroty Language.
 * 
 * @author lexis
 * 
 * @param <T>
 *            type of the value hold by the Variable
 */
public class Variable<T> {
	/** The Doroty type of the value. */
	private DorotyObjectEnum variableType;
	/**
	 * Value hold by the variable.
	 */
	private T variableValue;

	/** Constructor. */
	public Variable() {
	}

	/**
	 * Constructor.
	 * 
	 * @param type
	 *            Doroty type of the variable
	 * @param value
	 *            value that the variable must hold
	 */
	public Variable(final DorotyObjectEnum type, final T value) {
		this.variableType = type;
		this.variableValue = value;
	}

	public DorotyObjectEnum getVariableType() {
		return this.variableType;
	}

	public void setVariableType(final DorotyObjectEnum variableType) {
		this.variableType = variableType;
	}

	public T getVariableValue() {
		return this.variableValue;
	}

	public void setVariableValue(final T variableValue) {
		this.variableValue = variableValue;
	}

}
