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.portal.repository.liferayrepository.model;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.repository.model.Folder;
020    import com.liferay.portal.kernel.util.Validator;
021    import com.liferay.portal.security.permission.PermissionChecker;
022    import com.liferay.portlet.documentlibrary.model.DLFolder;
023    import com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission;
024    import com.liferay.portlet.expando.model.ExpandoBridge;
025    
026    import java.io.Serializable;
027    
028    import java.util.Date;
029    import java.util.List;
030    import java.util.Map;
031    
032    /**
033     * @author Alexander Chow
034     */
035    public class LiferayFolder extends LiferayModel implements Folder {
036    
037            public LiferayFolder(DLFolder dlFolder) {
038                    _dlFolder = dlFolder;
039            }
040    
041            public LiferayFolder(DLFolder dlFolder, boolean escapedModel) {
042                    _dlFolder = dlFolder;
043                    _escapedModel = escapedModel;
044            }
045    
046            @Override
047            public boolean containsPermission(
048                            PermissionChecker permissionChecker, String actionId)
049                    throws PortalException, SystemException {
050    
051                    return DLFolderPermission.contains(
052                            permissionChecker, _dlFolder, actionId);
053            }
054    
055            @Override
056            public boolean equals(Object obj) {
057                    if (this == obj) {
058                            return true;
059                    }
060    
061                    if (!(obj instanceof LiferayFolder)) {
062                            return false;
063                    }
064    
065                    LiferayFolder liferayFolder = (LiferayFolder)obj;
066    
067                    if (Validator.equals(_dlFolder, liferayFolder._dlFolder)) {
068                            return true;
069                    }
070    
071                    return false;
072            }
073    
074            @Override
075            public List<Folder> getAncestors() throws PortalException, SystemException {
076                    return toFolders(_dlFolder.getAncestors());
077            }
078    
079            @Override
080            public Map<String, Serializable> getAttributes() {
081                    ExpandoBridge expandoBridge = getExpandoBridge();
082    
083                    return expandoBridge.getAttributes();
084            }
085    
086            @Override
087            public long getCompanyId() {
088                    return _dlFolder.getCompanyId();
089            }
090    
091            @Override
092            public Date getCreateDate() {
093                    return _dlFolder.getCreateDate();
094            }
095    
096            @Override
097            public String getDescription() {
098                    return _dlFolder.getDescription();
099            }
100    
101            @Override
102            public ExpandoBridge getExpandoBridge() {
103                    return _dlFolder.getExpandoBridge();
104            }
105    
106            @Override
107            public long getFolderId() {
108                    return _dlFolder.getFolderId();
109            }
110    
111            @Override
112            public long getGroupId() {
113                    return _dlFolder.getGroupId();
114            }
115    
116            @Override
117            public Date getLastPostDate() {
118                    return _dlFolder.getLastPostDate();
119            }
120    
121            @Override
122            public Object getModel() {
123                    return _dlFolder;
124            }
125    
126            @Override
127            public Class<?> getModelClass() {
128                    return DLFolder.class;
129            }
130    
131            @Override
132            public String getModelClassName() {
133                    return DLFolder.class.getName();
134            }
135    
136            @Override
137            public Date getModifiedDate() {
138                    return _dlFolder.getModifiedDate();
139            }
140    
141            @Override
142            public String getName() {
143                    return _dlFolder.getName();
144            }
145    
146            @Override
147            public Folder getParentFolder() throws PortalException, SystemException {
148                    DLFolder dlParentFolder = _dlFolder.getParentFolder();
149    
150                    if (dlParentFolder == null) {
151                            return null;
152                    }
153                    else {
154                            return new LiferayFolder(dlParentFolder);
155                    }
156            }
157    
158            @Override
159            public long getParentFolderId() {
160                    return _dlFolder.getParentFolderId();
161            }
162    
163            @Override
164            public long getPrimaryKey() {
165                    return _dlFolder.getPrimaryKey();
166            }
167    
168            @Override
169            public Serializable getPrimaryKeyObj() {
170                    return getPrimaryKey();
171            }
172    
173            @Override
174            public long getRepositoryId() {
175                    return _dlFolder.getRepositoryId();
176            }
177    
178            @Override
179            public long getUserId() {
180                    return _dlFolder.getUserId();
181            }
182    
183            @Override
184            public String getUserName() {
185                    return _dlFolder.getUserName();
186            }
187    
188            @Override
189            public String getUserUuid() throws SystemException {
190                    return _dlFolder.getUserUuid();
191            }
192    
193            @Override
194            public String getUuid() {
195                    return _dlFolder.getUuid();
196            }
197    
198            @Override
199            public int hashCode() {
200                    return _dlFolder.hashCode();
201            }
202    
203            @Override
204            public boolean hasInheritableLock() {
205                    return _dlFolder.hasInheritableLock();
206            }
207    
208            @Override
209            public boolean hasLock() {
210                    return _dlFolder.hasLock();
211            }
212    
213            @Override
214            public boolean isDefaultRepository() {
215                    if (_dlFolder.getGroupId() == _dlFolder.getRepositoryId()) {
216                            return true;
217                    }
218                    else {
219                            return false;
220                    }
221            }
222    
223            @Override
224            public boolean isEscapedModel() {
225                    return _escapedModel;
226            }
227    
228            @Override
229            public boolean isLocked() {
230                    return _dlFolder.isLocked();
231            }
232    
233            @Override
234            public boolean isMountPoint() {
235                    return _dlFolder.isMountPoint();
236            }
237    
238            @Override
239            public boolean isRoot() {
240                    return _dlFolder.isRoot();
241            }
242    
243            @Override
244            public boolean isSupportsLocking() {
245                    if (isMountPoint()) {
246                            return false;
247                    }
248                    else {
249                            return true;
250                    }
251            }
252    
253            @Override
254            public boolean isSupportsMetadata() {
255                    if (isMountPoint()) {
256                            return false;
257                    }
258                    else {
259                            return true;
260                    }
261            }
262    
263            @Override
264            public boolean isSupportsMultipleUpload() {
265                    if (isMountPoint()) {
266                            return false;
267                    }
268                    else {
269                            return true;
270                    }
271            }
272    
273            @Override
274            public boolean isSupportsShortcuts() {
275                    if (isMountPoint()) {
276                            return false;
277                    }
278                    else {
279                            return true;
280                    }
281            }
282    
283            @Override
284            public boolean isSupportsSocial() {
285                    if (isMountPoint()) {
286                            return false;
287                    }
288                    else {
289                            return true;
290                    }
291            }
292    
293            @Override
294            public void setCompanyId(long companyId) {
295                    _dlFolder.setCompanyId(companyId);
296            }
297    
298            @Override
299            public void setCreateDate(Date date) {
300                    _dlFolder.setCreateDate(date);
301            }
302    
303            @Override
304            public void setGroupId(long groupId) {
305                    _dlFolder.setGroupId(groupId);
306            }
307    
308            @Override
309            public void setModifiedDate(Date date) {
310                    _dlFolder.setModifiedDate(date);
311            }
312    
313            public void setPrimaryKey(long primaryKey) {
314                    _dlFolder.setPrimaryKey(primaryKey);
315            }
316    
317            @Override
318            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
319                    setPrimaryKey(((Long)primaryKeyObj).longValue());
320            }
321    
322            @Override
323            public void setUserId(long userId) {
324                    _dlFolder.setUserId(userId);
325            }
326    
327            @Override
328            public void setUserName(String userName) {
329                    _dlFolder.setUserName(userName);
330            }
331    
332            @Override
333            public void setUserUuid(String userUuid) {
334                    _dlFolder.setUserUuid(userUuid);
335            }
336    
337            @Override
338            public Folder toEscapedModel() {
339                    if (isEscapedModel()) {
340                            return this;
341                    }
342                    else {
343                            return new LiferayFolder(_dlFolder.toEscapedModel(), true);
344                    }
345            }
346    
347            @Override
348            public String toString() {
349                    return _dlFolder.toString();
350            }
351    
352            @Override
353            public Folder toUnescapedModel() {
354                    if (isEscapedModel()) {
355                            return new LiferayFolder(_dlFolder.toUnescapedModel(), true);
356                    }
357                    else {
358                            return this;
359                    }
360            }
361    
362            private DLFolder _dlFolder;
363            private boolean _escapedModel;
364    
365    }