
package eu.dnetlib.dhp.skgif.model;

import java.io.Serializable;
import java.util.List;

/**
 * @author miriam.baglioni
 * @Date 21/02/24
 */
public class Datasource implements Serializable {
	private String local_identifier;// id
	private List<Identifier> identifiers; // .schema pid.qualifier.classid;identifiers.value pid.value
	private String name; // officialname.value
	private String submission_policy_url;// submissionpolicyurl
	private String preservation_policy_url;// preservationpolicyurl
	private Boolean version_control;// versioncontrol bool
	private List<PersistentIdentitySystems> persistent_identity_systems;// . product_type researchentitytype list type
																		// to be remapped to the eosc types
	// persistent_identity_systems. pid_scheme pidsystems.value when not null. It can be a string with multiple values
	private String jurisdiction;// jurisdiction.classname
	private String data_source_classification;// eoscdatasourcetype.classname
	private List<String> research_product_type;// researchentitytype list type to be remapped to the eosc types
	private Boolean thematic;// thematic bool
	private List<Licence> research_product_license; // .name not mappable listresearch_product_license.url not mappable
	private List<String> research_product_access_policy;// "databaseaccesstype if open => open access
														// (https://vocabularies.coar-repositories.org/access_rights/c_abf2/)
	// if restricted => restricted access (https://vocabularies.coar-repositories.org/access_rights/c_16ec/)
	// if closed => metadata only access (https://vocabularies.coar-repositories.org/access_rights/c_14cb/) " list
	private List<Licence> research_product_metadata_license; // .name not mappable list
	// research_product_metadata_license.url not mappable
	private List<String> research_product_metadata_access_policy;// researchproductmetadataccesspolicies list with the
																	// same mapping of research_product_access_policy
	private List<MinOrganization> organization;

	public List<MinOrganization> getOrganization() {
		return organization;
	}

	public void setOrganization(List<MinOrganization> organization) {
		this.organization = organization;
	}

	public String getLocal_identifier() {
		return local_identifier;
	}

	public void setLocal_identifier(String local_identifier) {
		this.local_identifier = local_identifier;
	}

	public List<Identifier> getIdentifiers() {
		return identifiers;
	}

	public void setIdentifiers(List<Identifier> identifiers) {
		this.identifiers = identifiers;
	}

	public String getName() {
		return name;
	}

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

	public String getSubmission_policy_url() {
		return submission_policy_url;
	}

	public void setSubmission_policy_url(String submission_policy_url) {
		this.submission_policy_url = submission_policy_url;
	}

	public String getPreservation_policy_url() {
		return preservation_policy_url;
	}

	public void setPreservation_policy_url(String preservation_policy_url) {
		this.preservation_policy_url = preservation_policy_url;
	}

	public Boolean getVersion_control() {
		return version_control;
	}

	public void setVersion_control(Boolean version_control) {
		this.version_control = version_control;
	}

	public List<PersistentIdentitySystems> getPersistent_identity_systems() {
		return persistent_identity_systems;
	}

	public void setPersistent_identity_systems(List<PersistentIdentitySystems> persistent_identity_systems) {
		this.persistent_identity_systems = persistent_identity_systems;
	}

	public String getJurisdiction() {
		return jurisdiction;
	}

	public void setJurisdiction(String jurisdiction) {
		this.jurisdiction = jurisdiction;
	}

	public String getData_source_classification() {
		return data_source_classification;
	}

	public void setData_source_classification(String data_source_classification) {
		this.data_source_classification = data_source_classification;
	}

	public List<String> getResearch_product_type() {
		return research_product_type;
	}

	public void setResearch_product_type(List<String> research_product_type) {
		this.research_product_type = research_product_type;
	}

	public Boolean getThematic() {
		return thematic;
	}

	public void setThematic(Boolean thematic) {
		this.thematic = thematic;
	}

	public List<Licence> getResearch_product_license() {
		return research_product_license;
	}

	public void setResearch_product_license(List<Licence> research_product_license) {
		this.research_product_license = research_product_license;
	}

	public List<String> getResearch_product_access_policy() {
		return research_product_access_policy;
	}

	public void setResearch_product_access_policy(List<String> research_product_access_policy) {
		this.research_product_access_policy = research_product_access_policy;
	}

	public List<Licence> getResearch_product_metadata_license() {
		return research_product_metadata_license;
	}

	public void setResearch_product_metadata_license(List<Licence> research_product_metadata_license) {
		this.research_product_metadata_license = research_product_metadata_license;
	}

	public List<String> getResearch_product_metadata_access_policy() {
		return research_product_metadata_access_policy;
	}

	public void setResearch_product_metadata_access_policy(List<String> research_product_metadata_access_policy) {
		this.research_product_metadata_access_policy = research_product_metadata_access_policy;
	}
}
