/* * 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.catalina.startup;
/** * <p><strong>RuleSet</strong> for processing the contents of a * Context definition element.</p> * * @author Craig R. McClanahan
*/ publicclass ContextRuleSet implements RuleSet {
/** * Construct an instance of this <code>RuleSet</code> with the default * matching pattern prefix.
*/ public ContextRuleSet() { this("");
}
/** * Construct an instance of this <code>RuleSet</code> with the specified * matching pattern prefix. * * @param prefix Prefix for matching pattern rules (including the * trailing slash character)
*/ public ContextRuleSet(String prefix) { this(prefix, true);
}
/** * Construct an instance of this <code>RuleSet</code> with the specified * matching pattern prefix. * * @param prefix Prefix for matching pattern rules (including the * trailing slash character) * @param create <code>true</code> if the main context instance should be * created
*/ public ContextRuleSet(String prefix, boolean create) { this.prefix = prefix; this.create = create;
}
// --------------------------------------------------------- Public Methods
/** * <p>Add the set of Rule instances defined in this RuleSet to the * specified <code>Digester</code> instance, associating them with * our namespace URI (if any). This method should only be called * by a Digester instance.</p> * * @param digester Digester instance to which the new Rule instances * should be added.
*/
@Override publicvoid addRuleInstances(Digester digester) {
if (create) {
digester.addRule(prefix + "Context", new LifecycleListenerRule
("org.apache.catalina.startup.ContextConfig", "configClass"));
digester.addSetNext(prefix + "Context", "addChild", "org.apache.catalina.Container");
}
digester.addObjectCreate(prefix + "Context/Listener", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Listener");
digester.addSetNext(prefix + "Context/Listener", "addLifecycleListener", "org.apache.catalina.LifecycleListener");
digester.addObjectCreate(prefix + "Context/Manager/Store", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Manager/Store");
digester.addSetNext(prefix + "Context/Manager/Store", "setStore", "org.apache.catalina.Store");
digester.addObjectCreate(prefix + "Context/Resources/CacheStrategy", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Resources/CacheStrategy");
digester.addSetNext(prefix + "Context/Resources/CacheStrategy", "setCacheStrategy", "org.apache.catalina.WebResourceRoot$CacheStrategy");
digester.addObjectCreate(prefix + "Context/Resources/PreResources", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Resources/PreResources");
digester.addSetNext(prefix + "Context/Resources/PreResources", "addPreResources", "org.apache.catalina.WebResourceSet");
digester.addObjectCreate(prefix + "Context/Resources/JarResources", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Resources/JarResources");
digester.addSetNext(prefix + "Context/Resources/JarResources", "addJarResources", "org.apache.catalina.WebResourceSet");
digester.addObjectCreate(prefix + "Context/Resources/PostResources", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Resources/PostResources");
digester.addSetNext(prefix + "Context/Resources/PostResources", "addPostResources", "org.apache.catalina.WebResourceSet");
digester.addObjectCreate(prefix + "Context/Valve", null, // MUST be specified in the element "className");
digester.addSetProperties(prefix + "Context/Valve");
digester.addSetNext(prefix + "Context/Valve", "addValve", "org.apache.catalina.Valve");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.