blob: 57679d670e21af8658c25a73a6f4d9d84aa71573 [file] [log] [blame]
/*
* Copyright 2005 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.jackrabbit.webdav.simple;
import javax.jcr.Item;
import javax.jcr.Session;
/**
* <code>ItemFilter</code>
*/
public interface ItemFilter {
/**
* Define the URIs that should be filtered out if present in the prefix
* of an items name.
*
* @param uris
*/
public void setFilteredURIs(String[] uris);
/**
* Define the namespace prefixes that should be filtered if present in
* the prefix of an items name.
*
* @param prefixes
*/
public void setFilteredPrefixes(String[] prefixes);
/**
* Set the nodetype names that should be used if a given item should be
* filtered. Note that not the nodetype(s) defined for a given item
* is relevant but rather the nodetype that defined the definition of the item.
*
* @param nodetypeNames
*/
public void setFilteredNodetypes(String[] nodetypeNames);
/**
* Returns true if the given item should be filtered.
*
* @param item to be tested
* @return true if the given item should be filtered.
*/
public boolean isFilteredItem(Item item);
/**
* Returns true if the resouce with the given name should be filtered.
*
* @param name to be tested for a filtered namespace prefix
* @param session used for looking up namespace mappings
* @return true if the given resource should be filtered.
*/
public boolean isFilteredItem(String name, Session session);
}