/******************************************************************************* * Licensed to the Apache Software Foundation (ASF) under one or * more contributor license agreements. See the NOTICE file * distributed with this work for additional information regarding * copyright ownership. The ASF licenses this file to you 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.sling.xss.impl; /** * This interface defines a protection context. */ public interface XSSFilterRule { /** * Check to see if a given string contains policy violations. * * @param policyHandler the policy handler to use for filtering * @param src the input to check * @return true if the source string is free of policy violations (as defined by policyHandler) */ boolean check(PolicyHandler policyHandler, String src); /** * Filter a given string to remove any policy violations. * * @param policyHandler the policy handler to use for filtering * @param src the input to filter * @return a filtered string which is "safe" (as defined by policyHandler) */ String filter(PolicyHandler policyHandler, String src); boolean supportsPolicy(); }