This project has retired. For details please refer to its Attic page.
VelocityDirectiveGenerator xref
View Javadoc

1   /*
2    * $Id: VelocityDirectiveGenerator.java 1643653 2014-12-07 06:47:59Z nlebas $
3    *
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   * http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  package org.apache.tiles.autotag.velocity;
22  
23  import java.util.Map;
24  
25  import org.apache.tiles.autotag.generate.AbstractTemplateClassGenerator;
26  import org.apache.tiles.autotag.model.TemplateClass;
27  import org.apache.tiles.autotag.model.TemplateSuite;
28  import org.apache.velocity.app.VelocityEngine;
29  
30  /**
31   * Generates a Velocity directive using a template class.
32   *
33   * @version $Rev: 1643653 $ $Date: 2014-12-07 07:47:59 +0100 (Sun, 07 Dec 2014) $
34   */
35  public class VelocityDirectiveGenerator extends AbstractTemplateClassGenerator {
36  
37      /**
38       * Constructor.
39       *
40       * @param velocityEngine The Velocity engine.
41       */
42      public VelocityDirectiveGenerator(VelocityEngine velocityEngine) {
43          super(velocityEngine);
44      }
45  
46      @Override
47      protected String getDirectoryName(String packageName,
48              TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
49              String runtimeClass, String requestClass) {
50          return packageName.replaceAll("\\.", "/");
51      }
52  
53      @Override
54      protected String getFilename(String packageName,
55              TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
56              String runtimeClass, String requestClass) {
57          return clazz.getTagClassPrefix() + "Directive.java";
58      }
59  
60      @Override
61      protected String getTemplatePath(String packageName,
62              TemplateSuite suite, TemplateClass clazz, Map<String, String> parameters,
63              String runtimeClass, String requestClass) {
64          return "/org/apache/tiles/autotag/velocity/velocityDirective.vm";
65      }
66  }