...
In broad strokes then, CGI provides the following service APIS APIs (and clients):
- IngestContext attribute management for items during ingest (ingest code)
- IngestResource mapping: attaching lookup keys to resources (repository or collection managers, typically)
Combining these 2 services allows application code to select appropriate resources based on context attributes: thus have context help guide ingest.
Service APIs
To make the preceding descriptions a little more concrete, but also to illustrate how simple they might be, here are some prototype APIs.
NB: these are for illustrative purposes only, and are subject to change or outright abandonment.
ResourceMapService
Code Block |
---|
// map key to instance of resource Class resClass identified by resId
public void map(String key, Class resClass, String resId);
// remove said mapping
public void unmap(String key, Class resClass, String resId);
// return all keys mapped to resource
public Set<String> keySet(Class resClass, String resId);
|
IngestService
Code Block |
---|
// set an attribute in the IngestContext for item
public void setAttribute(int itemId, String name, String value);
// get an attribute from the IngestContext for item
public void getAttribute(int itemId, String name);
// remove Ingest context
public void clear(int itemId);
// obtain the resource we need
public <T> T findResource(int itemId, Class<T> resClass);
|