package org.teiid.designer.metadata.runtime.api; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Set; import org.teiid.designer.common.vdb.ModelInfo; /** * @since 8.0 */ public interface MetadataSource { String getName(); /** * Return all files known by this metadata source * @return */ Set<String> getEntries(); /** * Returns the file for the given path, which must exist in the entry set * @param path * @return */ File getFile(String path); /** * Get the list of model names that will provide metadata * @return */ Set<String> getConnectorMetadataModelNames(); /** * Whether to cache connector metadata * @return */ boolean cacheConnectorMetadata(); /** * Save the stream to given path. * @param path */ void saveFile(InputStream stream, String path) throws IOException; /** * Get the model with the given name. * @param name * @return */ ModelInfo getModelInfo(String name); }