001    /**
002     * Copyright (c) 2000-present 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.language.LanguageUtil;
018    import com.liferay.portal.kernel.util.Validator;
019    import com.liferay.portal.model.ModelHintsConstants;
020    import com.liferay.taglib.util.IncludeTag;
021    
022    import java.util.Locale;
023    
024    import javax.servlet.http.HttpServletRequest;
025    
026    /**
027     * @author Julio Camarero
028     */
029    public class InputLocalizedTag extends IncludeTag {
030    
031            public Locale[] getAvailableLocales() {
032                    return _availableLocales;
033            }
034    
035            public void setAutoFocus(boolean autoFocus) {
036                    _autoFocus = autoFocus;
037            }
038    
039            public void setAutoSize(boolean autoSize) {
040                    _autoSize = autoSize;
041            }
042    
043            public void setAvailableLocales(Locale[] availableLocales) {
044                    _availableLocales = availableLocales;
045            }
046    
047            public void setCssClass(String cssClass) {
048                    _cssClass = cssClass;
049            }
050    
051            public void setDefaultLanguageId(String defaultLanguageId) {
052                    _defaultLanguageId = defaultLanguageId;
053            }
054    
055            public void setDisabled(boolean disabled) {
056                    _disabled = disabled;
057            }
058    
059            public void setDisplayWidth(String displayWidth) {
060                    _displayWidth = displayWidth;
061            }
062    
063            public void setFieldPrefix(String fieldPrefix) {
064                    _fieldPrefix = fieldPrefix;
065            }
066    
067            public void setFieldPrefixSeparator(String fieldPrefixSeparator) {
068                    _fieldPrefixSeparator = fieldPrefixSeparator;
069            }
070    
071            public void setFormName(String formName) {
072                    _formName = formName;
073            }
074    
075            public void setId(String id) {
076                    _id = id;
077            }
078    
079            public void setIgnoreRequestValue(boolean ignoreRequestValue) {
080                    _ignoreRequestValue = ignoreRequestValue;
081            }
082    
083            public void setLanguageId(String languageId) {
084                    _languageId = languageId;
085            }
086    
087            public void setMaxLength(String maxLength) {
088                    _maxLength = maxLength;
089            }
090    
091            public void setName(String name) {
092                    _name = name;
093            }
094    
095            public void setToolbarSet(String toolbarSet) {
096                    _toolbarSet = toolbarSet;
097            }
098    
099            public void setType(String type) {
100                    _type = type;
101            }
102    
103            public void setXml(String xml) {
104                    _xml = xml;
105            }
106    
107            @Override
108            protected void cleanUp() {
109                    _autoFocus = false;
110                    _autoSize = false;
111                    _cssClass = null;
112                    _disabled = false;
113                    _displayWidth = ModelHintsConstants.TEXT_DISPLAY_WIDTH;
114                    _fieldPrefix = null;
115                    _fieldPrefixSeparator = null;
116                    _formName = null;
117                    _id = null;
118                    _ignoreRequestValue = false;
119                    _languageId = null;
120                    _maxLength = null;
121                    _name = null;
122                    _toolbarSet = "simple";
123                    _type = "input";
124                    _xml = null;
125            }
126    
127            @Override
128            protected String getPage() {
129                    return _PAGE;
130            }
131    
132            @Override
133            protected void setAttributes(HttpServletRequest request) {
134                    Locale[] availableLocales = _availableLocales;
135    
136                    if (availableLocales == null) {
137                            availableLocales = LanguageUtil.getAvailableLocales();
138                    }
139    
140                    String formName = _formName;
141    
142                    if (Validator.isNull(formName)) {
143                            formName = "fm";
144                    }
145    
146                    String id = _id;
147    
148                    if (Validator.isNull(id)) {
149                            id = _name;
150                    }
151    
152                    request.setAttribute(
153                            "liferay-ui:input-localized:autoFocus", String.valueOf(_autoFocus));
154                    request.setAttribute(
155                            "liferay-ui:input-localized:autoSize", String.valueOf(_autoSize));
156                    request.setAttribute(
157                            "liferay-ui:input-localized:availableLocales", availableLocales);
158                    request.setAttribute("liferay-ui:input-localized:cssClass", _cssClass);
159                    request.setAttribute(
160                            "liferay-ui:input-localized:defaultLanguageId", _defaultLanguageId);
161                    request.setAttribute(
162                            "liferay-ui:input-localized:displayWidth", _displayWidth);
163                    request.setAttribute(
164                            "liferay-ui:input-localized:disabled", String.valueOf(_disabled));
165                    request.setAttribute(
166                            "liferay-ui:input-localized:dynamicAttributes",
167                            getDynamicAttributes());
168                    request.setAttribute(
169                            "liferay-ui:input-localized:fieldPrefix", _fieldPrefix);
170                    request.setAttribute(
171                            "liferay-ui:input-localized:fieldPrefixSeparator",
172                            _fieldPrefixSeparator);
173                    request.setAttribute("liferay-ui:input-localized:formName", formName);
174                    request.setAttribute("liferay-ui:input-localized:id", id);
175                    request.setAttribute(
176                            "liferay-ui:input-localized:ignoreRequestValue",
177                            String.valueOf(_ignoreRequestValue));
178                    request.setAttribute(
179                            "liferay-ui:input-localized:languageId", _languageId);
180                    request.setAttribute(
181                            "liferay-ui:input-localized:maxLength", _maxLength);
182                    request.setAttribute("liferay-ui:input-localized:name", _name);
183                    request.setAttribute(
184                            "liferay-ui:input-localized:toolbarSet", _toolbarSet);
185                    request.setAttribute("liferay-ui:input-localized:type", _type);
186                    request.setAttribute("liferay-ui:input-localized:xml", _xml);
187            }
188    
189            private static final String _PAGE =
190                    "/html/taglib/ui/input_localized/page.jsp";
191    
192            private boolean _autoFocus;
193            private boolean _autoSize;
194            private Locale[] _availableLocales;
195            private String _cssClass;
196            private String _defaultLanguageId;
197            private boolean _disabled;
198            private String _displayWidth = ModelHintsConstants.TEXT_DISPLAY_WIDTH;
199            private String _fieldPrefix;
200            private String _fieldPrefixSeparator;
201            private String _formName;
202            private String _id;
203            private boolean _ignoreRequestValue;
204            private String _languageId;
205            private String _maxLength;
206            private String _name;
207            private String _toolbarSet = "simple";
208            private String _type = "input";
209            private String _xml;
210    
211    }