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.portlet.journal.model.impl;
016    
017    import com.liferay.portal.kernel.util.Validator;
018    import com.liferay.portal.theme.ThemeDisplay;
019    import com.liferay.portal.webserver.WebServerServletTokenUtil;
020    import com.liferay.portlet.journal.model.JournalArticleDisplay;
021    
022    /**
023     * @author Brian Wing Shun Chan
024     * @author Raymond Aug??
025     */
026    public class JournalArticleDisplayImpl implements JournalArticleDisplay {
027    
028            public JournalArticleDisplayImpl(
029                    long companyId, long id, long resourcePrimKey, long groupId,
030                    long userId, String articleId, double version, String title,
031                    String urlTitle, String description, String[] availableLocales,
032                    String content, String ddmStructureKey, String ddmTemplateKey,
033                    boolean smallImage, long smallImageId, String smallImageURL,
034                    int numberOfPages, int currentPage, boolean paginate,
035                    boolean cacheable) {
036    
037                    _companyId = companyId;
038                    _id = id;
039                    _resourcePrimKey = resourcePrimKey;
040                    _groupId = groupId;
041                    _userId = userId;
042                    _articleId = articleId;
043                    _version = version;
044                    _title = title;
045                    _urlTitle = urlTitle;
046                    _description = description;
047                    _availableLocales = availableLocales;
048                    _content = content;
049                    _ddmStructureKey = ddmStructureKey;
050                    _ddmTemplateKey = ddmTemplateKey;
051                    _smallImage = smallImage;
052                    _smallImageId = smallImageId;
053                    _smallImageURL = smallImageURL;
054                    _numberOfPages = numberOfPages;
055                    _currentPage = currentPage;
056                    _paginate = paginate;
057                    _cacheable = cacheable;
058            }
059    
060            @Override
061            public String getArticleDisplayImageURL(ThemeDisplay themeDisplay) {
062                    if (!isSmallImage()) {
063                            return null;
064                    }
065    
066                    if (Validator.isNotNull(getSmallImageURL())) {
067                            return getSmallImageURL();
068                    }
069    
070                    return themeDisplay.getPathImage() + "/journal/article?img_id=" +
071                            getSmallImageId() + "&t=" +
072                                    WebServerServletTokenUtil.getToken(getSmallImageId());
073            }
074    
075            @Override
076            public String getArticleId() {
077                    return _articleId;
078            }
079    
080            @Override
081            public String[] getAvailableLocales() {
082                    return _availableLocales;
083            }
084    
085            @Override
086            public long getCompanyId() {
087                    return _companyId;
088            }
089    
090            @Override
091            public String getContent() {
092                    return _content;
093            }
094    
095            @Override
096            public int getCurrentPage() {
097                    return _currentPage;
098            }
099    
100            @Override
101            public String getDDMStructureKey() {
102                    return _ddmStructureKey;
103            }
104    
105            @Override
106            public String getDDMTemplateKey() {
107                    return _ddmTemplateKey;
108            }
109    
110            @Override
111            public String getDescription() {
112                    return _description;
113            }
114    
115            @Override
116            public long getGroupId() {
117                    return _groupId;
118            }
119    
120            @Override
121            public long getId() {
122                    return _id;
123            }
124    
125            @Override
126            public int getNumberOfPages() {
127                    return _numberOfPages;
128            }
129    
130            @Override
131            public long getResourcePrimKey() {
132                    return _resourcePrimKey;
133            }
134    
135            @Override
136            public long getSmallImageId() {
137                    return _smallImageId;
138            }
139    
140            @Override
141            public String getSmallImageURL() {
142                    return _smallImageURL;
143            }
144    
145            @Override
146            public String getTitle() {
147                    return _title;
148            }
149    
150            @Override
151            public String getUrlTitle() {
152                    return _urlTitle;
153            }
154    
155            @Override
156            public long getUserId() {
157                    return _userId;
158            }
159    
160            @Override
161            public double getVersion() {
162                    return _version;
163            }
164    
165            @Override
166            public boolean isCacheable() {
167                    return _cacheable;
168            }
169    
170            @Override
171            public boolean isPaginate() {
172                    return _paginate;
173            }
174    
175            @Override
176            public boolean isSmallImage() {
177                    return _smallImage;
178            }
179    
180            @Override
181            public void setCacheable(boolean cacheable) {
182                    _cacheable = cacheable;
183            }
184    
185            @Override
186            public void setContent(String content) {
187                    _content = content;
188            }
189    
190            @Override
191            public void setCurrentPage(int currentPage) {
192                    _currentPage = currentPage;
193            }
194    
195            @Override
196            public void setDDMStructureKey(String ddmStructureKey) {
197                    _ddmStructureKey = ddmStructureKey;
198            }
199    
200            @Override
201            public void setDDMTemplateKey(String ddmTemplateKey) {
202                    _ddmTemplateKey = ddmTemplateKey;
203            }
204    
205            @Override
206            public void setNumberOfPages(int numberOfPages) {
207                    _numberOfPages = numberOfPages;
208            }
209    
210            @Override
211            public void setPaginate(boolean paginate) {
212                    _paginate = paginate;
213            }
214    
215            @Override
216            public void setSmallImage(boolean smallImage) {
217                    _smallImage = smallImage;
218            }
219    
220            @Override
221            public void setSmallImageId(long smallImageId) {
222                    _smallImageId = smallImageId;
223            }
224    
225            @Override
226            public void setSmallImageURL(String smallImageURL) {
227                    _smallImageURL = smallImageURL;
228            }
229    
230            private final String _articleId;
231            private final String[] _availableLocales;
232            private boolean _cacheable;
233            private final long _companyId;
234            private String _content;
235            private int _currentPage;
236            private String _ddmStructureKey;
237            private String _ddmTemplateKey;
238            private final String _description;
239            private final long _groupId;
240            private final long _id;
241            private int _numberOfPages;
242            private boolean _paginate;
243            private final long _resourcePrimKey;
244            private boolean _smallImage;
245            private long _smallImageId;
246            private String _smallImageURL;
247            private final String _title;
248            private final String _urlTitle;
249            private final long _userId;
250            private final double _version;
251    
252    }