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 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 setYearNullable(boolean yearNullable) {
087                    _yearNullable = yearNullable;
088            }
089    
090            public void setYearParam(String yearParam) {
091                    _yearParam = yearParam;
092            }
093    
094            public void setYearRangeEnd(int yearRangeEnd) {
095                    _yearRangeEnd = yearRangeEnd;
096            }
097    
098            public void setYearRangeStart(int yearRangeStart) {
099                    _yearRangeStart = yearRangeStart;
100            }
101    
102            public void setYearValue(int yearValue) {
103                    _yearValue = yearValue;
104            }
105    
106            @Override
107            protected void cleanUp() {
108                    _cssClass = null;
109                    _dayNullable = false;
110                    _dayParam = null;
111                    _dayValue = 0;
112                    _disabled = false;
113                    _disableNamespace = false;
114                    _firstDayOfWeek = Calendar.SUNDAY - 1;
115                    _formName = "fm";
116                    _imageInputId = null;
117                    _monthAndYearNullable = false;
118                    _monthAndYearParam = StringPool.BLANK;
119                    _monthNullable = false;
120                    _monthParam = null;
121                    _monthValue = -1;
122                    _yearNullable = false;
123                    _yearParam = null;
124                    _yearRangeEnd = 0;
125                    _yearRangeStart = 0;
126                    _yearValue = 0;
127            }
128    
129            @Override
130            protected String getPage() {
131                    return _PAGE;
132            }
133    
134            @Override
135            protected void setAttributes(HttpServletRequest request) {
136                    request.setAttribute("liferay-ui:input-date:cssClass",_cssClass);
137                    request.setAttribute(
138                            "liferay-ui:input-date:dayNullable", String.valueOf(_dayNullable));
139                    request.setAttribute("liferay-ui:input-date:dayParam", _dayParam);
140                    request.setAttribute(
141                            "liferay-ui:input-date:dayParamId",
142                            FriendlyURLNormalizerUtil.normalize(_dayParam));
143                    request.setAttribute(
144                            "liferay-ui:input-date:dayValue", String.valueOf(_dayValue));
145                    request.setAttribute(
146                            "liferay-ui:input-date:disabled", String.valueOf(_disabled));
147                    request.setAttribute(
148                            "liferay-ui:input-date:disableNamespace",
149                            String.valueOf(_disableNamespace));
150                    request.setAttribute(
151                            "liferay-ui:input-date:firstDayOfWeek",
152                            String.valueOf(_firstDayOfWeek));
153                    request.setAttribute("liferay-ui:input-date:formName", _formName);
154                    request.setAttribute(
155                            "liferay-ui:input-date:imageInputId", _imageInputId);
156                    request.setAttribute(
157                            "liferay-ui:input-date:monthAndYearNullable",
158                            String.valueOf(_monthAndYearNullable));
159                    request.setAttribute(
160                            "liferay-ui:input-date:monthAndYearParam", _monthAndYearParam);
161                    request.setAttribute(
162                            "liferay-ui:input-date:monthNullable",
163                            String.valueOf(_monthNullable));
164                    request.setAttribute("liferay-ui:input-date:monthParam", _monthParam);
165                    request.setAttribute(
166                            "liferay-ui:input-date:monthParamId",
167                            FriendlyURLNormalizerUtil.normalize(_monthParam));
168                    request.setAttribute(
169                            "liferay-ui:input-date:monthValue", String.valueOf(_monthValue));
170                    request.setAttribute(
171                            "liferay-ui:input-date:yearNullable",
172                            String.valueOf(_yearNullable));
173                    request.setAttribute("liferay-ui:input-date:yearParam", _yearParam);
174                    request.setAttribute(
175                            "liferay-ui:input-date:yearParamId",
176                            FriendlyURLNormalizerUtil.normalize(_yearParam));
177                    request.setAttribute(
178                            "liferay-ui:input-date:yearRangeEnd",
179                            String.valueOf(_yearRangeEnd));
180                    request.setAttribute(
181                            "liferay-ui:input-date:yearRangeStart",
182                            String.valueOf(_yearRangeStart));
183                    request.setAttribute(
184                            "liferay-ui:input-date:yearValue", String.valueOf(_yearValue));
185            }
186    
187            private static final String _PAGE = "/html/taglib/ui/input_date/page.jsp";
188    
189            private String _cssClass;
190            private boolean _dayNullable;
191            private String _dayParam;
192            private int _dayValue;
193            private boolean _disabled;
194            private boolean _disableNamespace;
195            private int _firstDayOfWeek = Calendar.SUNDAY - 1;
196            private String _formName = "fm";
197            private String _imageInputId;
198            private boolean _monthAndYearNullable;
199            private String _monthAndYearParam = StringPool.BLANK;
200            private boolean _monthNullable;
201            private String _monthParam;
202            private int _monthValue = -1;
203            private boolean _yearNullable;
204            private String _yearParam;
205            private int _yearRangeEnd;
206            private int _yearRangeStart;
207            private int _yearValue;
208    
209    }