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

    
9
public interface OAIConfigurationReader {
10

    
11
	/**
12
	 * 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
13
	 * it in the OAI Publisher Configuration profile.
14
	 */
15
	final static String ID_FIELD = "objIdentifier";
16

    
17
	final static String DATESTAMP_FIELD = "datestamp";
18

    
19
	final static String SET_FIELD = "set";
20

    
21
	final static String DELETED_FIELD = "deleted";
22

    
23
	final static String BODY_FIELD = "body";
24

    
25
	final static String UPDATED_FIELD = "updated";
26

    
27
	final static String LAST_COLLECTION_DATE_FIELD = "lastCollectionDate";
28

    
29
	List<SetInfo> getSets();
30

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

    
33
	List<String> getSetSpecs();
34

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

    
37
	SetInfo getSetInfo(final String setSpec);
38

    
39
	List<MDFInfo> getMetadataFormatInfo();
40

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

    
43
	MDFInfo getMetadataFormatInfo(final String mdPrefix);
44

    
45
	List<String> getFieldNames();
46

    
47
	List<PublisherField> getFields();
48

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

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

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

    
63
	List<MDFInfo> getSourceMetadataFormats();
64

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

    
67
}
(4-4/9)