Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/aendvari/tethys/tag/message/MessageTagData.java


1   /*
2    * MessageTagData.java
3    *
4    * Copyright (c) 2001, 2002 Aendvari, Ltd. All Rights Reserved.
5    *
6    * See the file LICENSE for terms of use.
7    *
8    */
9   
10  package com.aendvari.tethys.tag.message;
11  
12  import javax.servlet.*;
13  import javax.servlet.http.*;
14  import javax.servlet.jsp.*;
15  
16  import com.aendvari.tethys.context.*;
17  import com.aendvari.tethys.context.message.*;
18  
19  import com.aendvari.tethys.tag.data.TagData;
20  
21  /**
22   * <p>Provides access to message tag data.</p>
23   *
24   * <p>The objects in this class are created on demand to reduce unnecessary
25   * object creation.</p>
26   *
27   * @author Trevor Milne
28   *
29   */
30  
31  public class MessageTagData extends TagData
32  {
33    /* Variables */
34  
35  
36    /** Used to obtain tag data instances. */
37    protected static MessageTagData accessor = new MessageTagData();
38  
39    /** Container for message contexts. */
40    protected ContextMap messageContextMap;
41  
42    /** Container for message mappings. */
43    protected ContextMap messageMappingMap;
44  
45  
46    /* Constants */
47  
48  
49    protected final static String TagDataKey = TagData.TagDataBase + "/message";
50  
51  
52    /* Constructors */
53  
54  
55      /**
56       * Constructs an empty <code>MessageTagData</code>.
57       *
58       */
59  
60    public MessageTagData()
61    {
62      messageContextMap = null;
63      messageMappingMap = null;
64    }
65  
66  
67    /* Access */
68  
69  
70    /**
71     * Returns the servlet attribute key for this tag data.
72     *
73     * @return                  The servlet attribute location for this tag data.
74     *
75     */
76  
77    protected String getDataKey()
78    {
79      return TagDataKey;
80    }
81  
82    /**
83     * Returns a new instance of this tag data.
84     * This method is to be implemented by subclasses.
85     *
86     * @return                  The new tag data object.
87     *
88     */
89  
90    protected TagData createObject()
91    {
92      return new MessageTagData();
93    }
94  
95  
96    /** Wraps {@link TagData#getTagData(HttpServletRequest)}. */
97    public static MessageTagData getData(HttpServletRequest request) { return (MessageTagData)accessor.getTagData(request); }
98  
99    /** Wraps {@link TagData#getTagData(HttpSession)}. */
100   public static MessageTagData getData(HttpSession session) { return (MessageTagData)accessor.getTagData(session); }
101 
102   /** Wraps {@link TagData#getTagData(ServletContext)}. */
103   public static MessageTagData getData(ServletContext context) { return (MessageTagData)accessor.getTagData(context); }
104 
105   /** Wraps {@link TagData#getTagData(PageContext)}. */
106   public static MessageTagData getData(PageContext context) { return (MessageTagData)accessor.getTagData(context); }
107 
108   /** Wraps {@link TagData#getTagData(PageContext, String)}. */
109   public static MessageTagData getData(PageContext context, String scope) { return (MessageTagData)accessor.getTagData(context, scope); }
110 
111 
112   /** Wraps {@link TagData#setTagData(HttpServletRequest, TagData)}. */
113   public static void setData(HttpServletRequest request, MessageTagData data) { accessor.setTagData(request, data); }
114 
115   /** Wraps {@link TagData#setTagData(HttpSession, TagData)}. */
116   public static void setData(HttpSession session, MessageTagData data) { accessor.setTagData(session, data); }
117 
118   /** Wraps {@link TagData#setTagData(ServletContext, TagData)}. */
119   public static void setData(ServletContext context, MessageTagData data) { accessor.setTagData(context, data); }
120 
121   /** Wraps {@link TagData#setTagData(PageContext, String, TagData)}. */
122   public static void setData(PageContext context, String scope, MessageTagData data) { accessor.setTagData(context, scope, data); }
123 
124 
125   /* Message context map */
126 
127 
128   /**
129    * Returns the message context map of this tag data. A default instance will be created.
130    *
131    * @return                  A {@link ContextMap} instance.
132    *
133    */
134 
135   public ContextMap getMessageContextMap()
136   {
137     // check if object has not been created
138     if (messageContextMap == null)
139     {
140       // create a default context
141       MessageContext base = new MessageContext("", "");
142 
143       // create default instance
144       messageContextMap = new ContextMap(base);
145     }
146 
147     return messageContextMap;
148   }
149 
150     /**
151      * Sets the message context map of this tag data.
152      *
153      * @param    setContextMap        The new {@link ContextMap}.
154      *
155      */
156 
157   public void setMessageContextMap(ContextMap setContextMap)
158   {
159     messageContextMap = setContextMap;
160   }
161 
162 
163   /* Message mapping map */
164 
165 
166   /**
167    * Returns the message mapping map of this tag data. A default instance will be created.
168    *
169    * @return                  A {@link ContextMap} instance.
170    *
171    */
172 
173   public ContextMap getMessageMappingMap()
174   {
175     // check if object has not been created
176     if (messageMappingMap == null)
177     {
178       // create a default mapping
179       MessageMapping base = new MessageMapping("", "");
180 
181       // create default instance
182       messageMappingMap = new ContextMap(base);
183     }
184 
185     return messageMappingMap;
186   }
187 
188     /**
189      * Sets the message mapping map of this tag data.
190      *
191      * @param    setMessageMappingMap    The new {@link ContextMap}.
192      *
193      */
194 
195   public void setMessageMappingMap(ContextMap setMessageMappingMap)
196   {
197     messageMappingMap = setMessageMappingMap;
198   }
199 }
200