com.liferay.portal.kernel.service.RepositoryLocalService.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.portal.kernel.service.RepositoryLocalService.java

Source

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.portal.kernel.service;

import com.liferay.exportimport.kernel.lar.PortletDataContext;
import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
import com.liferay.portal.kernel.dao.orm.Projection;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.model.PersistedModel;
import com.liferay.portal.kernel.model.Repository;
import com.liferay.portal.kernel.model.SystemEventConstants;
import com.liferay.portal.kernel.search.Indexable;
import com.liferay.portal.kernel.search.IndexableType;
import com.liferay.portal.kernel.systemevent.SystemEvent;
import com.liferay.portal.kernel.transaction.Isolation;
import com.liferay.portal.kernel.transaction.Propagation;
import com.liferay.portal.kernel.transaction.Transactional;
import com.liferay.portal.kernel.util.OrderByComparator;
import com.liferay.portal.kernel.util.UnicodeProperties;

import java.io.Serializable;

import java.util.List;

import org.osgi.annotation.versioning.ProviderType;

/**
 * Provides the local service interface for Repository. Methods of this
 * service will not have security checks based on the propagated JAAS
 * credentials because this service can only be accessed from within the same
 * VM.
 *
 * @author Brian Wing Shun Chan
 * @see RepositoryLocalServiceUtil
 * @generated
 */
@ProviderType
@Transactional(isolation = Isolation.PORTAL, rollbackFor = { PortalException.class, SystemException.class })
public interface RepositoryLocalService extends BaseLocalService, PersistedModelLocalService {

    /**
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. Always use {@link RepositoryLocalServiceUtil} to access the repository local service. Add custom service methods to <code>com.liferay.portal.service.impl.RepositoryLocalServiceImpl</code> and rerun ServiceBuilder to automatically copy the method declarations to this interface.
     */
    public Repository addRepository(long userId, long groupId, long classNameId, long parentFolderId, String name,
            String description, String portletId, UnicodeProperties typeSettingsProperties, boolean hidden,
            ServiceContext serviceContext) throws PortalException;

    /**
     * Adds the repository to the database. Also notifies the appropriate model listeners.
     *
     * @param repository the repository
     * @return the repository that was added
     */
    @Indexable(type = IndexableType.REINDEX)
    public Repository addRepository(Repository repository);

    public void checkRepository(long repositoryId);

    /**
     * Creates a new repository with the primary key. Does not add the repository to the database.
     *
     * @param repositoryId the primary key for the new repository
     * @return the new repository
     */
    @Transactional(enabled = false)
    public Repository createRepository(long repositoryId);

    /**
     * @throws PortalException
     */
    @Override
    public PersistedModel deletePersistedModel(PersistedModel persistedModel) throws PortalException;

    public void deleteRepositories(long groupId) throws PortalException;

    /**
     * Deletes the repository with the primary key from the database. Also notifies the appropriate model listeners.
     *
     * @param repositoryId the primary key of the repository
     * @return the repository that was removed
     * @throws PortalException if a repository with the primary key could not be found
     */
    @Indexable(type = IndexableType.DELETE)
    public Repository deleteRepository(long repositoryId) throws PortalException;

    /**
     * Deletes the repository from the database. Also notifies the appropriate model listeners.
     *
     * @param repository the repository
     * @return the repository that was removed
     */
    @Indexable(type = IndexableType.DELETE)
    @SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
    public Repository deleteRepository(Repository repository);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public DynamicQuery dynamicQuery();

