package eu.dnetlib.enabling.aas.rmi;

import java.io.Serializable;

/**
 * Attribute class. Contains basic informations about attribute with nested subattributes.
 * @author mhorst
 *
 */
public class Attribute implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1718160774404572795L;
	
	private String key;
	private String type;
	private String value;
	private Attribute[] attributes;
	
	/**
	 * Default constructor for SOAP Xfire purposes.
	 */
	public Attribute() {
		
	}
	
	
	/**
	 * Returns subattributes of given attribute.
	 * @return attributes
	 */
	public Attribute[] getAttributes() {
		return attributes;
	}
	
	/**
	 * Sets subattributes for given attribute.
	 * @param attributes
	 */
	public void setAttributes(Attribute[] attributes) {
		this.attributes = attributes;
	}
	
	/**
	 * Returns key of attribute.
	 * @return key
	 */
	public String getKey() {
		return key;
	}
	
	/**
	 * Sets key for attribute.
	 * @param key
	 */
	public void setKey(String key) {
		this.key = key;
	}
	
	
	/**
	 * Returns type of attribute.
	 * @return type
	 */
	public String getType() {
		return type;
	}
	
	
	/**
	 * Sets type for attribute.
	 * @param type
	 */
	public void setType(String type) {
		this.type = type;
	}
	
	/**
	 * Returns value of attribute.
	 * @return value
	 */
	public String getValue() {
		return value;
	}
	
	/**
	 * Sets value for attribute.
	 * @param value
	 */
	public void setValue(String value) {
		this.value = value;
	}
}
