KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > demo > MessageTag


1 /*
2  * @(#)MessageTag.java 1.4 02/04/04
3  *
4  * Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * - Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * - Redistribution in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  *
17  * Neither the name of Sun Microsystems, Inc. or the names of contributors
18  * may be used to endorse or promote products derived from this software
19  * without specific prior written permission.
20  *
21  * This software is provided "AS IS," without a warranty of any kind. ALL
22  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
23  * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
24  * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND
25  * ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES OR LIABILITIES
26  * SUFFERED BY LICENSEE AS A RESULT OF OR RELATING TO USE, MODIFICATION
27  * OR DISTRIBUTION OF THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
28  * SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
29  * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
30  * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
31  * ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS
32  * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
33  *
34  * You acknowledge that Software is not designed, licensed or intended
35  * for use in the design, construction, operation or maintenance of any
36  * nuclear facility.
37  *
38  */

39
40 package demo;
41
42 import java.util.*;
43 import javax.mail.*;
44 import javax.mail.internet.*;
45 import javax.servlet.jsp.*;
46 import javax.servlet.jsp.tagext.*;
47
48 /**
49  * Custom tag for retrieving a message.
50  */

51 public class MessageTag extends TagSupport {
52     private String JavaDoc folder;
53     private String JavaDoc session;
54     private int num = 1;
55
56     /**
57      * folder attribute setter method.
58      */

59     public String JavaDoc getFolder() {
60         return folder;
61     }
62     
63     /**
64      * num attribute getter method.
65      */

66     public String JavaDoc getNum() {
67         return Integer.toString(num);
68     }
69     
70     /**
71      * session attribute getter method.
72      */

73     public String JavaDoc getSession() {
74         return session;
75     }
76     
77     /**
78      * folder setter method.
79      */

80     public void setFolder(String JavaDoc folder) {
81         this.folder = folder;
82     }
83
84     /**
85      * num attribute setter method.
86      */

87     public void setNum(String JavaDoc num) {
88         this.num = Integer.parseInt(num);
89     }
90     
91     /**
92      * session attribute setter method.
93      */

94     public void setSession(String JavaDoc session) {
95         this.session = session;
96     }
97
98     /**
99      * Method for processing the start of the tag.
100      */

101     public int doStartTag() throws JspException {
102         MessageInfo messageinfo = new MessageInfo();
103         try {
104         Folder f = (Folder)pageContext.getAttribute(
105         getFolder(), PageContext.SESSION_SCOPE);
106             Message message = f.getMessage(num);
107             messageinfo.setMessage(message);
108             pageContext.setAttribute(getId(), messageinfo);
109         } catch (Exception JavaDoc ex) {
110             throw new JspException(ex.getMessage());
111         }
112  
113         return SKIP_BODY;
114    }
115 }
116
117
Popular Tags