90 lines
1.9 KiB
Java
90 lines
1.9 KiB
Java
|
|
package eu.dnetlib.dhp.schema.dump.oaf;
|
|
|
|
import com.github.imifou.jsonschema.module.addon.annotation.JsonSchema;
|
|
|
|
import java.io.Serializable;
|
|
|
|
/**
|
|
* To represent the generic persistent identifier. It has two parameters:
|
|
* - id of type
|
|
* eu.dnetlib.dhp.schema.dump.oaf.AuthorPidSchemeValue to store the scheme and value of the Persistent Identifier.
|
|
* - provenance of type eu.dnetlib.dhp.schema.dump.oaf.Provenance to store the provenance and trust of the information
|
|
*/
|
|
public class AuthorPid implements Serializable {
|
|
|
|
private AuthorPidSchemeValue id;
|
|
|
|
@JsonSchema(description="The reason why the pid was associated to the author")
|
|
private Provenance provenance;
|
|
|
|
public AuthorPidSchemeValue getId() {
|
|
return id;
|
|
}
|
|
|
|
public void setId(AuthorPidSchemeValue pid) {
|
|
this.id = pid;
|
|
}
|
|
|
|
public Provenance getProvenance() {
|
|
return provenance;
|
|
}
|
|
|
|
public void setProvenance(Provenance provenance) {
|
|
this.provenance = provenance;
|
|
}
|
|
|
|
public static AuthorPid newInstance(AuthorPidSchemeValue pid, Provenance provenance) {
|
|
AuthorPid p = new AuthorPid();
|
|
p.id = pid;
|
|
p.provenance = provenance;
|
|
|
|
return p;
|
|
}
|
|
|
|
public static AuthorPid newInstance(AuthorPidSchemeValue pid) {
|
|
AuthorPid p = new AuthorPid();
|
|
p.id = pid;
|
|
|
|
return p;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
class AuthorPidSchemeValue implements Serializable{
|
|
|
|
@JsonSchema(description="The author's pid scheme. OpenAIRE currently supports 'ORCID'")
|
|
private String scheme;
|
|
|
|
@JsonSchema(description="The author's pid value in that scheme (i.e. 0000-1111-2222-3333")
|
|
private String value;
|
|
|
|
public String getScheme() {
|
|
return scheme;
|
|
}
|
|
|
|
public void setScheme(String scheme) {
|
|
this.scheme = scheme;
|
|
}
|
|
|
|
public String getValue() {
|
|
return value;
|
|
}
|
|
|
|
public void setValue(String value) {
|
|
this.value = value;
|
|
}
|
|
|
|
public static AuthorPidSchemeValue newInstance(String scheme, String value) {
|
|
AuthorPidSchemeValue cf = new AuthorPidSchemeValue();
|
|
|
|
cf.setScheme(scheme);
|
|
cf.setValue(value);
|
|
|
|
return cf;
|
|
}
|
|
}
|
|
|
|
|