All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.liferay.dynamic.data.mapping.service.DDMTemplateService Maven / Gradle / Ivy

There is a newer version: 7.4.3.112-ga112
Show newest version
/**
 * 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.dynamic.data.mapping.service;

import aQute.bnd.annotation.ProviderType;

import com.liferay.dynamic.data.mapping.model.DDMTemplate;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.jsonwebservice.JSONWebService;
import com.liferay.portal.kernel.security.access.control.AccessControlled;
import com.liferay.portal.kernel.service.BaseService;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.spring.osgi.OSGiBeanProperties;
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 java.io.File;

import java.util.List;
import java.util.Locale;
import java.util.Map;

/**
 * Provides the remote service interface for DDMTemplate. Methods of this
 * service are expected to have security checks based on the propagated JAAS
 * credentials because this service can be accessed remotely.
 *
 * @author Brian Wing Shun Chan
 * @see DDMTemplateServiceUtil
 * @generated
 */
@AccessControlled
@JSONWebService
@OSGiBeanProperties(
	property = {
		"json.web.service.context.name=ddm",
		"json.web.service.context.path=DDMTemplate"
	},
	service = DDMTemplateService.class
)
@ProviderType
@Transactional(
	isolation = Isolation.PORTAL,
	rollbackFor = {PortalException.class, SystemException.class}
)
public interface DDMTemplateService extends BaseService {

	/*
	 * NOTE FOR DEVELOPERS:
	 *
	 * Never modify or reference this interface directly. Always use {@link DDMTemplateServiceUtil} to access the ddm template remote service. Add custom service methods to com.liferay.dynamic.data.mapping.service.impl.DDMTemplateServiceImpl and rerun ServiceBuilder to automatically copy the method declarations to this interface.
	 */

	/**
	 * Adds a template.
	 *
	 * @param groupId the primary key of the group
	 * @param classNameId the primary key of the class name for template's
	 related model
	 * @param classPK the primary key of the template's related entity
	 * @param resourceClassNameId the primary key of the class name for
	 template's resource model
	 * @param nameMap the template's locales and localized names
	 * @param descriptionMap the template's locales and localized descriptions
	 * @param type the template's type. For more information, see
	 DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param mode the template's mode. For more information, see
	 DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param language the template's script language. For more information,
	 see DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param script the template's script
	 * @param serviceContext the service context to be applied. Must have the
	 ddmResource attribute to check permissions. Can set
	 the UUID, creation date, modification date, guest permissions,
	 and group permissions for the template.
	 * @return the template
	 */
	public DDMTemplate addTemplate(
			long groupId, long classNameId, long classPK,
			long resourceClassNameId, Map nameMap,
			Map descriptionMap, String type, String mode,
			String language, String script, ServiceContext serviceContext)
		throws PortalException;

	/**
	 * Adds a template with additional parameters.
	 *
	 * @param groupId the primary key of the group
	 * @param classNameId the primary key of the class name for template's
	 related model
	 * @param classPK the primary key of the template's related entity
	 * @param resourceClassNameId the primary key of the class name for
	 template's resource model
	 * @param templateKey the unique string identifying the template
	 (optionally null)
	 * @param nameMap the template's locales and localized names
	 * @param descriptionMap the template's locales and localized descriptions
	 * @param type the template's type. For more information, see
	 DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param mode the template's mode. For more information, see
	 DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param language the template's script language. For more information,
	 see DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param script the template's script
	 * @param cacheable whether the template is cacheable
	 * @param smallImage whether the template has a small image
	 * @param smallImageURL the template's small image URL (optionally
	 null)
	 * @param smallImageFile the template's small image file (optionally
	 null)
	 * @param serviceContext the service context to be applied. Must have the
	 ddmResource attribute to check permissions. Can set
	 the UUID, creation date, modification date, guest permissions,
	 and group permissions for the template.
	 * @return the template
	 */
	public DDMTemplate addTemplate(
			long groupId, long classNameId, long classPK,
			long resourceClassNameId, String templateKey,
			Map nameMap, Map descriptionMap,
			String type, String mode, String language, String script,
			boolean cacheable, boolean smallImage, String smallImageURL,
			File smallImageFile, ServiceContext serviceContext)
		throws PortalException;

