001    // Copyright 2004, 2005 The Apache Software Foundation
002    //
003    // Licensed under the Apache License, Version 2.0 (the "License");
004    // you may not use this file except in compliance with the License.
005    // You may obtain a copy of the License at
006    //
007    //     http://www.apache.org/licenses/LICENSE-2.0
008    //
009    // Unless required by applicable law or agreed to in writing, software
010    // distributed under the License is distributed on an "AS IS" BASIS,
011    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
012    // See the License for the specific language governing permissions and
013    // limitations under the License.
014    package org.apache.tapestry.asset;
015    
016    import org.apache.hivemind.Resource;
017    import org.apache.tapestry.IAsset;
018    
019    /**
020     * Responsible for determining if the path string of a {@link Resource} -
021     * typically involving {@link IAsset} resources being examined by the 
022     * {@link AssetService} - match the configured resource match strings
023     * of this service.
024     *
025     * <p/>Currently used by {@link AssetService} to enable having unprotected 
026     * resources based off of regexp patterns. 
027     *
028     * @author jkuhnert
029     */
030    public interface ResourceMatcher {
031    
032        /**
033         * Checks for the existance of a resource pattern that matches the incoming
034         * path string.
035         * @param path The path to a resource
036         * @return True if the path is matched against one of the patterns configured
037         *         for this matcher, false otherwise.
038         */
039        
040        boolean containsResource(String path);
041    }