001 /* 002 * Copyright 1999-2001,2004 The Apache Software Foundation. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017 018 package org.apache.commons.workflow.core; 019 020 021 import org.apache.commons.digester.Digester; 022 import org.apache.commons.workflow.base.BaseRuleSet; 023 024 025 /** 026 * <p><strong>RuleSet</strong> for the Step definitions supported by the 027 * <em>core</em> library. This library is normally associated with the 028 * following namespace URI:</p> 029 * <pre> 030 * http://commons.apache.org/workflow/core 031 * </pre> 032 * 033 * @author Craig R. McClanahan 034 * @author Preston Sheldon 035 * @version $Revision: 561366 $ $Date: 2007-07-31 16:58:29 +0100 (Tue, 31 Jul 2007) $ 036 */ 037 038 public class CoreRuleSet extends BaseRuleSet { 039 040 041 // ------------------------------------------------------------ Constructor 042 043 044 /** 045 * Construct a default instance of the <code>RuleSet</code>. 046 */ 047 public CoreRuleSet() { 048 049 super(); 050 setNamespaceURI("http://commons.apache.org/workflow/core"); 051 052 } 053 054 055 // --------------------------------------------------------- Public Methods 056 057 058 /** 059 * <p>Add the set of Rule instances defined in this RuleSet to the 060 * specified <code>Digester</code> instance, associating them with 061 * our namespace URI (if any). This method should only be called 062 * by a Digester instance.</p> 063 * 064 * @param digester Digester instance to which the new Rule instances 065 * should be added. 066 */ 067 public void addRuleInstances(Digester digester) { 068 069 // Add rules for each Step defined in this package 070 addStandardStep(digester, "and", 071 "org.apache.commons.workflow.core.AndStep"); 072 addStandardStep(digester, "break", 073 "org.apache.commons.workflow.core.BreakStep"); 074 addStandardStep(digester, "call", 075 "org.apache.commons.workflow.core.CallStep"); 076 addStandardStep(digester, "construct", 077 "org.apache.commons.workflow.core.ConstructStep"); 078 addStandardStep(digester, "duplicate", 079 "org.apache.commons.workflow.core.DuplicateStep"); 080 addStandardStep(digester, "exit", 081 "org.apache.commons.workflow.core.ExitStep"); 082 addStandardStep(digester, "get", 083 "org.apache.commons.workflow.core.GetStep"); 084 addStandardStep(digester, "goto", 085 "org.apache.commons.workflow.core.GotoStep"); 086 addStandardStep(digester, "if", 087 "org.apache.commons.workflow.core.IfStep"); 088 addStandardStep(digester, "ifAny", 089 "org.apache.commons.workflow.core.IfAnyStep"); 090 addStandardStep(digester, "ifNot", 091 "org.apache.commons.workflow.core.IfNotStep"); 092 addStandardStep(digester, "ifNotAny", 093 "org.apache.commons.workflow.core.IfNotAnyStep"); 094 addStandardStep(digester, "invoke", 095 "org.apache.commons.workflow.core.InvokeStep"); 096 addStandardStep(digester, "load", 097 "org.apache.commons.workflow.core.LoadStep"); 098 addStandardStep(digester, "notAnd", 099 "org.apache.commons.workflow.core.NotAndStep"); 100 addStandardStep(digester, "notOr", 101 "org.apache.commons.workflow.core.NotOrStep"); 102 addStandardStep(digester, "or", 103 "org.apache.commons.workflow.core.OrStep"); 104 addStandardStep(digester, "pop", 105 "org.apache.commons.workflow.core.PopStep"); 106 addStandardStep(digester, "put", 107 "org.apache.commons.workflow.core.PutStep"); 108 addStandardStep(digester, "remove", 109 "org.apache.commons.workflow.core.RemoveStep"); 110 addStandardStep(digester, "string", 111 "org.apache.commons.workflow.core.StringStep"); 112 addStandardStep(digester, "suspend", 113 "org.apache.commons.workflow.core.SuspendStep"); 114 addStandardStep(digester, "swap", 115 "org.apache.commons.workflow.core.SwapStep"); 116 addStandardStep(digester, "while", 117 "org.apache.commons.workflow.core.WhileStep"); 118 addStandardStep(digester, "whileAny", 119 "org.apache.commons.workflow.core.WhileAnyStep"); 120 addStandardStep(digester, "whileNot", 121 "org.apache.commons.workflow.core.WhileNotStep"); 122 addStandardStep(digester, "whileNotAny", 123 "org.apache.commons.workflow.core.WhileNotAnyStep"); 124 125 // Add rules for all variations on descriptors being matched 126 addStandardDescriptor(digester, "bean"); // For invoke 127 addStandardDescriptor(digester, "class"); // For construct 128 addStandardDescriptor(digester, "descriptor"); // Standard version 129 130 } 131 132 133 }