1/*2 * $Id: AbstractTilesInitializerServlet.java 797540 2009-07-24 15:42:00Z apetrelli $3 *4 * Licensed to the Apache Software Foundation (ASF) under one5 * or more contributor license agreements. See the NOTICE file6 * distributed with this work for additional information7 * regarding copyright ownership. The ASF licenses this file8 * to you under the Apache License, Version 2.0 (the9 * "License"); you may not use this file except in compliance10 * with the License. You may obtain a copy of the License at11 *12 * http://www.apache.org/licenses/LICENSE-2.013 *14 * Unless required by applicable law or agreed to in writing,15 * software distributed under the License is distributed on an16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY17 * KIND, either express or implied. See the License for the18 * specific language governing permissions and limitations19 * under the License.20 */21package org.apache.tiles.web.startup;
2223import javax.servlet.ServletContext;
24import javax.servlet.ServletException;
25import javax.servlet.http.HttpServlet;
2627import org.apache.tiles.servlet.context.ServletTilesApplicationContext;
28import org.apache.tiles.startup.TilesInitializer;
29import org.apache.tiles.web.util.ServletContextAdapter;
3031/***32 * Abstract Initialization Servlet. Uses a {@link TilesInitializer}, created by33 * {@link #createTilesInitializer()} to initialize Tiles.34 *35 * @see org.apache.tiles.web.startup.TilesListener36 * @version $Rev: 797540 $ $Date: 2009-07-24 17:42:00 +0200 (ven, 24 lug 2009) $37 * @since 2.2.038 */39publicabstractclassAbstractTilesInitializerServletextends HttpServlet {
4041/***42 * The private listener instance, that is used to initialize Tiles43 * container.44 */45private TilesInitializer initializer;
4647/*** {@inheritDoc} */48 @Override
49publicvoid destroy() {
50 initializer.destroy();
51 }
5253/*** {@inheritDoc} */54 @Override
55publicvoid init() throws ServletException {
56 initializer = createTilesInitializer();
57 ServletContext adaptedContext = newServletContextAdapter(
58 getServletConfig());
59ServletTilesApplicationContext preliminaryContext = newServletTilesApplicationContext(
60 adaptedContext);
61 initializer.initialize(preliminaryContext);
62 }
6364/***65 * Creates a new instance of {@link TilesInitializer}. Implement it to use66 * your custom initializer.67 *68 * @return The Tiles servlet-based initializer.69 * @since 2.2.070 */71protectedabstract TilesInitializer createTilesInitializer();
72 }