ckan2zenodo-library/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/Mapping.java

56 lines
951 B
Java
Raw Normal View History

2019-12-03 12:50:36 +01:00
package org.gcube.data.publishing.ckan2zenodo.model;
import java.util.HashMap;
2019-12-03 17:20:12 +01:00
import java.util.List;
2019-12-03 12:50:36 +01:00
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
2019-12-03 15:58:35 +01:00
import lombok.Setter;
2019-12-05 11:56:51 +01:00
import lombok.ToString;
2019-12-03 12:50:36 +01:00
@RequiredArgsConstructor
@Getter
2019-12-05 11:56:51 +01:00
@ToString
2019-12-03 12:50:36 +01:00
public class Mapping {
2019-12-03 17:20:12 +01:00
@RequiredArgsConstructor
@Getter
2019-12-05 11:56:51 +01:00
@ToString
2019-12-03 17:20:12 +01:00
public static class Regexp{
public static enum Type{
replace,extract
}
@NonNull
private Type type;
@NonNull
private String target;
@Setter
private String replacement;
}
2019-12-05 11:56:51 +01:00
@RequiredArgsConstructor
@Getter
@ToString
public static class Source{
public static enum Type{
jsonPath,constant
}
@NonNull
private Type type;
@NonNull
private String value;
}
2019-12-03 17:20:12 +01:00
2019-12-03 12:50:36 +01:00
@NonNull
2019-12-05 11:56:51 +01:00
private Source source;
@NonNull
private String targetPath;
2019-12-03 12:50:36 +01:00
@NonNull
2019-12-05 11:56:51 +01:00
private String targetElement;
2019-12-03 12:50:36 +01:00
@NonNull
private HashMap<String,String> valueMapping;
2019-12-03 17:20:12 +01:00
@NonNull
private List<Regexp> regexp;
2019-12-03 15:58:35 +01:00
2019-12-03 12:50:36 +01:00
}