001 // Copyright 2007 Waterken Inc. under the terms of the MIT X license
002 // found at http://www.opensource.org/licenses/mit-license.html
003 package org.waterken.syntax;
004
005 import java.lang.reflect.Type;
006
007 /**
008 * A reference importer.
009 */
010 public interface
011 Importer {
012
013 /**
014 * Imports a reference.
015 * @param href reference identifier
016 * @param base base URL, may be <code>null</code>
017 * @param type types implemented by the referenced object
018 * @return corresponding reference
019 * @throws Exception any problem connecting to the identified reference
020 */
021 Object apply(String href, String base, Type... type) throws Exception;
022 }