Project

General

Profile

1
package eu.dnetlib.oai.conf;
2

    
3
import java.util.List;
4

    
5
import eu.dnetlib.oai.PublisherField;
6
import eu.dnetlib.oai.info.SetInfo;
7
import eu.dnetlib.rmi.provision.MDFInfo;
8
import eu.dnetlib.utils.MetadataReference;
9

    
10
public interface OAIConfigurationReader {
11

    
12
	/**
13
	 * Constant names of fields used by the publisher to store records in the OAIStores. If you want an index over them, you need to specify
14
	 * it in the OAI Publisher Configuration profile.
15
	 */
16
	final static String ID_FIELD = "objIdentifier";
17

    
18
	final static String DATESTAMP_FIELD = "datestamp";
19

    
20
	final static String SET_FIELD = "set";
21

    
22
	final static String DELETED_FIELD = "deleted";
23

    
24
	final static String BODY_FIELD = "body";
25

    
26
	final static String UPDATED_FIELD = "updated";
27

    
28
	final static String LAST_COLLECTION_DATE_FIELD = "lastCollectionDate";
29

    
30
	List<SetInfo> getSets();
31

    
32
	List<SetInfo> getSets(final boolean onlyEnabled);
33

    
34
	List<String> getSetSpecs();
35

    
36
	List<String> getSetSpecs(final boolean onlyEnabled);
37

    
38
	SetInfo getSetInfo(final String setSpec);
39

    
40
	List<MDFInfo> getMetadataFormatInfo();
41

    
42
	List<MDFInfo> getMetadataFormatInfo(final boolean onlyEnabled);
43

    
44
	MDFInfo getMetadataFormatInfo(final String mdPrefix);
45

    
46
	List<String> getFieldNames();
47

    
48
	List<PublisherField> getFields();
49

    
50
	List<PublisherField> getFields(final String format, final String interpretation, final String layout);
51

    
52
	/**
53
	 * Used to generate the OAI identifiers compliant to the protocol. See
54
	 * http://www.openarchives.org/OAI/openarchivesprotocol.html#UniqueIdentifier.
55
	 */
56
	String getIdScheme();
57

    
58
	/**
59
	 * Used to generate the OAI identifiers compliant to the protocol. See
60
	 * http://www.openarchives.org/OAI/openarchivesprotocol.html#UniqueIdentifier.
61
	 */
62
	String getIdNamespace();
63

    
64
	List<MetadataReference> getSourceMetadataFormats();
65

    
66
	List<MDFInfo> getFormatsServedBy(String sourceFormatName, String sourceFormatLayout, String sourceFormatInterpretation);
67

    
68
}
(4-4/6)