001    /**
002     * Copyright (c) 2000-2013 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 setAutoFocus(boolean autoFocus) {
031                    _autoFocus = autoFocus;
032            }
033    
034            public void setCssClass(String cssClass) {
035                    _cssClass = cssClass;
036            }
037    
038            public void setDayNullable(boolean dayNullable) {
039                    _dayNullable = dayNullable;
040            }
041    
042            public void setDayParam(String dayParam) {
043                    _dayParam = dayParam;
044            }
045    
046            public void setDayValue(int dayValue) {
047                    _dayValue = dayValue;
048            }
049    
050            public void setDisabled(boolean disabled) {
051                    _disabled = disabled;
052            }
053    
054            public void setDisableNamespace(boolean disableNamespace) {
055                    _disableNamespace = disableNamespace;
056            }
057    
058            public void setFirstDayOfWeek(int firstDayOfWeek) {
059                    _firstDayOfWeek = firstDayOfWeek;
060            }
061    
062            public void setFormName(String formName) {
063                    _formName = formName;
064            }
065    
066            public void setImageInputId(String imageInputId) {
067                    _imageInputId = imageInputId;
068            }
069    
070            public void setMonthAndYearNullable(boolean monthAndYearNullable) {
071                    _monthAndYearNullable = monthAndYearNullable;
072            }
073    
074            public void setMonthAndYearParam(String monthAndYearParam) {
075                    _monthAndYearParam = monthAndYearParam;
076            }
077    
078            public void setMonthNullable(boolean monthNullable) {
079                    _monthNullable = monthNullable;
080            }
081    
082            public void setMonthParam(String monthParam) {
083                    _monthParam = monthParam;
084            }
085    
086            public void setMonthValue(int monthValue) {
087                    _monthValue = monthValue;
088            }
089    
090            public void setName(String name) {
091                    _name = name;
092            }
093    
094            public void setYearNullable(boolean yearNullable) {
095                    _yearNullable = yearNullable;
096            }
097    
098            public void setYearParam(String yearParam) {
099                    _yearParam = yearParam;
100            }
101    
102            public void setYearRangeEnd(int yearRangeEnd) {
103                    _yearRangeEnd = yearRangeEnd;
104            }
105    
106            public void setYearRangeStart(int yearRangeStart) {
107                    _yearRangeStart = yearRangeStart;
108            }
109    
110            public void setYearValue(int yearValue) {
111                    _yearValue = yearValue;
112            }
113    
114            @Override
115            protected void cleanUp() {
116                    _autoFocus = false;
117                    _cssClass = null;
118                    _dayNullable = false;
119                    _dayParam = null;
120                    _dayValue = 0;
121                    _disabled = false;
122                    _disableNamespace = false;
123                    _firstDayOfWeek = Calendar.SUNDAY - 1;
124                    _formName = "fm";
125                    _imageInputId = null;
126                    _monthAndYearNullable = false;
127                    _monthAndYearParam = StringPool.BLANK;
128                    _monthNullable = false;
129                    _monthParam = null;
130                    _monthValue = -1;
131                    _yearNullable = false;
132                    _yearParam = null;
133                    _yearRangeEnd = 0;
134                    _yearRangeStart = 0;
135                    _yearValue = 0;
136            }
137    
138            @Override
139            protected String getPage() {
140                    return _PAGE;
141            }
142    
143            @Override
144            protected void setAttributes(HttpServletRequest request) {
145                    request.setAttribute(
146                            "liferay-ui:input-date:autoFocus", String.valueOf(_autoFocus));
147                    request.setAttribute("liferay-ui:input-date:cssClass",_cssClass);
148                    request.setAttribute(
149                            "liferay-ui:input-date:dayNullable", String.valueOf(_dayNullable));
150                    request.setAttribute("liferay-ui:input-date:dayParam", _dayParam);
151                    request.setAttribute(
152                            "liferay-ui:input-date:dayParamId",
153                            FriendlyURLNormalizerUtil.normalize(_dayParam));
154                    request.setAttribute(
155                            "liferay-ui:input-date:dayValue", String.valueOf(_dayValue));
156                    request.setAttribute(
157                            "liferay-ui:input-date:disabled", String.valueOf(_disabled));
158                    request.setAttribute(
159                            "liferay-ui:input-date:disableNamespace",
160                            String.valueOf(_disableNamespace));
161                    request.setAttribute(
162                            "liferay-ui:input-date:firstDayOfWeek",
163                            String.valueOf(_firstDayOfWeek));
164                    request.setAttribute("liferay-ui:input-date:formName", _formName);
165                    request.setAttribute(
166                            "liferay-ui:input-date:imageInputId", _imageInputId);
167                    request.setAttribute(
168                            "liferay-ui:input-date:monthAndYearNullable",
169                            String.valueOf(_monthAndYearNullable));
170                    request.setAttribute(
171                            "liferay-ui:input-date:monthAndYearParam", _monthAndYearParam);
172                    request.setAttribute(
173                            "liferay-ui:input-date:monthNullable",
174                            String.valueOf(_monthNullable));
175                    request.setAttribute("liferay-ui:input-date:monthParam", _monthParam);
176                    request.setAttribute(
177                            "liferay-ui:input-date:monthParamId",
178                            FriendlyURLNormalizerUtil.normalize(_monthParam));
179                    request.setAttribute(
180                            "liferay-ui:input-date:monthValue", String.valueOf(_monthValue));
181                    request.setAttribute("liferay-ui:input-date:name", _name);
182                    request.setAttribute(
183                            "liferay-ui:input-date:yearNullable",
184                            String.valueOf(_yearNullable));
185                    request.setAttribute("liferay-ui:input-date:yearParam", _yearParam);
186                    request.setAttribute(
187                            "liferay-ui:input-date:yearParamId",
188                            FriendlyURLNormalizerUtil.normalize(_yearParam));
189                    request.setAttribute(
190                            "liferay-ui:input-date:yearRangeEnd",
191                            String.valueOf(_yearRangeEnd));
192                    request.setAttribute(
193                            "liferay-ui:input-date:yearRangeStart",
194                            String.valueOf(_yearRangeStart));
195                    request.setAttribute(
196                            "liferay-ui:input-date:yearValue", String.valueOf(_yearValue));
197            }
198    
199            private static final String _PAGE = "/html/taglib/ui/input_date/page.jsp";
200    
201            private boolean _autoFocus;
202            private String _cssClass;
203            private boolean _dayNullable;
204            private String _dayParam;
205            private int _dayValue;
206            private boolean _disabled;
207            private boolean _disableNamespace;
208            private int _firstDayOfWeek = Calendar.SUNDAY - 1;
209            private String _formName = "fm";
210            private String _imageInputId;
211            private boolean _monthAndYearNullable;
212            private String _monthAndYearParam = StringPool.BLANK;
213            private boolean _monthNullable;
214            private String _monthParam;
215            private int _monthValue = -1;
216            private String _name;
217            private boolean _yearNullable;
218            private String _yearParam;
219            private int _yearRangeEnd;
220            private int _yearRangeStart;
221            private int _yearValue;
222    
223    }