/** * 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 * @see com.liferay.dynamic.data.mapping.service.base.DDMTemplateServiceBaseImpl * @see com.liferay.dynamic.data.mapping.service.impl.DDMTemplateServiceImpl * @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 {@link com.liferay.dynamic.data.mapping.service.impl.DDMTemplateServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. */ /** * 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 <code>null</code>) * @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 <code>null</code>) * @param smallImageFile the template's small image file (optionally <code>null</code>) * @param serviceContext the service context to be applied. Must have the <code>ddmResource</code> 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, java.lang.String templateKey, Map<Locale, java.lang.String> nameMap, Map<Locale, java.lang.String> descriptionMap, java.lang.String type, java.lang.String mode, java.lang.String language, java.lang.String script, boolean cacheable, boolean smallImage, java.lang.String smallImageURL, File smallImageFile, ServiceContext serviceContext) throws PortalException; /** * 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 <code>ddmResource</code> 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<Locale, java.lang.String> nameMap, Map<Locale, java.lang.String> descriptionMap, java.lang.String type, java.lang.String mode, java.lang.String language, java.lang.String script, ServiceContext serviceContext) throws PortalException; public DDMTemplate copyTemplate(long templateId, 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 <code>ddmResource</code> 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<Locale, java.lang.String> nameMap, Map<Locale, java.lang.String> descriptionMap, ServiceContext serviceContext) 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 <code>null</code> if a matching template could not be found */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public DDMTemplate fetchTemplate(long groupId, long classNameId, java.lang.String templateKey) 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, java.lang.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. * * <p> * This method first searches in the group. If the template is still not * found and <code>includeAncestorTemplates</code> is set to * <code>true</code>, this method searches the group's ancestor sites (that * have sharing enabled) and lastly searches global scoped sites. * </p> * * @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, java.lang.String templateKey, boolean includeAncestorTemplates) throws PortalException; /** * 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; /** * 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 <code>null</code>) * @param smallImageFile the template's small image file (optionally <code>null</code>) * @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<Locale, java.lang.String> nameMap, Map<Locale, java.lang.String> descriptionMap, java.lang.String type, java.lang.String mode, java.lang.String language, java.lang.String script, boolean cacheable, boolean smallImage, java.lang.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<Locale, java.lang.String> nameMap, Map<Locale, java.lang.String> descriptionMap, java.lang.String type, java.lang.String mode, java.lang.String language, java.lang.String script, boolean cacheable, ServiceContext serviceContext) throws PortalException; /** * 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 <code>0</code>). Specify <code>0</code> 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); /** * 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 <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). 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, java.lang.String keywords, java.lang.String type, java.lang.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 <code>null</code>) * @param description the description keywords (optionally <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally <code>null</code>). 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, java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String mode, java.lang.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 <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). 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, java.lang.String keywords, java.lang.String type, java.lang.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 <code>null</code>) * @param description the description keywords (optionally <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally <code>null</code>). 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, java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String mode, java.lang.String language, int status, boolean andOperator); /** * Returns the OSGi service identifier. * * @return the OSGi service identifier */ public java.lang.String getOSGiServiceIdentifier(); /** * 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 <code>ddmResource</code> 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<DDMTemplate> copyTemplates(long classNameId, long oldClassPK, long resourceClassNameId, long newClassPK, java.lang.String type, ServiceContext serviceContext) throws PortalException; @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> 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<DDMTemplate> 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<DDMTemplate> getTemplates(long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, java.lang.String type, int status); @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> getTemplates(long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, java.lang.String type, java.lang.String mode, int status); @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> getTemplates(long companyId, long groupId, long classNameId, long resourceClassNameId, 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<DDMTemplate> 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. * * <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 {@link QueryUtil#ALL_POS} will return the full * result set. * </p> * * @param groupId the primary key of the group * @param structureClassNameId the primary key of the class name for the template's related structure (optionally <code>0</code>). Specify <code>0</code> 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 <code>null</code>) * @return the range of matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> getTemplatesByStructureClassNameId(long groupId, long structureClassNameId, int status, int start, int end, OrderByComparator<DDMTemplate> orderByComparator); /** * 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. * * <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 {@link QueryUtil#ALL_POS} will return the full * result set. * </p> * * @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 <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). 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 <code>null</code>) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> search(long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, java.lang.String keywords, java.lang.String type, java.lang.String mode, int status, int start, int end, OrderByComparator<DDMTemplate> 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. * * <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 {@link QueryUtil#ALL_POS} will return the full * result set. * </p> * * @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 <code>null</code>) * @param description the description keywords (optionally <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally <code>null</code>). 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 <code>null</code>) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> search(long companyId, long groupId, long classNameId, long classPK, long resourceClassNameId, java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String mode, java.lang.String language, int status, boolean andOperator, int start, int end, OrderByComparator<DDMTemplate> 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. * * <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 {@link QueryUtil#ALL_POS} will return the full * result set. * </p> * * @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 <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). 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 <code>null</code>) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> search(long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, java.lang.String keywords, java.lang.String type, java.lang.String mode, int status, int start, int end, OrderByComparator<DDMTemplate> 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. * * <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 {@link QueryUtil#ALL_POS} will return the full * result set. * </p> * * @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 <code>null</code>) * @param description the description keywords (optionally <code>null</code>) * @param type the template's type (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param mode the template's mode (optionally <code>null</code>). For more information, see DDMTemplateConstants in the dynamic-data-mapping-api module. * @param language the template's script language (optionally <code>null</code>). 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 <code>null</code>) * @return the matching templates ordered by the comparator */ @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) public List<DDMTemplate> search(long companyId, long[] groupIds, long[] classNameIds, long[] classPKs, long resourceClassNameId, java.lang.String name, java.lang.String description, java.lang.String type, java.lang.String mode, java.lang.String language, int status, boolean andOperator, int start, int end, OrderByComparator<DDMTemplate> orderByComparator); /** * Deletes the template and its resources. * * @param templateId the primary key of the template to be deleted */ public void deleteTemplate(long templateId) throws PortalException; public void revertTemplate(long templateId, java.lang.String version, ServiceContext serviceContext) throws PortalException; }