001/** 002 * The contents of this file are subject to the license and copyright 003 * detailed in the LICENSE and NOTICE files at the root of the source 004 * tree. 005 * 006 */ 007package org.fcrepo.migration.foxml; 008 009import java.io.IOException; 010 011/** 012 * An interface whose implementations serve as a mechanism to 013 * resolve internal (to fedora/FOXML) IDs. 014 * @author mdurdin 015 */ 016public interface InternalIDResolver { 017 018 /** 019 * Gets the datastream for an internal ID. 020 * @param id the internal id referenced within a FOXML file. 021 * @return the binary content for the datastream referenced by the internal id 022 */ 023 public CachedContent resolveInternalID(String id); 024 025 /** 026 * Closes any open resources. 027 * @throws IOException 028 */ 029 public void close() throws IOException; 030}