View Javadoc
1 package com.gotjava.web.taglibs.calendar;
2
3 import com.gotjava.model.calendar.CalendarSpan;
4
5 import javax.servlet.jsp.tagext.TagSupport;
6 import javax.servlet.jsp.tagext.BodyTagSupport;
7 import javax.servlet.jsp.tagext.BodyContent;
8 import javax.servlet.jsp.JspTagException;
9 import javax.servlet.jsp.JspWriter;
10 import java.io.IOException;
11 import java.util.Iterator;
12
13 /***
14 * <p>Description: </p>
15 * <p>Created: Mar 15, 2003</p>
16 * @author farra
17 */
18 public class SpanTag extends BodyTagSupport {
19
20 private Iterator m_spans = null;
21
22 private int m_span = CalendarSpan.MONTH;
23 private String m_spanString = "month";
24
25 public int doStartTag() throws JspTagException {
26
27
28 CalendarSpan span = (CalendarSpan) pageContext.getAttribute("currentSpan");
29
30 m_spans = span.getSubSpan(m_span);
31
32 if (!m_spans.hasNext())
33 return SKIP_BODY;
34
35 CalendarSpan cspan = (CalendarSpan) m_spans.next();
36 pageContext.setAttribute("currentSpan", cspan);
37 pageContext.setAttribute("currentDate", cspan.getStartDate());
38
39 return EVAL_BODY_BUFFERED;
40
41 }
42
43
44 public int doAfterBody()
45 {
46 try
47 {
48 BodyContent body = getBodyContent();
49 JspWriter out = body.getEnclosingWriter();
50 out.println(body.getString());
51 body.clearBody();
52 }
53 catch (IOException ex)
54 {
55 }
56 if (m_spans.hasNext())
57 {
58 CalendarSpan cspan = (CalendarSpan) m_spans.next();
59 pageContext.setAttribute("currentSpan", cspan);
60 pageContext.setAttribute("currentDate", cspan.getStartDate());
61 return EVAL_BODY_BUFFERED;
62 }
63 else
64 return SKIP_BODY;
65 }
66
67 public void setSpan(String span) {
68 m_spanString = span;
69 if(span.equalsIgnoreCase("month")){
70 m_span = CalendarSpan.MONTH;
71 }
72 else if(span.equalsIgnoreCase("week")){
73 m_span = CalendarSpan.WEEK;
74 }
75 else if(span.equalsIgnoreCase("day")){
76 m_span = CalendarSpan.DAY;
77 }
78 else if(span.equalsIgnoreCase("year")){
79 m_span = CalendarSpan.YEAR;
80 }
81 }
82
83 public String getSpan() {
84 return m_spanString;
85 }
86
87 }
88
This page was automatically generated by Maven