	/**
	 * Copies the template, creating a new template with all the values
	 * extracted from the original one. This method supports defining a new name
	 * and description.
	 *
	 * @param templateId the primary key of the template to be copied
	 * @param nameMap the new template's locales and localized names
	 * @param descriptionMap the new template's locales and localized
	 descriptions
	 * @param serviceContext the service context to be applied. Must have the
	 ddmResource attribute to check permissions. Can set
	 the UUID, creation date, modification date, guest permissions,
	 and group permissions for the template.
	 * @return the new template
	 */
	public DDMTemplate copyTemplate(
			long templateId, Map nameMap,
			Map descriptionMap, ServiceContext serviceContext)
		throws PortalException;

	public DDMTemplate copyTemplate(
			long templateId, ServiceContext serviceContext)
		throws PortalException;

	/**
	 * Copies all the templates matching the class name ID, class PK, and type.
	 * This method creates new templates, extracting all the values from the old
	 * ones and updating their class PKs.
	 *
	 * @param classNameId the primary key of the class name for template's
	 related model
	 * @param oldClassPK the primary key of the old template's related entity
	 * @param resourceClassNameId the primary key of the class name for
	 template's resource model
	 * @param newClassPK the primary key of the new template's related entity
	 * @param type the template's type. For more information, see
	 DDMTemplateConstants in the dynamic-data-mapping-api module.
	 * @param serviceContext the service context to be applied. Must have the
	 ddmResource attribute to check permissions. Can set
	 the UUID, creation date, modification date, guest permissions,
	 and group permissions for the template.
	 * @return the new template
	 */
	public List copyTemplates(
			long classNameId, long oldClassPK, long resourceClassNameId,
			long newClassPK, String type, ServiceContext serviceContext)
		throws PortalException;

	/**
	 * Deletes the template and its resources.
	 *
	 * @param templateId the primary key of the template to be deleted
	 */
	public void deleteTemplate(long templateId) throws PortalException;

	/**
	 * Returns the template matching the group and template key.
	 *
	 * @param groupId the primary key of the group
	 * @param classNameId the primary key of the class name for template's
	 related model
	 * @param templateKey the unique string identifying the template
	 * @return the matching template, or null if a matching
	 template could not be found
	 */
	@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
	public DDMTemplate fetchTemplate(
			long groupId, long classNameId, String templateKey)
		throws PortalException;

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

	/**
	 * Returns the template with the ID.
	 *
	 * @param templateId the primary key of the template
	 * @return the template with the ID
	 */
	@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
	public DDMTemplate getTemplate(long templateId) throws PortalException;

	/**
	 * Returns the template matching the group and template key.
	 *
	 * @param groupId the primary key of the group
	 * @param classNameId the primary key of the class name for template's
	 related model
	 * @param templateKey the unique string identifying the template
	 * @return the matching template
	 */
	@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
	public DDMTemplate getTemplate(
			long groupId, long classNameId, String templateKey)
		throws PortalException;

