001 /** 002 * Copyright (c) 2000-2013 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.portlet.shopping.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 import com.liferay.portal.service.BaseLocalService; 026 import com.liferay.portal.service.PersistedModelLocalService; 027 028 /** 029 * Provides the local service interface for ShoppingCart. Methods of this 030 * service will not have security checks based on the propagated JAAS 031 * credentials because this service can only be accessed from within the same 032 * VM. 033 * 034 * @author Brian Wing Shun Chan 035 * @see ShoppingCartLocalServiceUtil 036 * @see com.liferay.portlet.shopping.service.base.ShoppingCartLocalServiceBaseImpl 037 * @see com.liferay.portlet.shopping.service.impl.ShoppingCartLocalServiceImpl 038 * @generated 039 */ 040 @ProviderType 041 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 042 PortalException.class, SystemException.class}) 043 public interface ShoppingCartLocalService extends BaseLocalService, 044 PersistedModelLocalService { 045 /* 046 * NOTE FOR DEVELOPERS: 047 * 048 * Never modify or reference this interface directly. Always use {@link ShoppingCartLocalServiceUtil} to access the shopping cart local service. Add custom service methods to {@link com.liferay.portlet.shopping.service.impl.ShoppingCartLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 049 */ 050 051 /** 052 * Adds the shopping cart to the database. Also notifies the appropriate model listeners. 053 * 054 * @param shoppingCart the shopping cart 055 * @return the shopping cart that was added 056 * @throws SystemException if a system exception occurred 057 */ 058 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) 059 public com.liferay.portlet.shopping.model.ShoppingCart addShoppingCart( 060 com.liferay.portlet.shopping.model.ShoppingCart shoppingCart) 061 throws com.liferay.portal.kernel.exception.SystemException; 062 063 /** 064 * Creates a new shopping cart with the primary key. Does not add the shopping cart to the database. 065 * 066 * @param cartId the primary key for the new shopping cart 067 * @return the new shopping cart 068 */ 069 public com.liferay.portlet.shopping.model.ShoppingCart createShoppingCart( 070 long cartId); 071 072 /** 073 * Deletes the shopping cart with the primary key from the database. Also notifies the appropriate model listeners. 074 * 075 * @param cartId the primary key of the shopping cart 076 * @return the shopping cart that was removed 077 * @throws PortalException if a shopping cart with the primary key could not be found 078 * @throws SystemException if a system exception occurred 079 */ 080 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) 081 public com.liferay.portlet.shopping.model.ShoppingCart deleteShoppingCart( 082 long cartId) 083 throws com.liferay.portal.kernel.exception.PortalException, 084 com.liferay.portal.kernel.exception.SystemException; 085 086 /** 087 * Deletes the shopping cart from the database. Also notifies the appropriate model listeners. 088 * 089 * @param shoppingCart the shopping cart 090 * @return the shopping cart that was removed 091 * @throws SystemException if a system exception occurred 092 */ 093 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE) 094 public com.liferay.portlet.shopping.model.ShoppingCart deleteShoppingCart( 095 com.liferay.portlet.shopping.model.ShoppingCart shoppingCart) 096 throws com.liferay.portal.kernel.exception.SystemException; 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 * @throws SystemException if a system exception occurred 106 */ 107 @SuppressWarnings("rawtypes") 108 public java.util.List dynamicQuery( 109 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 110 throws com.liferay.portal.kernel.exception.SystemException; 111 112 /** 113 * Performs a dynamic query on the database and returns a range of the matching rows. 114 * 115 * <p> 116 * 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.portlet.shopping.model.impl.ShoppingCartModelImpl}. 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. 117 * </p> 118 * 119 * @param dynamicQuery the dynamic query 120 * @param start the lower bound of the range of model instances 121 * @param end the upper bound of the range of model instances (not inclusive) 122 * @return the range of matching rows 123 * @throws SystemException if a system exception occurred 124 */ 125 @SuppressWarnings("rawtypes") 126 public java.util.List dynamicQuery( 127 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 128 int end) throws com.liferay.portal.kernel.exception.SystemException; 129 130 /** 131 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 132 * 133 * <p> 134 * 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.portlet.shopping.model.impl.ShoppingCartModelImpl}. 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. 135 * </p> 136 * 137 * @param dynamicQuery the dynamic query 138 * @param start the lower bound of the range of model instances 139 * @param end the upper bound of the range of model instances (not inclusive) 140 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 141 * @return the ordered range of matching rows 142 * @throws SystemException if a system exception occurred 143 */ 144 @SuppressWarnings("rawtypes") 145 public java.util.List dynamicQuery( 146 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start, 147 int end, 148 com.liferay.portal.kernel.util.OrderByComparator orderByComparator) 149 throws com.liferay.portal.kernel.exception.SystemException; 150 151 /** 152 * Returns the number of rows that match the dynamic query. 153 * 154 * @param dynamicQuery the dynamic query 155 * @return the number of rows that match the dynamic query 156 * @throws SystemException if a system exception occurred 157 */ 158 public long dynamicQueryCount( 159 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery) 160 throws com.liferay.portal.kernel.exception.SystemException; 161 162 /** 163 * Returns the number of rows that match the dynamic query. 164 * 165 * @param dynamicQuery the dynamic query 166 * @param projection the projection to apply to the query 167 * @return the number of rows that match the dynamic query 168 * @throws SystemException if a system exception occurred 169 */ 170 public long dynamicQueryCount( 171 com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, 172 com.liferay.portal.kernel.dao.orm.Projection projection) 173 throws com.liferay.portal.kernel.exception.SystemException; 174 175 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 176 public com.liferay.portlet.shopping.model.ShoppingCart fetchShoppingCart( 177 long cartId) throws com.liferay.portal.kernel.exception.SystemException; 178 179 /** 180 * Returns the shopping cart with the primary key. 181 * 182 * @param cartId the primary key of the shopping cart 183 * @return the shopping cart 184 * @throws PortalException if a shopping cart with the primary key could not be found 185 * @throws SystemException if a system exception occurred 186 */ 187 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 188 public com.liferay.portlet.shopping.model.ShoppingCart getShoppingCart( 189 long cartId) 190 throws com.liferay.portal.kernel.exception.PortalException, 191 com.liferay.portal.kernel.exception.SystemException; 192 193 @Override 194 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 195 public com.liferay.portal.model.PersistedModel getPersistedModel( 196 java.io.Serializable primaryKeyObj) 197 throws com.liferay.portal.kernel.exception.PortalException, 198 com.liferay.portal.kernel.exception.SystemException; 199 200 /** 201 * Returns a range of all the shopping carts. 202 * 203 * <p> 204 * 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.portlet.shopping.model.impl.ShoppingCartModelImpl}. 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. 205 * </p> 206 * 207 * @param start the lower bound of the range of shopping carts 208 * @param end the upper bound of the range of shopping carts (not inclusive) 209 * @return the range of shopping carts 210 * @throws SystemException if a system exception occurred 211 */ 212 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 213 public java.util.List<com.liferay.portlet.shopping.model.ShoppingCart> getShoppingCarts( 214 int start, int end) 215 throws com.liferay.portal.kernel.exception.SystemException; 216 217 /** 218 * Returns the number of shopping carts. 219 * 220 * @return the number of shopping carts 221 * @throws SystemException if a system exception occurred 222 */ 223 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 224 public int getShoppingCartsCount() 225 throws com.liferay.portal.kernel.exception.SystemException; 226 227 /** 228 * Updates the shopping cart in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 229 * 230 * @param shoppingCart the shopping cart 231 * @return the shopping cart that was updated 232 * @throws SystemException if a system exception occurred 233 */ 234 @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX) 235 public com.liferay.portlet.shopping.model.ShoppingCart updateShoppingCart( 236 com.liferay.portlet.shopping.model.ShoppingCart shoppingCart) 237 throws com.liferay.portal.kernel.exception.SystemException; 238 239 /** 240 * Returns the Spring bean ID for this bean. 241 * 242 * @return the Spring bean ID for this bean 243 */ 244 public java.lang.String getBeanIdentifier(); 245 246 /** 247 * Sets the Spring bean ID for this bean. 248 * 249 * @param beanIdentifier the Spring bean ID for this bean 250 */ 251 public void setBeanIdentifier(java.lang.String beanIdentifier); 252 253 public void deleteGroupCarts(long groupId) 254 throws com.liferay.portal.kernel.exception.SystemException; 255 256 public void deleteUserCarts(long userId) 257 throws com.liferay.portal.kernel.exception.SystemException; 258 259 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 260 public com.liferay.portlet.shopping.model.ShoppingCart getCart( 261 long userId, long groupId) 262 throws com.liferay.portal.kernel.exception.PortalException, 263 com.liferay.portal.kernel.exception.SystemException; 264 265 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 266 public java.util.Map<com.liferay.portlet.shopping.model.ShoppingCartItem, java.lang.Integer> getItems( 267 long groupId, java.lang.String itemIds) 268 throws com.liferay.portal.kernel.exception.SystemException; 269 270 public com.liferay.portlet.shopping.model.ShoppingCart updateCart( 271 long userId, long groupId, java.lang.String itemIds, 272 java.lang.String couponCodes, int altShipping, boolean insure) 273 throws com.liferay.portal.kernel.exception.PortalException, 274 com.liferay.portal.kernel.exception.SystemException; 275 }