package eu.dnetlib.contract.node;

import java.util.List;

/**
 * Encapsulates alternative definition nodes.
 * 
 * @author mhorst
 *
 */
public class RANDDefinitionNode extends AbstractContractDefinitionNode implements IRANDDefinitionNode {
	
	private List<IContractDefinitionNode> nodes = null;

	/**
	 * Default constructor for spring purposes.
	 */
	public RANDDefinitionNode() {
		super();
	}
	
	/**
	 * Constructor with list of initial nodes as parameter.
	 * @param nodes
	 */
	public RANDDefinitionNode(List<IContractDefinitionNode> nodes) {
		this();
		this.nodes = nodes;
	}
	
	/* (non-Javadoc)
	 * @see eu.dnetlib.contract.def.node.IRANDDefinitionNode#addNode(eu.dnetlib.contract.def.node.IContractDefinitionNode)
	 */
	public void addNode(IContractDefinitionNode node) {
		this.nodes.add(node);
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.contract.def.node.IRANDDefinitionNode#getNodes()
	 */
	public List<IContractDefinitionNode> getNodes() {
		return this.nodes;
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.contract.def.node.IRANDDefinitionNode#setNodes(java.util.List)
	 */
	public void setNodes(List<IContractDefinitionNode> nodes) {
		this.nodes = nodes;
	}

}
