001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.taglib.ui;
016    
017    import com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil;
018    import com.liferay.portal.kernel.util.StringPool;
019    import com.liferay.taglib.util.IncludeTag;
020    
021    import java.util.Calendar;
022    
023    import javax.servlet.http.HttpServletRequest;
024    
025    /**
026     * @author Brian Wing Shun Chan
027     */
028    public class InputDateTag extends IncludeTag {
029    
030            public void setCssClass(String cssClass) {
031                    _cssClass = cssClass;
032            }
033    
034            public void setDayNullable(boolean dayNullable) {
035                    _dayNullable = dayNullable;
036            }
037    
038            public void setDayParam(String dayParam) {
039                    _dayParam = dayParam;
040            }
041    
042            public void setDayValue(int dayValue) {
043                    _dayValue = dayValue;
044            }
045    
046            public void setDisabled(boolean disabled) {
047                    _disabled = disabled;
048            }
049    
050            public void setDisableNamespace(boolean disableNamespace) {
051                    _disableNamespace = disableNamespace;
052            }
053    
054            public void setFirstDayOfWeek(int firstDayOfWeek) {
055                    _firstDayOfWeek = firstDayOfWeek;
056            }
057    
058            public void setFormName(String formName) {
059                    _formName = formName;
060            }
061    
062            public void setImageInputId(String imageInputId) {
063                    _imageInputId = imageInputId;
064            }
065    
066            public void setMonthAndYearNullable(boolean monthAndYearNullable) {
067                    _monthAndYearNullable = monthAndYearNullable;
068            }
069    
070            public void setMonthAndYearParam(String monthAndYearParam) {
071                    _monthAndYearParam = monthAndYearParam;
072            }
073    
074            public void setMonthNullable(boolean monthNullable) {
075                    _monthNullable = monthNullable;
076            }
077    
078            public void setMonthParam(String monthParam) {
079                    _monthParam = monthParam;
080            }
081    
082            public void setMonthValue(int monthValue) {
083                    _monthValue = monthValue;
084            }
085    
086            public void setName(String name) {
087                    _name = name;
088            }
089    
090            public void setYearNullable(boolean yearNullable) {
091                    _yearNullable = yearNullable;
092            }
093    
094            public void setYearParam(String yearParam) {
095                    _yearParam = yearParam;
096            }
097    
098            public void setYearRangeEnd(int yearRangeEnd) {
099                    _yearRangeEnd = yearRangeEnd;
100            }
101    
102            public void setYearRangeStart(int yearRangeStart) {
103                    _yearRangeStart = yearRangeStart;
104            }
105    
106            public void setYearValue(int yearValue) {
107                    _yearValue = yearValue;
108            }
109    
110            @Override
111            protected void cleanUp() {
112                    _cssClass = null;
113                    _dayNullable = false;
114                    _dayParam = null;
115                    _dayValue = 0;
116                    _disabled = false;
117                    _disableNamespace = false;
118                    _firstDayOfWeek = Calendar.SUNDAY - 1;
119                    _formName = "fm";
120                    _imageInputId = null;
121                    _monthAndYearNullable = false;
122                    _monthAndYearParam = StringPool.BLANK;
123                    _monthNullable = false;
124                    _monthParam = null;
125                    _monthValue = -1;
126                    _yearNullable = false;
127                    _yearParam = null;
128                    _yearRangeEnd = 0;
129                    _yearRangeStart = 0;
130                    _yearValue = 0;
131            }
132    
133            @Override
134            protected String getPage() {
135                    return _PAGE;
136            }
137    
138            @Override
139            protected void setAttributes(HttpServletRequest request) {
140                    request.setAttribute("liferay-ui:input-date:cssClass",_cssClass);
141                    request.setAttribute(
142                            "liferay-ui:input-date:dayNullable", String.valueOf(_dayNullable));
143                    request.setAttribute("liferay-ui:input-date:dayParam", _dayParam);
144                    request.setAttribute(
145                            "liferay-ui:input-date:dayParamId",
146                            FriendlyURLNormalizerUtil.normalize(_dayParam));
147                    request.setAttribute(
148                            "liferay-ui:input-date:dayValue", String.valueOf(_dayValue));
149                    request.setAttribute(
150                            "liferay-ui:input-date:disabled", String.valueOf(_disabled));
151                    request.setAttribute(
152                            "liferay-ui:input-date:disableNamespace",
153                            String.valueOf(_disableNamespace));
154                    request.setAttribute(
155                            "liferay-ui:input-date:firstDayOfWeek",
156                            String.valueOf(_firstDayOfWeek));
157                    request.setAttribute("liferay-ui:input-date:formName", _formName);
158                    request.setAttribute(
159                            "liferay-ui:input-date:imageInputId", _imageInputId);
160                    request.setAttribute(
161                            "liferay-ui:input-date:monthAndYearNullable",
162                            String.valueOf(_monthAndYearNullable));
163                    request.setAttribute(
164                            "liferay-ui:input-date:monthAndYearParam", _monthAndYearParam);
165                    request.setAttribute(
166                            "liferay-ui:input-date:monthNullable",
167                            String.valueOf(_monthNullable));
168                    request.setAttribute("liferay-ui:input-date:monthParam", _monthParam);
169                    request.setAttribute(
170                            "liferay-ui:input-date:monthParamId",
171                            FriendlyURLNormalizerUtil.normalize(_monthParam));
172                    request.setAttribute(
173                            "liferay-ui:input-date:monthValue", String.valueOf(_monthValue));
174                    request.setAttribute("liferay-ui:input-date:name", _name);
175                    request.setAttribute(
176                            "liferay-ui:input-date:yearNullable",
177                            String.valueOf(_yearNullable));
178                    request.setAttribute("liferay-ui:input-date:yearParam", _yearParam);
179                    request.setAttribute(
180                            "liferay-ui:input-date:yearParamId",
181                            FriendlyURLNormalizerUtil.normalize(_yearParam));
182                    request.setAttribute(
183                            "liferay-ui:input-date:yearRangeEnd",
184                            String.valueOf(_yearRangeEnd));
185                    request.setAttribute(
186                            "liferay-ui:input-date:yearRangeStart",
187                            String.valueOf(_yearRangeStart));
188                    request.setAttribute(
189                            "liferay-ui:input-date:yearValue", String.valueOf(_yearValue));
190            }
191    
192            private static final String _PAGE = "/html/taglib/ui/input_date/page.jsp";
193    
194            private String _cssClass;
195            private boolean _dayNullable;
196            private String _dayParam;
197            private int _dayValue;
198            private boolean _disabled;
199            private boolean _disableNamespace;
200            private int _firstDayOfWeek = Calendar.SUNDAY - 1;
201            private String _formName = "fm";
202            private String _imageInputId;
203            private boolean _monthAndYearNullable;
204            private String _monthAndYearParam = StringPool.BLANK;
205            private boolean _monthNullable;
206            private String _monthParam;
207            private int _monthValue = -1;
208            private String _name;
209            private boolean _yearNullable;
210            private String _yearParam;
211            private int _yearRangeEnd;
212            private int _yearRangeStart;
213            private int _yearValue;
214    
215    }