/* Locator.java Purpose: Description: History: 90/12/07 10:07:23, Create, Tom M. Yeh. Copyright (C) 2001 Potix Corporation. All Rights Reserved. {{IS_RIGHT This program is distributed under LGPL Version 2.1 in the hope that it will be useful, but WITHOUT ANY WARRANTY. }}IS_RIGHT */ package org.zkoss.util.resource; import java.net.URL; import java.io.InputStream; /** * A locator that is able to locate a resource. * * @author tomyeh * @see Locators#getDefault */ public interface Locator { /** Returns the directory used to resolve the relative path, or null * if relative path is not allowed. * * <p>Note: if the returned directory is not null, it must end with '/'. */ public String getDirectory(); /** * Finds the resource with the given name. A resource is some data * (images, audio, text, etc) that can be accessed by class code in * a way that is independent of the location of the code. * * @return a URL for reading the resource, or null if the resource * could not be found or the caller doesn't have adequate privileges * to get the resource */ public URL getResource(String name); /** * Returns an input stream for reading the specified resource. * * @return an input stream for reading the resource, or null if the * resource could not be found or the caller doesn't have adequate * privileges to get the resource */ public InputStream getResourceAsStream(String name); }