	/**
	 * Returns the template matching the group and template key, optionally
	 * searching ancestor sites (that have sharing enabled) and global scoped
	 * sites.
	 *
	 * 

* This method first searches in the group. If the template is still not * found and includeAncestorTemplates is set to * true, this method searches the group's ancestor sites (that * have sharing enabled) and lastly searches global scoped sites. *

* * @param groupId the primary key of the group * @param classNameId the primary key of the class name for template's related model * @param templateKey the unique string identifying the template * @param includeAncestorTemplates whether to include ancestor sites (that have sharing enabled) and include global scoped sites in the search * @return the matching template */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public DDMTemplate getTemplate( long groupId, long classNameId, String templateKey, boolean includeAncestorTemplates) throws PortalException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplates( long companyId, long groupId, long classNameId, long resourceClassNameId, int status); @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplates( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, boolean includeAncestorTemplates, int status) throws PortalException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplates( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, int status); /** * Returns all the templates matching the group, class name ID, class PK, * resource class name ID, and type. * * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classNameId the primary key of the class name for the template's related model * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for the template's resource model * @param type the template's type. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @return the matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplates( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String type, int status); @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplates( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String type, String mode, int status); /** * Returns all the templates matching the group, class PK, and resource * class name ID. * * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for the template's resource model * @return the matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplatesByClassPK( long companyId, long groupId, long classPK, long resourceClassNameId, int status); /** * Returns an ordered range of all the templates matching the group and * structure class name ID and all the generic templates matching the group. * *

* Useful when paginating results. Returns a maximum of end - * start instances. start and end are not * primary keys, they are indexes in the result set. Thus, 0 * refers to the first result in the set. Setting both start * and end to {@link QueryUtil#ALL_POS} will return the full * result set. *

* * @param groupId the primary key of the group * @param structureClassNameId the primary key of the class name for the template's related structure (optionally 0). Specify 0 to return generic templates only. * @param start the lower bound of the range of templates to return * @param end the upper bound of the range of templates to return (not inclusive) * @param orderByComparator the comparator to order the templates (optionally null) * @return the range of matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List getTemplatesByStructureClassNameId( long groupId, long structureClassNameId, int status, int start, int end, OrderByComparator orderByComparator); /** * Returns the number of templates matching the group and structure class * name ID plus the number of generic templates matching the group. * * @param groupId the primary key of the group * @param structureClassNameId the primary key of the class name for the template's related structure (optionally 0). Specify 0 to count generic templates only. * @return the number of matching templates plus the number of matching generic templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int getTemplatesByStructureClassNameIdCount( long groupId, long structureClassNameId, int status); public void revertTemplate( long templateId, String version, ServiceContext serviceContext) throws PortalException; /** * Returns an ordered range of all the templates matching the group, class * name ID, class PK, type, and mode, and matching the keywords in the * template names and descriptions. * *

* Useful when paginating results. Returns a maximum of end - * start instances. start and end are not * primary keys, they are indexes in the result set. Thus, 0 * refers to the first result in the set. Setting both start * and end to {@link QueryUtil#ALL_POS} will return the full * result set. *

* * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classNameId the primary key of the class name for template's related model * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for template's resource model * @param keywords the keywords (space separated), which may occur in the template's name or description (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param start the lower bound of the range of templates to return * @param end the upper bound of the range of templates to return (not inclusive) * @param orderByComparator the comparator to order the templates (optionally null) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List search( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String keywords, String type, String mode, int status, int start, int end, OrderByComparator orderByComparator); /** * Returns an ordered range of all the templates matching the group, class * name ID, class PK, name keyword, description keyword, type, mode, and * language. * *

* Useful when paginating results. Returns a maximum of end - * start instances. start and end are not * primary keys, they are indexes in the result set. Thus, 0 * refers to the first result in the set. Setting both start * and end to {@link QueryUtil#ALL_POS} will return the full * result set. *

* * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classNameId the primary key of the class name for template's related model * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for template's resource model * @param name the name keywords (optionally null) * @param description the description keywords (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param andOperator whether every field must match its keywords, or just one field. * @param start the lower bound of the range of templates to return * @param end the upper bound of the range of templates to return (not inclusive) * @param orderByComparator the comparator to order the templates (optionally null) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List search( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String name, String description, String type, String mode, String language, int status, boolean andOperator, int start, int end, OrderByComparator orderByComparator); /** * Returns an ordered range of all the templates matching the group IDs, * class name IDs, class PK, type, and mode, and matching the keywords in * the template names and descriptions. * *

* Useful when paginating results. Returns a maximum of end - * start instances. start and end are not * primary keys, they are indexes in the result set. Thus, 0 * refers to the first result in the set. Setting both start * and end to {@link QueryUtil#ALL_POS} will return the full * result set. *

* * @param companyId the primary key of the template's company * @param groupIds the primary keys of the groups * @param classNameIds the primary keys of the entity's instances the templates are related to * @param classPKs the primary keys of the template's related entities * @param resourceClassNameId the primary key of the class name for template's resource model * @param keywords the keywords (space separated), which may occur in the template's name or description (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param start the lower bound of the range of templates to return * @param end the upper bound of the range of templates to return (not inclusive) * @param orderByComparator the comparator to order the templates (optionally null) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List search( long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, String keywords, String type, String mode, int status, int start, int end, OrderByComparator orderByComparator); /** * Returns an ordered range of all the templates matching the group IDs, * class name IDs, class PK, name keyword, description keyword, type, mode, * and language. * *

* Useful when paginating results. Returns a maximum of end - * start instances. start and end are not * primary keys, they are indexes in the result set. Thus, 0 * refers to the first result in the set. Setting both start * and end to {@link QueryUtil#ALL_POS} will return the full * result set. *

* * @param companyId the primary key of the template's company * @param groupIds the primary keys of the groups * @param classNameIds the primary keys of the entity's instances the templates are related to * @param classPKs the primary keys of the template's related entities * @param resourceClassNameId the primary key of the class name for template's resource model * @param name the name keywords (optionally null) * @param description the description keywords (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param andOperator whether every field must match its keywords, or just one field. * @param start the lower bound of the range of templates to return * @param end the upper bound of the range of templates to return (not inclusive) * @param orderByComparator the comparator to order the templates (optionally null) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List search( long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, String name, String description, String type, String mode, String language, int status, boolean andOperator, int start, int end, OrderByComparator orderByComparator); /** * Returns the number of templates matching the group, class name ID, class * PK, type, and mode, and matching the keywords in the template names and * descriptions. * * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classNameId the primary key of the class name for template's related model * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for template's resource model * @param keywords the keywords (space separated), which may occur in the template's name or description (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @return the number of matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int searchCount( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String keywords, String type, String mode, int status); /** * Returns the number of templates matching the group, class name ID, class * PK, name keyword, description keyword, type, mode, and language. * * @param companyId the primary key of the template's company * @param groupId the primary key of the group * @param classNameId the primary key of the class name for template's related model * @param classPK the primary key of the template's related entity * @param resourceClassNameId the primary key of the class name for template's resource model * @param name the name keywords (optionally null) * @param description the description keywords (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param andOperator whether every field must match its keywords, or just one field. * @return the number of matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int searchCount( long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, String name, String description, String type, String mode, String language, int status, boolean andOperator); /** * Returns the number of templates matching the group IDs, class name IDs, * class PK, type, and mode, and matching the keywords in the template names * and descriptions. * * @param companyId the primary key of the template's company * @param groupIds the primary keys of the groups * @param classNameIds the primary keys of the entity's instances the templates are related to * @param classPKs the primary keys of the template's related entities * @param resourceClassNameId the primary key of the class name for template's resource model * @param keywords the keywords (space separated), which may occur in the template's name or description (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @return the number of matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int searchCount( long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, String keywords, String type, String mode, int status); /** * Returns the number of templates matching the group IDs, class name IDs, * class PK, name keyword, description keyword, type, mode, and language. * * @param companyId the primary key of the template's company * @param groupIds the primary keys of the groups * @param classNameIds the primary keys of the entity's instances the templates are related to * @param classPKs the primary keys of the template's related entities * @param resourceClassNameId the primary key of the class name for template's resource model * @param name the name keywords (optionally null) * @param description the description keywords (optionally null) * @param type the template's type (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally null). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param andOperator whether every field must match its keywords, or just one field. * @return the number of matching templates */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public int searchCount( long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, String name, String description, String type, String mode, String language, int status, boolean andOperator); /** * Updates the template matching the ID. * * @param templateId the primary key of the template * @param classPK the primary key of the template's related entity * @param nameMap the template's new locales and localized names * @param descriptionMap the template's new locales and localized description * @param type the template's type. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param script the template's script * @param cacheable whether the template is cacheable * @param smallImage whether the template has a small image * @param smallImageURL the template's small image URL (optionally null) * @param smallImageFile the template's small image file (optionally null) * @param serviceContext the service context to be applied. Can set the modification date. * @return the updated template */ public DDMTemplate updateTemplate( long templateId, long classPK, Map nameMap, Map descriptionMap, String type, String mode, String language, String script, boolean cacheable, boolean smallImage, String smallImageURL, File smallImageFile, ServiceContext serviceContext) throws PortalException; /** * Updates the template matching the ID. * * @param templateId the primary key of the template * @param classPK the primary key of the template's related entity * @param nameMap the template's new locales and localized names * @param descriptionMap the template's new locales and localized description * @param type the template's type. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language. For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param script the template's script * @param cacheable whether the template is cacheable * @param serviceContext the service context to be applied. Can set the modification date. * @return the updated template */ public DDMTemplate updateTemplate( long templateId, long classPK, Map nameMap, Map descriptionMap, String type, String mode, String language, String script, boolean cacheable, ServiceContext serviceContext) throws PortalException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy