package eu.dnetlib.espas.gui.shared;

import java.util.List;

import com.google.gwt.user.client.rpc.IsSerializable;

public class Computation extends Process implements IsSerializable {
	
	private ValidityStatus validityStatus = ValidityStatus.Valid;
	
	private boolean deleted = false;

	private String name;
	private String computationVersion;
	
	private Vocabulary computationType;
	private Vocabulary licence;
	
	private List<Citation> documentations;
	
	private List<RelatedParty> relatedParties;
	
	private List<Capability> capabilities;
	
	private List<Source> inputs;
	private Source output;
	
	private String computationKind;
	private List<Algorithm> algorithms;
	private List<Citation> softwares;
	
	private Identifier identifier;
	
	private String template;
	
	public ValidityStatus getValidityStatus() {
		return validityStatus;
	}

	public void setValidityStatus(ValidityStatus validityStatus) {
		this.validityStatus = validityStatus;
	}
	
	public boolean isDeleted() {
		return deleted;
	}

	public void setDeleted(boolean deleted) {
		this.deleted = deleted;
	}

	public String getName() {
		return name;
	}

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

	public String getComputationVersion() {
		return computationVersion;
	}

	public void setComputationVersion(String computationVersion) {
		this.computationVersion = computationVersion;
	}

	public Vocabulary getComputationType() {
		return computationType;
	}

	public void setComputationType(Vocabulary computationType) {
		this.computationType = computationType;
	}
	
	public Vocabulary getLicence() {
		return licence;
	}

	public void setLicence(Vocabulary licence) {
		this.licence = licence;
	}

	public List<Citation> getDocumentations() {
		return documentations;
	}

	public void setDocumentations(List<Citation> documentations) {
		this.documentations = documentations;
	}

	public List<RelatedParty> getRelatedParties() {
		return relatedParties;
	}

	public void setRelatedParties(List<RelatedParty> relatedParties) {
		this.relatedParties = relatedParties;
	}

	public List<Capability> getCapabilities() {
		return capabilities;
	}

	public void setCapabilities(List<Capability> capabilities) {
		this.capabilities = capabilities;
	}

	public List<Source> getInputs() {
		return inputs;
	}

	public void setInputs(List<Source> inputs) {
		this.inputs = inputs;
	}

	public Source getOutput() {
		return output;
	}

	public void setOutput(Source output) {
		this.output = output;
	}

	public String getComputationKind() {
		return computationKind;
	}

	public void setComputationKind(String computationKind) {
		this.computationKind = computationKind;
	}

	public List<Algorithm> getAlgorithms() {
		return algorithms;
	}

	public void setAlgorithms(List<Algorithm> algorithms) {
		this.algorithms = algorithms;
	}

	public List<Citation> getSoftwares() {
		return softwares;
	}

	public void setSoftwares(List<Citation> softwares) {
		this.softwares = softwares;
	}

	public Identifier getIdentifier() {
		return identifier;
	}

	public void setIdentifier(Identifier identifier) {
		this.identifier = identifier;
	}
	
	public String getTemplate() {
		return template;
	}

	public void setTemplate(String template) {
		this.template = template;
	}
}
