All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.tapestry.ioc.Resource Maven / Gradle / Ivy

// Copyright 2006 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package org.apache.tapestry.ioc;

import java.net.URL;
import java.util.Locale;

/**
 * Represents a resource on the server that may be used for server side processing, or may be
 * exposed to the client side. Generally, this represents an abstraction on top of files on the
 * class path and files stored in the web application context.
 * 

* Resources are often used as map keys; they should be immutable and should implement hashCode() * and equals(). */ public interface Resource { /** * Returns the URL for the resource, or null if it does not exist. */ URL toURL(); /** * Returns a localized version of the resource. May return null if no such resource exists. */ Resource forLocale(Locale locale); /** * Returns a Resource based on a relative path, relative to the folder containing the resource. * Understands the "." (current folder) and ".." (parent folder) conventions, and treats * multiple sequential slashes as a single slash. */ Resource forFile(String relativePath); /** * Returns a new Resource with the extension changed (or, if the resource does not have an * extension, the extension is added). The new Resource may not exist (that is, {@link #toURL()} * may return null. * * @param extension to apply to the resource, such as "html" or "properties" * @return the new resource */ Resource withExtension(String extension); /** * Returns the portion of the path up to the last forward slash; this is the directory or folder * portion of the Resource. */ String getFolder(); /** * Returns the file portion of the Resource path, everything that follows the final forward * slash. */ String getFile(); /** * Return the path (the combination of folder and file). */ String getPath(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy