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.proxy;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.lar.StagedModelType;
022    import com.liferay.portal.kernel.log.Log;
023    import com.liferay.portal.kernel.log.LogFactoryUtil;
024    import com.liferay.portal.kernel.repository.model.FileEntry;
025    import com.liferay.portal.kernel.repository.model.FileVersion;
026    import com.liferay.portal.kernel.repository.model.Folder;
027    import com.liferay.portal.kernel.repository.model.RepositoryModelOperation;
028    import com.liferay.portal.kernel.util.StringPool;
029    import com.liferay.portal.model.Lock;
030    import com.liferay.portal.security.permission.PermissionChecker;
031    import com.liferay.portlet.expando.model.ExpandoBridge;
032    
033    import java.io.InputStream;
034    import java.io.Serializable;
035    
036    import java.util.Date;
037    import java.util.List;
038    import java.util.Map;
039    
040    /**
041     * @author Mika Koivisto
042     */
043    @ProviderType
044    public class FileEntryProxyBean
045            extends RepositoryModelProxyBean implements FileEntry {
046    
047            public FileEntryProxyBean(FileEntry fileEntry, ClassLoader classLoader) {
048                    super(classLoader);
049    
050                    _fileEntry = fileEntry;
051            }
052    
053            @Override
054            public Object clone() {
055                    FileEntryProxyBean fileEntryProxyBean = newFileEntryProxyBean(
056                            _fileEntry);
057    
058                    fileEntryProxyBean.setCompanyId(getCompanyId());
059                    fileEntryProxyBean.setCreateDate(getCreateDate());
060                    fileEntryProxyBean.setGroupId(getGroupId());
061                    fileEntryProxyBean.setModifiedDate(getModifiedDate());
062                    fileEntryProxyBean.setPrimaryKeyObj(getPrimaryKeyObj());
063                    fileEntryProxyBean.setUserId(getUserId());
064                    fileEntryProxyBean.setUserName(getUserName());
065    
066                    try {
067                            fileEntryProxyBean.setUserUuid(getUserUuid());
068                    }
069                    catch (SystemException se) {
070                    }
071    
072                    fileEntryProxyBean.setUuid(getUuid());
073    
074                    return fileEntryProxyBean;
075            }
076    
077            @Override
078            public boolean containsPermission(
079                            PermissionChecker permissionChecker, String actionId)
080                    throws PortalException {
081    
082                    return _fileEntry.containsPermission(permissionChecker, actionId);
083            }
084    
085            @Override
086            public void execute(RepositoryModelOperation repositoryModelOperation)
087                    throws PortalException {
088    
089                    repositoryModelOperation.execute(this);
090            }
091    
092            @Override
093            public Map<String, Serializable> getAttributes() {
094                    return _fileEntry.getAttributes();
095            }
096    
097            @Override
098            public long getCompanyId() {
099                    return _fileEntry.getCompanyId();
100            }
101    
102            @Override
103            public InputStream getContentStream() throws PortalException {
104                    return _fileEntry.getContentStream();
105            }
106    
107            @Override
108            public InputStream getContentStream(String version) throws PortalException {
109                    return _fileEntry.getContentStream(version);
110            }
111    
112            @Override
113            public Date getCreateDate() {
114                    return _fileEntry.getCreateDate();
115            }
116    
117            @Override
118            public String getDescription() {
119                    return _fileEntry.getDescription();
120            }
121    
122            @Override
123            public ExpandoBridge getExpandoBridge() {
124                    ExpandoBridge expandoBridge = _fileEntry.getExpandoBridge();
125    
126                    return (ExpandoBridge)newProxyInstance(
127                            expandoBridge, ExpandoBridge.class);
128            }
129    
130            @Override
131            public String getExtension() {
132                    return _fileEntry.getExtension();
133            }
134    
135            @Override
136            public long getFileEntryId() {
137                    return _fileEntry.getFileEntryId();
138            }
139    
140            @Override
141            public String getFileName() {
142                    return _fileEntry.getFileName();
143            }
144    
145            @Override
146            public FileVersion getFileVersion() throws PortalException {
147                    FileVersion fileVersion = _fileEntry.getFileVersion();
148    
149                    return newFileVersionProxyBean(fileVersion);
150            }
151    
152            @Override
153            public FileVersion getFileVersion(String version) throws PortalException {
154                    FileVersion fileVersion = _fileEntry.getFileVersion(version);
155    
156                    return newFileVersionProxyBean(fileVersion);
157            }
158    
159            @Override
160            public List<FileVersion> getFileVersions(int status) {
161                    List<FileVersion> fileVersions = _fileEntry.getFileVersions(status);
162    
163                    return toFileVersionProxyBeans(fileVersions);
164            }
165    
166            @Override
167            public Folder getFolder() {
168                    Folder folder = _fileEntry.getFolder();
169    
170                    return newFolderProxyBean(folder);
171            }
172    
173            @Override
174            public long getFolderId() {
175                    return _fileEntry.getFolderId();
176            }
177    
178            @Override
179            public long getGroupId() {
180                    return _fileEntry.getGroupId();
181            }
182    
183            @Override
184            public String getIcon() {
185                    return _fileEntry.getIcon();
186            }
187    
188            @Override
189            public String getIconCssClass() {
190                    return _fileEntry.getIconCssClass();
191            }
192    
193            @Override
194            public FileVersion getLatestFileVersion() throws PortalException {
195                    FileVersion fileVersion = _fileEntry.getLatestFileVersion();
196    
197                    return newFileVersionProxyBean(fileVersion);
198            }
199    
200            @Override
201            public FileVersion getLatestFileVersion(boolean trusted)
202                    throws PortalException {
203    
204                    FileVersion fileVersion = _fileEntry.getLatestFileVersion(trusted);
205    
206                    return newFileVersionProxyBean(fileVersion);
207            }
208    
209            @Override
210            public Lock getLock() {
211                    Lock lock = _fileEntry.getLock();
212    
213                    return (Lock)newProxyInstance(lock, Lock.class);
214            }
215    
216            @Override
217            public String getMimeType() {
218                    return _fileEntry.getMimeType();
219            }
220    
221            @Override
222            public String getMimeType(String version) {
223                    return _fileEntry.getMimeType(version);
224            }
225    
226            @Override
227            public Object getModel() {
228                    return _fileEntry.getModel();
229            }
230    
231            @Override
232            public Class<?> getModelClass() {
233                    return _fileEntry.getModelClass();
234            }
235    
236            @Override
237            public String getModelClassName() {
238                    return _fileEntry.getModelClassName();
239            }
240    
241            @Override
242            public Date getModifiedDate() {
243                    return _fileEntry.getModifiedDate();
244            }
245    
246            @Override
247            public long getPrimaryKey() {
248                    return _fileEntry.getPrimaryKey();
249            }
250    
251            @Override
252            public Serializable getPrimaryKeyObj() {
253                    return _fileEntry.getPrimaryKeyObj();
254            }
255    
256            @Override
257            public int getReadCount() {
258                    return _fileEntry.getReadCount();
259            }
260    
261            @Override
262            public long getRepositoryId() {
263                    return _fileEntry.getRepositoryId();
264            }
265    
266            @Override
267            public long getSize() {
268                    return _fileEntry.getSize();
269            }
270    
271            @Override
272            public StagedModelType getStagedModelType() {
273                    return _fileEntry.getStagedModelType();
274            }
275    
276            @Override
277            public String getTitle() {
278                    return _fileEntry.getTitle();
279            }
280    
281            @Override
282            public long getUserId() {
283                    return _fileEntry.getUserId();
284            }
285    
286            @Override
287            public String getUserName() {
288                    return _fileEntry.getUserName();
289            }
290    
291            @Override
292            public String getUserUuid() {
293                    return _fileEntry.getUserUuid();
294            }
295    
296            @Override
297            public String getUuid() {
298                    return _fileEntry.getUuid();
299            }
300    
301            @Override
302            public String getVersion() {
303                    return _fileEntry.getVersion();
304            }
305    
306            /**
307             * @deprecated As of 6.2.0, replaced by {@link
308             *             FileVersionProxyBean#getUserId()}
309             */
310            @Deprecated
311            @Override
312            public long getVersionUserId() {
313                    long versionUserId = 0;
314    
315                    try {
316                            FileVersion fileVersion = _fileEntry.getFileVersion();
317    
318                            versionUserId = fileVersion.getUserId();
319                    }
320                    catch (Exception e) {
321                            _log.error(e, e);
322                    }
323    
324                    return versionUserId;
325            }
326    
327            /**
328             * @deprecated As of 6.2.0, replaced by {@link
329             *             FileVersionProxyBean#getUserName()}
330             */
331            @Deprecated
332            @Override
333            public String getVersionUserName() {
334                    String versionUserName = StringPool.BLANK;
335    
336                    try {
337                            FileVersion fileVersion = _fileEntry.getFileVersion();
338    
339                            versionUserName = fileVersion.getUserName();
340                    }
341                    catch (Exception e) {
342                            _log.error(e, e);
343                    }
344    
345                    return versionUserName;
346            }
347    
348            /**
349             * @deprecated As of 6.2.0, replaced by {@link
350             *             FileVersionProxyBean#getUserUuid()}
351             */
352            @Deprecated
353            @Override
354            public String getVersionUserUuid() {
355                    String versionUserUuid = StringPool.BLANK;
356    
357                    try {
358                            FileVersion fileVersion = _fileEntry.getFileVersion();
359    
360                            versionUserUuid = fileVersion.getUserUuid();
361                    }
362                    catch (Exception e) {
363                            _log.error(e, e);
364                    }
365    
366                    return versionUserUuid;
367            }
368    
369            @Override
370            public boolean hasLock() {
371                    return _fileEntry.hasLock();
372            }
373    
374            @Override
375            public boolean isCheckedOut() {
376                    return _fileEntry.isCheckedOut();
377            }
378    
379            @Override
380            public boolean isDefaultRepository() {
381                    return _fileEntry.isDefaultRepository();
382            }
383    
384            @Override
385            public boolean isEscapedModel() {
386                    return _fileEntry.isEscapedModel();
387            }
388    
389            @Override
390            public boolean isInTrash() {
391                    return _fileEntry.isInTrash();
392            }
393    
394            @Override
395            public boolean isInTrashContainer() {
396                    return _fileEntry.isInTrashContainer();
397            }
398    
399            @Override
400            public boolean isManualCheckInRequired() {
401                    return _fileEntry.isManualCheckInRequired();
402            }
403    
404            @Override
405            public boolean isSupportsLocking() {
406                    return _fileEntry.isSupportsLocking();
407            }
408    
409            @Override
410            public boolean isSupportsMetadata() {
411                    return _fileEntry.isSupportsMetadata();
412            }
413    
414            @Override
415            public boolean isSupportsSocial() {
416                    return _fileEntry.isSupportsSocial();
417            }
418    
419            @Override
420            public void setCompanyId(long companyId) {
421                    _fileEntry.setCompanyId(companyId);
422            }
423    
424            @Override
425            public void setCreateDate(Date date) {
426                    _fileEntry.setCreateDate(date);
427            }
428    
429            @Override
430            public void setGroupId(long groupId) {
431                    _fileEntry.setGroupId(groupId);
432            }
433    
434            @Override
435            public void setModifiedDate(Date date) {
436                    _fileEntry.setModifiedDate(date);
437            }
438    
439            @Override
440            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
441                    _fileEntry.setPrimaryKeyObj(primaryKeyObj);
442            }
443    
444            @Override
445            public void setUserId(long userId) {
446                    _fileEntry.setUserId(userId);
447            }
448    
449            @Override
450            public void setUserName(String userName) {
451                    _fileEntry.setUserName(userName);
452            }
453    
454            @Override
455            public void setUserUuid(String userUuid) {
456                    _fileEntry.setUserUuid(userUuid);
457            }
458    
459            @Override
460            public void setUuid(String uuid) {
461                    _fileEntry.setUuid(uuid);
462            }
463    
464            @Override
465            public FileEntry toEscapedModel() {
466                    FileEntry fileEntry = _fileEntry.toEscapedModel();
467    
468                    return newFileEntryProxyBean(fileEntry);
469            }
470    
471            @Override
472            public FileEntry toUnescapedModel() {
473                    FileEntry fileEntry = _fileEntry.toUnescapedModel();
474    
475                    return newFileEntryProxyBean(fileEntry);
476            }
477    
478            private static final Log _log = LogFactoryUtil.getLog(
479                    FileEntryProxyBean.class);
480    
481            private final FileEntry _fileEntry;
482    
483    }