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.temporaryrepository;
016    
017    import com.liferay.portal.kernel.repository.DocumentRepository;
018    import com.liferay.portal.kernel.repository.RepositoryFactory;
019    import com.liferay.portal.kernel.repository.capabilities.BulkOperationCapability;
020    import com.liferay.portal.kernel.repository.capabilities.TemporaryFileEntriesCapability;
021    import com.liferay.portal.kernel.repository.capabilities.WorkflowCapability;
022    import com.liferay.portal.kernel.repository.registry.BaseRepositoryDefiner;
023    import com.liferay.portal.kernel.repository.registry.CapabilityRegistry;
024    import com.liferay.portal.kernel.repository.registry.RepositoryFactoryRegistry;
025    import com.liferay.portal.repository.capabilities.LiferayBulkOperationCapability;
026    import com.liferay.portal.repository.capabilities.MinimalWorkflowCapability;
027    import com.liferay.portal.repository.capabilities.TemporaryFileEntriesCapabilityImpl;
028    
029    /**
030     * @author Iv??n Zaera
031     */
032    public class TemporaryFileEntryRepositoryDefiner extends BaseRepositoryDefiner {
033    
034            public static final String CLASS_NAME =
035                    TemporaryFileEntryRepository.class.getName();
036    
037            @Override
038            public String getClassName() {
039                    return CLASS_NAME;
040            }
041    
042            @Override
043            public boolean isExternalRepository() {
044                    return false;
045            }
046    
047            @Override
048            public void registerCapabilities(
049                    CapabilityRegistry<DocumentRepository> capabilityRegistry) {
050    
051                    DocumentRepository documentRepository = capabilityRegistry.getTarget();
052    
053                    capabilityRegistry.addExportedCapability(
054                            BulkOperationCapability.class,
055                            new LiferayBulkOperationCapability(documentRepository));
056                    capabilityRegistry.addExportedCapability(
057                            TemporaryFileEntriesCapability.class,
058                            new TemporaryFileEntriesCapabilityImpl(documentRepository));
059    
060                    capabilityRegistry.addSupportedCapability(
061                            WorkflowCapability.class, new MinimalWorkflowCapability());
062            }
063    
064            @Override
065            public void registerRepositoryFactory(
066                    RepositoryFactoryRegistry repositoryFactoryRegistry) {
067    
068                    repositoryFactoryRegistry.setRepositoryFactory(_repositoryFactory);
069            }
070    
071            public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
072                    _repositoryFactory = repositoryFactory;
073            }
074    
075            private RepositoryFactory _repositoryFactory;
076    
077    }