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.service; 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.search.IndexableType; 022 import com.liferay.portal.kernel.transaction.Isolation; 023 import com.liferay.portal.kernel.transaction.Propagation; 024 import com.liferay.portal.kernel.transaction.Transactional; 025 026 /** 027 * Provides the local service interface for Shard. Methods of this 028 * service will not have security checks based on the propagated JAAS 029 * credentials because this service can only be accessed from within the same 030 * VM. 031 * 032 * @author Brian Wing Shun Chan 033 * @see ShardLocalServiceUtil 034 * @see com.liferay.portal.service.base.ShardLocalServiceBaseImpl 035 * @see com.liferay.portal.service.impl.ShardLocalServiceImpl 036 * @generated 037 */ 038 @ProviderType 039 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 040 PortalException.class, SystemException.class}) 041 public interface ShardLocalService extends BaseLocalService, 042 PersistedModelLocalService { 043 /* 044 * NOTE FOR DEVELOPERS: 045 * 046 * Never modify or reference this interface directly. Always use {@link ShardLocalServiceUtil} to access the shard local service. Add custom service methods to {@link com.liferay.portal.service.impl.ShardLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 047 */ 048 public com.liferay.portal.model.Shard addShard(java.lang.String className, 049 long classPK, java.lang.String name); 050 051 /** 052 * Adds the shard to the database. Also notifies the appropriate model listeners. 053 * 054 * @param shard the shard 055 * @return the shard that was added 056 */ 057 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) 058 public com.liferay.portal.model.Shard addShard( 059 com.liferay.portal.model.Shard shard); 060 061 /** 062 * Creates a new shard with the primary key. Does not add the shard to the database. 063 * 064 * @param shardId the primary key for the new shard 065 * @return the new shard 066 */ 067 public com.liferay.portal.model.Shard createShard(long shardId); 068 069 /** 070 * @throws PortalException 071 */ 072 @Override 073 public com.liferay.portal.model.PersistedModel deletePersistedModel( 074 com.liferay.portal.model.PersistedModel persistedModel) 075 throws com.liferay.portal.kernel.exception.PortalException; 076 077 /** 078 * Deletes the shard from the database. Also notifies the appropriate model listeners. 079 * 080 * @param shard the shard 081 * @return the shard that was removed 082 */ 083 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) 084 public com.liferay.portal.model.Shard deleteShard( 085 com.liferay.portal.model.Shard shard); 086 087 /** 088 * Deletes the shard with the primary key from the database. Also notifies the appropriate model listeners. 089 * 090 * @param shardId the primary key of the shard 091 * @return the shard that was removed 092 * @throws PortalException if a shard with the primary key could not be found 093 */ 094 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) 095 public com.liferay.portal.model.Shard deleteShard(long shardId) 096 throws com.liferay.portal.kernel.exception.PortalException; 097 098 public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery(); 099 100 /** 101 * Performs a dynamic query on the database and returns the matching rows. 102 * 103 * @param dynamicQuery the dynamic query 104 * @return the matching rows 105 */ 106 public <T> java.util.List<T> dynamicQuery( 107 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery); 108 109 /** 110 * Performs a dynamic query on the database and returns a range of the matching rows. 111 * 112 * <p> 113 * 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 com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} 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 and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ShardModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 114 * </p> 115 * 116 * @param dynamicQuery the dynamic query 117 * @param start the lower bound of the range of model instances 118 * @param end the upper bound of the range of model instances (not inclusive) 119 * @return the range of matching rows 120 */ 121 public <T> java.util.List<T> dynamicQuery( 122 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 123 int end); 124 125 /** 126 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 127 * 128 * <p> 129 * 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 com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} 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 and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ShardModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 130 * </p> 131 * 132 * @param dynamicQuery the dynamic query 133 * @param start the lower bound of the range of model instances 134 * @param end the upper bound of the range of model instances (not inclusive) 135 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 136 * @return the ordered range of matching rows 137 */ 138 public <T> java.util.List<T> dynamicQuery( 139 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 140 int end, 141 com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator); 142 143 /** 144 * Returns the number of rows matching the dynamic query. 145 * 146 * @param dynamicQuery the dynamic query 147 * @return the number of rows matching the dynamic query 148 */ 149 public long dynamicQueryCount( 150 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery); 151 152 /** 153 * Returns the number of rows matching the dynamic query. 154 * 155 * @param dynamicQuery the dynamic query 156 * @param projection the projection to apply to the query 157 * @return the number of rows matching the dynamic query 158 */ 159 public long dynamicQueryCount( 160 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, 161 com.liferay.portal.kernel.dao.orm.Projection projection); 162 163 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 164 public com.liferay.portal.model.Shard fetchShard(long shardId); 165 166 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 167 public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery(); 168 169 /** 170 * Returns the Spring bean ID for this bean. 171 * 172 * @return the Spring bean ID for this bean 173 */ 174 public java.lang.String getBeanIdentifier(); 175 176 @Override 177 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 178 public com.liferay.portal.model.PersistedModel getPersistedModel( 179 java.io.Serializable primaryKeyObj) 180 throws com.liferay.portal.kernel.exception.PortalException; 181 182 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 183 public com.liferay.portal.model.Shard getShard(java.lang.String className, 184 long classPK) 185 throws com.liferay.portal.kernel.exception.PortalException; 186 187 /** 188 * Returns the shard with the primary key. 189 * 190 * @param shardId the primary key of the shard 191 * @return the shard 192 * @throws PortalException if a shard with the primary key could not be found 193 */ 194 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 195 public com.liferay.portal.model.Shard getShard(long shardId) 196 throws com.liferay.portal.kernel.exception.PortalException; 197 198 /** 199 * Returns a range of all the shards. 200 * 201 * <p> 202 * 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 com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} 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 and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.ShardModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 203 * </p> 204 * 205 * @param start the lower bound of the range of shards 206 * @param end the upper bound of the range of shards (not inclusive) 207 * @return the range of shards 208 */ 209 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 210 public java.util.List<com.liferay.portal.model.Shard> getShards(int start, 211 int end); 212 213 /** 214 * Returns the number of shards. 215 * 216 * @return the number of shards 217 */ 218 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 219 public int getShardsCount(); 220 221 /** 222 * Sets the Spring bean ID for this bean. 223 * 224 * @param beanIdentifier the Spring bean ID for this bean 225 */ 226 public void setBeanIdentifier(java.lang.String beanIdentifier); 227 228 /** 229 * Updates the shard in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 230 * 231 * @param shard the shard 232 * @return the shard that was updated 233 */ 234 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) 235 public com.liferay.portal.model.Shard updateShard( 236 com.liferay.portal.model.Shard shard); 237 }