    /**
     * Performs a dynamic query on the database and returns the matching rows.
     *
     * @param dynamicQuery the dynamic query
     * @return the matching rows
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);

    /**
     * Performs a dynamic query on the database and returns a range of the matching rows.
     *
     * <p>
     * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to <code>com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS</code> will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent, then the query will include the default ORDER BY logic from <code>com.liferay.portal.model.impl.RepositoryModelImpl</code>.
     * </p>
     *
     * @param dynamicQuery the dynamic query
     * @param start the lower bound of the range of model instances
     * @param end the upper bound of the range of model instances (not inclusive)
     * @return the range of matching rows
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end);

    /**
     * Performs a dynamic query on the database and returns an ordered range of the matching rows.
     *
     * <p>
     * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to <code>com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS</code> will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent, then the query will include the default ORDER BY logic from <code>com.liferay.portal.model.impl.RepositoryModelImpl</code>.
     * </p>
     *
     * @param dynamicQuery the dynamic query
     * @param start the lower bound of the range of model instances
     * @param end the upper bound of the range of model instances (not inclusive)
     * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
     * @return the ordered range of matching rows
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, int end,
            OrderByComparator<T> orderByComparator);

    /**
     * Returns the number of rows matching the dynamic query.
     *
     * @param dynamicQuery the dynamic query
     * @return the number of rows matching the dynamic query
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public long dynamicQueryCount(DynamicQuery dynamicQuery);

    /**
     * Returns the number of rows matching the dynamic query.
     *
     * @param dynamicQuery the dynamic query
     * @param projection the projection to apply to the query
     * @return the number of rows matching the dynamic query
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public long dynamicQueryCount(DynamicQuery dynamicQuery, Projection projection);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository fetchRepository(long repositoryId);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository fetchRepository(long groupId, String portletId);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository fetchRepository(long groupId, String name, String portletId);

    /**
     * Returns the repository matching the UUID and group.
     *
     * @param uuid the repository's UUID
     * @param groupId the primary key of the group
     * @return the matching repository, or <code>null</code> if a matching repository could not be found
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository fetchRepositoryByUuidAndGroupId(String uuid, long groupId);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public ActionableDynamicQuery getActionableDynamicQuery();

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public ExportActionableDynamicQuery getExportActionableDynamicQuery(PortletDataContext portletDataContext);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public List<Repository> getGroupRepositories(long groupId);

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();

    /**
     * Returns the OSGi service identifier.
     *
     * @return the OSGi service identifier
     */
    public String getOSGiServiceIdentifier();

    @Override
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public PersistedModel getPersistedModel(Serializable primaryKeyObj) throws PortalException;

    /**
     * Returns a range of all the repositories.
     *
     * <p>
     * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to <code>com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS</code> will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent, then the query will include the default ORDER BY logic from <code>com.liferay.portal.model.impl.RepositoryModelImpl</code>.
     * </p>
     *
     * @param start the lower bound of the range of repositories
     * @param end the upper bound of the range of repositories (not inclusive)
     * @return the range of repositories
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public List<Repository> getRepositories(int start, int end);

    /**
     * Returns all the repositories matching the UUID and company.
     *
     * @param uuid the UUID of the repositories
     * @param companyId the primary key of the company
     * @return the matching repositories, or an empty list if no matches were found
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public List<Repository> getRepositoriesByUuidAndCompanyId(String uuid, long companyId);

    /**
     * Returns a range of repositories matching the UUID and company.
     *
     * @param uuid the UUID of the repositories
     * @param companyId the primary key of the company
     * @param start the lower bound of the range of repositories
     * @param end the upper bound of the range of repositories (not inclusive)
     * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
     * @return the range of matching repositories, or an empty list if no matches were found
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public List<Repository> getRepositoriesByUuidAndCompanyId(String uuid, long companyId, int start, int end,
            OrderByComparator<Repository> orderByComparator);

    /**
     * Returns the number of repositories.
     *
     * @return the number of repositories
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getRepositoriesCount();

    /**
     * Returns the repository with the primary key.
     *
     * @param repositoryId the primary key of the repository
     * @return the repository
     * @throws PortalException if a repository with the primary key could not be found
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository getRepository(long repositoryId) throws PortalException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository getRepository(long groupId, String portletId) throws PortalException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository getRepository(long groupId, String name, String portletId) throws PortalException;

    /**
     * Returns the repository matching the UUID and group.
     *
     * @param uuid the repository's UUID
     * @param groupId the primary key of the group
     * @return the matching repository
     * @throws PortalException if a matching repository could not be found
     */
    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public Repository getRepositoryByUuidAndGroupId(String uuid, long groupId) throws PortalException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public UnicodeProperties getTypeSettingsProperties(long repositoryId) throws PortalException;

    public void updateRepository(long repositoryId, String name, String description) throws PortalException;

    public void updateRepository(long repositoryId, UnicodeProperties typeSettingsProperties)
            throws PortalException;

    /**
     * Updates the repository in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
     *
     * @param repository the repository
     * @return the repository that was updated
     */
    @Indexable(type = IndexableType.REINDEX)
    public Repository updateRepository(Repository repository);

}