1 /* 2 * Copyright (C) 2005 Alfresco, Inc. 3 * 4 * Licensed under the Mozilla Public License version 1.1 5 * with a permitted attribution clause. You may obtain a 6 * copy of the License at 7 * 8 * http://www.alfresco.org/legal/license.txt 9 * 10 * Unless required by applicable law or agreed to in writing, 11 * software distributed under the License is distributed on an 12 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 13 * either express or implied. See the License for the specific 14 * language governing permissions and limitations under the 15 * License. 16 */ 17 18 package org.alfresco.service.cmr.rule; 19 20 import org.alfresco.service.cmr.action.CompositeAction; 21 22 23 /** 24 * Rule Interface 25 * 26 * @author Roy Wetherall 27 */ 28 public interface Rule extends CompositeAction 29 { 30 /** 31 * Indicates that the rule is applied to the children of the associated 32 * node, not just the node itself. 33 * <p> 34 * By default this will be set to false. 35 * 36 * @return true if the rule is applied to the children of the associated node, 37 * false otherwise 38 */ 39 boolean isAppliedToChildren(); 40 41 /** 42 * Set whether the rule is applied to all children of the associated node 43 * rather than just the node itself. 44 * 45 * @param isAppliedToChildren true if the rule should be applied to the children, false 46 * otherwise 47 */ 48 void applyToChildren(boolean isAppliedToChildren); 49 50 /** 51 * Get the rule type name 52 * 53 * @return the rule type name 54 */ 55 String getRuleTypeName(); 56 }