1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.views;
22
23 import java.util.List;
24
25 import javax.servlet.http.HttpServletRequest;
26 import javax.servlet.http.HttpServletResponse;
27
28 import com.opensymphony.xwork2.util.ValueStack;
29
30 /***
31 * Provides Velocity and Freemarker implementation classes for a tag library
32 */
33 public interface TagLibrary {
34
35 /***
36 * Gets a Java object that contains getters for the tag library's Freemarker models.
37 * Called once per Freemarker template processing.
38 *
39 * @param stack The current value stack
40 * @param req The HTTP request
41 * @param res The HTTP response
42 * @return The Java object containing the Freemarker model getter methods
43 */
44 public Object getFreemarkerModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res);
45
46 /***
47 * Gets a list of Velocity directive classes for the tag library. Called once on framework
48 * startup when initializing Velocity.
49 *
50 * @return A list of Velocity directive classes
51 */
52 public List<Class> getVelocityDirectiveClasses();
53 }