Project

General

Profile

1
package eu.dnetlib.oai.info;
2

    
3
import java.text.SimpleDateFormat;
4
import java.util.Date;
5
import java.util.Set;
6
import java.util.TimeZone;
7

    
8
import com.google.common.collect.Sets;
9

    
10
public class RecordInfo {
11

    
12
	private String prefix = "";
13
	private String identifier = "";
14
	private Date datestamp = null;
15
	private Set<String> setspecs = Sets.newHashSet();
16
	private String metadata = "";
17
	private String internalId = "";
18
	private boolean deleted;
19
	private String provenance = "";
20

    
21
	public RecordInfo() {
22
	}
23

    
24
	public RecordInfo(final String prefix, final String identifier, final Date datestamp, final String setspec, final String metadata, final boolean deleted) {
25
		this(prefix, identifier, datestamp, Sets.newHashSet(setspec), metadata, deleted);
26
	}
27

    
28
	public RecordInfo(final String prefix, final String identifier, final Date datestamp, final Set<String> setspecs, final String metadata,
29
			final boolean deleted) {
30
		super();
31
		this.prefix = prefix;
32
		this.identifier = identifier;
33
		this.datestamp = datestamp;
34
		this.setspecs = setspecs;
35
		this.metadata = metadata;
36
		this.deleted = deleted;
37
	}
38

    
39
	public boolean addSetspec(final String setspec) {
40
		if (!setspecs.contains(setspec)) {
41
			setspecs.add(setspec);
42
			return true;
43
		} else return false;
44
	}
45

    
46
	public String getPrefix() {
47
		return prefix;
48
	}
49

    
50
	public void setPrefix(final String prefix) {
51
		this.prefix = prefix;
52
	}
53

    
54
	public String getIdentifier() {
55
		return identifier;
56
	}
57

    
58
	public void setIdentifier(final String identifier) {
59
		this.identifier = identifier;
60
	}
61

    
62
	public Date getDatestamp() {
63
		return datestamp;
64
	}
65

    
66
	public void setDatestamp(final Date datestamp) {
67
		this.datestamp = datestamp;
68
	}
69

    
70
	public Set<String> getSetspecs() {
71
		return setspecs;
72
	}
73

    
74
	public void setSetspecs(final Set<String> setspecs) {
75
		this.setspecs = setspecs;
76
	}
77

    
78
	public String getMetadata() {
79
		return metadata;
80
	}
81

    
82
	public void setMetadata(final String metadata) {
83
		this.metadata = metadata;
84
	}
85

    
86
	/**
87
	 * @return the date formatted in ISO8601, UTC with format YYYY-MM-DDThh:mm:ssZ, where Z is the time zone.
88
	 */
89
	public String getNormalizedDatestamp() {
90
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
91
		formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
92
		String date = formatter.format(datestamp);
93
		return date.replace("+0000", "Z");
94
	}
95

    
96
	public String getInternalId() {
97
		return internalId;
98
	}
99

    
100
	public void setInternalId(final String internalId) {
101
		this.internalId = internalId;
102
	}
103

    
104
	public boolean isDeleted() {
105
		return deleted;
106
	}
107

    
108
	public void setDeleted(final boolean deleted) {
109
		this.deleted = deleted;
110
	}
111

    
112
	public String getProvenance() {
113
		return provenance;
114
	}
115

    
116
	public void setProvenance(String provenance) {
117
		this.provenance = provenance;
118
	}
119

    
120
}
(3-3/6)