View Javadoc

1   package edu.virginia.lib.ole.akubra;
2   
3   import java.net.URI;
4   
5   import org.akubraproject.map.IdMapper;
6   
7   /**
8    * @author ajs6f
9    * @version 1.0
10   * @see org.akubraproject.map.IdMapper
11   */
12  public class FilePrefixMapper implements IdMapper {
13  	
14  	private final static String prefix = "file:";
15  
16  	/**
17  	 * @param internalId internal ID of a blob in the mapped {@link org.akubraproject.BlobStore}
18  	 * @return {@link URI} external ID for this blob in the mapped BlobStore
19  	 * @see org.akubraproject.map.IdMapper#getExternalId(java.net.URI)
20  	 */
21  	@Override
22  	public URI getExternalId(URI internalId) throws NullPointerException {
23  		return URI.create(internalId.toString().substring(getInternalPrefix("").length()));
24  	}
25  	
26  	/**
27  	 * @param externalId external ID of a blob in the mapped {@link org.akubraproject.BlobStore}
28  	 * @return {@link URI} internal ID for this blob in the mapped BlobStore
29  	 * @see org.akubraproject.map.IdMapper#getInternalId(java.net.URI)
30  	 */
31  	@Override
32  	public URI getInternalId(URI externalId) throws NullPointerException {
33  		return URI.create(getInternalPrefix("") + externalId.toString());
34  	}
35  	
36  	/** 
37  	 * @param externalPrefix ignored
38  	 * @return {@link String} The URI prefix in use by this mapper, normally "file:"
39  	 * @see org.akubraproject.map.IdMapper#getInternalPrefix(java.lang.String)
40  	 */
41  	@Override
42  	public String getInternalPrefix(String externalPrefix)
43  			throws NullPointerException {
44  		return prefix;
45  	}
46  
47  }