001package systems.dmx.core.service; 002 003import java.io.InputStream; 004 005 006 007public interface Plugin { 008 009 /** 010 * Accesses a static resource of the plugin. A static resource is some data (images, audio, text, etc) that is 011 * contained in the plugin bundle (that is the jar file). 012 * 013 * @param name The resource name: a "/"-separated path name, relative to the plugin bundle's root directory. 014 * It may or may not begin with "/" (it makes no difference). 015 * 016 * @return An InputStream to read the static resource content. 017 * 018 * @throws RuntimeException If no such static resource is contained in the plugin bundle. 019 */ 020 InputStream getStaticResource(String name); 021 022 /** 023 * Checks if this plugin bundle contains a static resource with the given name. 024 * 025 * @param name The resource name: a "/"-separated path name, relative to the plugin bundle's root directory. 026 * It may or may not begin with "/" (it makes no difference). 027 */ 028 boolean hasStaticResource(String name); 029}