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.portal.repository.liferayrepository.model;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.repository.model.FileShortcut;
019    import com.liferay.portal.kernel.repository.model.FileVersion;
020    import com.liferay.portal.kernel.repository.model.Folder;
021    import com.liferay.portal.kernel.repository.model.RepositoryModelOperation;
022    import com.liferay.portal.kernel.util.Validator;
023    import com.liferay.portal.security.permission.PermissionChecker;
024    import com.liferay.portlet.documentlibrary.model.DLFileShortcut;
025    import com.liferay.portlet.documentlibrary.model.DLFileShortcutConstants;
026    import com.liferay.portlet.documentlibrary.service.permission.DLFileShortcutPermission;
027    import com.liferay.portlet.expando.model.ExpandoBridge;
028    import com.liferay.portlet.exportimport.lar.StagedModelType;
029    
030    import java.io.Serializable;
031    
032    import java.util.Date;
033    import java.util.Map;
034    
035    /**
036     * @author Adolfo P??rez
037     * @author Roberto D??az
038     */
039    public class LiferayFileShortcut extends LiferayModel implements FileShortcut {
040    
041            public LiferayFileShortcut(DLFileShortcut dlFileShortcut) {
042                    this (dlFileShortcut, dlFileShortcut.isEscapedModel());
043            }
044    
045            public LiferayFileShortcut(
046                    DLFileShortcut dlFileShortcut, boolean escapedModel) {
047    
048                    _dlFileShortcut = dlFileShortcut;
049                    _escapedModel = escapedModel;
050            }
051    
052            @Override
053            public Object clone() {
054                    return new LiferayFileShortcut(_dlFileShortcut);
055            }
056    
057            @Override
058            public boolean containsPermission(
059                    PermissionChecker permissionChecker, String actionId) {
060    
061                    return DLFileShortcutPermission.contains(
062                            permissionChecker, _dlFileShortcut, actionId);
063            }
064    
065            @Override
066            public boolean equals(Object obj) {
067                    if (this == obj) {
068                            return true;
069                    }
070    
071                    if (!(obj instanceof LiferayFileShortcut)) {
072                            return false;
073                    }
074    
075                    LiferayFileShortcut liferayFileShortcut = (LiferayFileShortcut)obj;
076    
077                    if (Validator.equals(
078                                    _dlFileShortcut, liferayFileShortcut._dlFileShortcut)) {
079    
080                            return true;
081                    }
082    
083                    return false;
084            }
085    
086            @Override
087            public void execute(RepositoryModelOperation repositoryModelOperation)
088                    throws PortalException {
089    
090                    repositoryModelOperation.execute(this);
091            }
092    
093            @Override
094            public Map<String, Serializable> getAttributes() {
095                    ExpandoBridge expandoBridge = getExpandoBridge();
096    
097                    return expandoBridge.getAttributes();
098            }
099    
100            @Override
101            public long getCompanyId() {
102                    return _dlFileShortcut.getCompanyId();
103            }
104    
105            @Override
106            public Date getCreateDate() {
107                    return _dlFileShortcut.getCreateDate();
108            }
109    
110            @Override
111            public ExpandoBridge getExpandoBridge() {
112                    return _dlFileShortcut.getExpandoBridge();
113            }
114    
115            @Override
116            public long getFileShortcutId() {
117                    return _dlFileShortcut.getFileShortcutId();
118            }
119    
120            @Override
121            public FileVersion getFileVersion() throws PortalException {
122                    return _dlFileShortcut.getFileVersion();
123            }
124    
125            @Override
126            public Folder getFolder() throws PortalException {
127                    return _dlFileShortcut.getFolder();
128            }
129    
130            @Override
131            public long getFolderId() {
132                    return _dlFileShortcut.getFolderId();
133            }
134    
135            @Override
136            public long getGroupId() {
137                    return _dlFileShortcut.getGroupId();
138            }
139    
140            @Override
141            public Date getLastPublishDate() {
142                    return _dlFileShortcut.getLastPublishDate();
143            }
144    
145            @Override
146            public Object getModel() {
147                    return _dlFileShortcut;
148            }
149    
150            @Override
151            public Class<?> getModelClass() {
152                    return LiferayFileShortcut.class;
153            }
154    
155            @Override
156            public String getModelClassName() {
157                    return LiferayFileShortcut.class.getName();
158            }
159    
160            @Override
161            public Date getModifiedDate() {
162                    return _dlFileShortcut.getModifiedDate();
163            }
164    
165            @Override
166            public long getPrimaryKey() {
167                    return _dlFileShortcut.getPrimaryKey();
168            }
169    
170            @Override
171            public Serializable getPrimaryKeyObj() {
172                    return getPrimaryKey();
173            }
174    
175            @Override
176            public long getRepositoryId() {
177                    return _dlFileShortcut.getRepositoryId();
178            }
179    
180            @Override
181            public StagedModelType getStagedModelType() {
182                    return new StagedModelType(DLFileShortcutConstants.getClassName());
183            }
184    
185            @Override
186            public long getToFileEntryId() {
187                    return _dlFileShortcut.getToFileEntryId();
188            }
189    
190            @Override
191            public String getToTitle() {
192                    return _dlFileShortcut.getToTitle();
193            }
194    
195            @Override
196            public long getUserId() {
197                    return _dlFileShortcut.getUserId();
198            }
199    
200            @Override
201            public String getUserName() {
202                    return _dlFileShortcut.getUserName();
203            }
204    
205            @Override
206            public String getUserUuid() {
207                    return _dlFileShortcut.getUserUuid();
208            }
209    
210            @Override
211            public String getUuid() {
212                    return _dlFileShortcut.getUuid();
213            }
214    
215            @Override
216            public int hashCode() {
217                    return _dlFileShortcut.hashCode();
218            }
219    
220            @Override
221            public boolean isEscapedModel() {
222                    return _escapedModel;
223            }
224    
225            @Override
226            public void setCompanyId(long companyId) {
227                    _dlFileShortcut.setCompanyId(companyId);
228            }
229    
230            @Override
231            public void setCreateDate(Date createDate) {
232                    _dlFileShortcut.setCreateDate(createDate);
233            }
234    
235            @Override
236            public void setGroupId(long groupId) {
237                    _dlFileShortcut.setGroupId(groupId);
238            }
239    
240            @Override
241            public void setLastPublishDate(Date lastPublishDate) {
242                    _dlFileShortcut.setLastPublishDate(lastPublishDate);
243            }
244    
245            @Override
246            public void setModifiedDate(Date modifiedDate) {
247                    _dlFileShortcut.setModifiedDate(modifiedDate);
248            }
249    
250            public void setPrimaryKey(long primaryKey) {
251                    _dlFileShortcut.setPrimaryKey(primaryKey);
252            }
253    
254            @Override
255            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
256                    setPrimaryKey(((Long)primaryKeyObj).longValue());
257            }
258    
259            @Override
260            public void setUserId(long userId) {
261                    _dlFileShortcut.setUserId(userId);
262            }
263    
264            @Override
265            public void setUserName(String userName) {
266                    _dlFileShortcut.setUserName(userName);
267            }
268    
269            @Override
270            public void setUserUuid(String userUuid) {
271                    _dlFileShortcut.setUserUuid(userUuid);
272            }
273    
274            @Override
275            public void setUuid(String uuid) {
276                    _dlFileShortcut.setUuid(uuid);
277            }
278    
279            @Override
280            public FileShortcut toEscapedModel() {
281                    if (isEscapedModel()) {
282                            return this;
283                    }
284                    else {
285                            return new LiferayFileShortcut(
286                                    _dlFileShortcut.toEscapedModel(), true);
287                    }
288            }
289    
290            @Override
291            public FileShortcut toUnescapedModel() {
292                    if (isEscapedModel()) {
293                            return new LiferayFileShortcut(
294                                    _dlFileShortcut.toUnescapedModel(), true);
295                    }
296                    else {
297                            return this;
298                    }
299            }
300    
301            private final DLFileShortcut _dlFileShortcut;
302            private final boolean _escapedModel;
303    
304    }