001    /**
002     * Copyright (c) 2000-2010 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 com.liferay.portal.kernel.annotation.Isolation;
018    import com.liferay.portal.kernel.annotation.Propagation;
019    import com.liferay.portal.kernel.annotation.Transactional;
020    import com.liferay.portal.kernel.exception.PortalException;
021    import com.liferay.portal.kernel.exception.SystemException;
022    
023    /**
024     * The interface for the shopping item local service.
025     *
026     * <p>
027     * Never modify or reference this interface directly. Always use {@link ShoppingItemLocalServiceUtil} to access the shopping item local service. Add custom service methods to {@link com.liferay.portlet.shopping.service.impl.ShoppingItemLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
028     * </p>
029     *
030     * <p>
031     * This is a local service. 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.
032     * </p>
033     *
034     * @author Brian Wing Shun Chan
035     * @see ShoppingItemLocalServiceUtil
036     * @see com.liferay.portlet.shopping.service.base.ShoppingItemLocalServiceBaseImpl
037     * @see com.liferay.portlet.shopping.service.impl.ShoppingItemLocalServiceImpl
038     * @generated
039     */
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface ShoppingItemLocalService {
043            /**
044            * Adds the shopping item to the database. Also notifies the appropriate model listeners.
045            *
046            * @param shoppingItem the shopping item to add
047            * @return the shopping item that was added
048            * @throws SystemException if a system exception occurred
049            */
050            public com.liferay.portlet.shopping.model.ShoppingItem addShoppingItem(
051                    com.liferay.portlet.shopping.model.ShoppingItem shoppingItem)
052                    throws com.liferay.portal.kernel.exception.SystemException;
053    
054            /**
055            * Creates a new shopping item with the primary key. Does not add the shopping item to the database.
056            *
057            * @param itemId the primary key for the new shopping item
058            * @return the new shopping item
059            */
060            public com.liferay.portlet.shopping.model.ShoppingItem createShoppingItem(
061                    long itemId);
062    
063            /**
064            * Deletes the shopping item with the primary key from the database. Also notifies the appropriate model listeners.
065            *
066            * @param itemId the primary key of the shopping item to delete
067            * @throws PortalException if a shopping item with the primary key could not be found
068            * @throws SystemException if a system exception occurred
069            */
070            public void deleteShoppingItem(long itemId)
071                    throws com.liferay.portal.kernel.exception.PortalException,
072                            com.liferay.portal.kernel.exception.SystemException;
073    
074            /**
075            * Deletes the shopping item from the database. Also notifies the appropriate model listeners.
076            *
077            * @param shoppingItem the shopping item to delete
078            * @throws SystemException if a system exception occurred
079            */
080            public void deleteShoppingItem(
081                    com.liferay.portlet.shopping.model.ShoppingItem shoppingItem)
082                    throws com.liferay.portal.kernel.exception.SystemException;
083    
084            /**
085            * Performs a dynamic query on the database and returns the matching rows.
086            *
087            * @param dynamicQuery the dynamic query to search with
088            * @return the matching rows
089            * @throws SystemException if a system exception occurred
090            */
091            @SuppressWarnings("rawtypes")
092            public java.util.List dynamicQuery(
093                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
094                    throws com.liferay.portal.kernel.exception.SystemException;
095    
096            /**
097            * Performs a dynamic query on the database and returns a range of the matching rows.
098            *
099            * <p>
100            * 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.
101            * </p>
102            *
103            * @param dynamicQuery the dynamic query to search with
104            * @param start the lower bound of the range of model instances to return
105            * @param end the upper bound of the range of model instances to return (not inclusive)
106            * @return the range of matching rows
107            * @throws SystemException if a system exception occurred
108            */
109            @SuppressWarnings("rawtypes")
110            public java.util.List dynamicQuery(
111                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
112                    int end) throws com.liferay.portal.kernel.exception.SystemException;
113    
114            /**
115            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
116            *
117            * <p>
118            * 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.
119            * </p>
120            *
121            * @param dynamicQuery the dynamic query to search with
122            * @param start the lower bound of the range of model instances to return
123            * @param end the upper bound of the range of model instances to return (not inclusive)
124            * @param orderByComparator the comparator to order the results by
125            * @return the ordered range of matching rows
126            * @throws SystemException if a system exception occurred
127            */
128            @SuppressWarnings("rawtypes")
129            public java.util.List dynamicQuery(
130                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
131                    int end,
132                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
133                    throws com.liferay.portal.kernel.exception.SystemException;
134    
135            /**
136            * Counts the number of rows that match the dynamic query.
137            *
138            * @param dynamicQuery the dynamic query to search with
139            * @return the number of rows that match the dynamic query
140            * @throws SystemException if a system exception occurred
141            */
142            public long dynamicQueryCount(
143                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
144                    throws com.liferay.portal.kernel.exception.SystemException;
145    
146            /**
147            * Gets the shopping item with the primary key.
148            *
149            * @param itemId the primary key of the shopping item to get
150            * @return the shopping item
151            * @throws PortalException if a shopping item with the primary key could not be found
152            * @throws SystemException if a system exception occurred
153            */
154            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
155            public com.liferay.portlet.shopping.model.ShoppingItem getShoppingItem(
156                    long itemId)
157                    throws com.liferay.portal.kernel.exception.PortalException,
158                            com.liferay.portal.kernel.exception.SystemException;
159    
160            /**
161            * Gets a range of all the shopping items.
162            *
163            * <p>
164            * 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.
165            * </p>
166            *
167            * @param start the lower bound of the range of shopping items to return
168            * @param end the upper bound of the range of shopping items to return (not inclusive)
169            * @return the range of shopping items
170            * @throws SystemException if a system exception occurred
171            */
172            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
173            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getShoppingItems(
174                    int start, int end)
175                    throws com.liferay.portal.kernel.exception.SystemException;
176    
177            /**
178            * Gets the number of shopping items.
179            *
180            * @return the number of shopping items
181            * @throws SystemException if a system exception occurred
182            */
183            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
184            public int getShoppingItemsCount()
185                    throws com.liferay.portal.kernel.exception.SystemException;
186    
187            /**
188            * Updates the shopping item in the database. Also notifies the appropriate model listeners.
189            *
190            * @param shoppingItem the shopping item to update
191            * @return the shopping item that was updated
192            * @throws SystemException if a system exception occurred
193            */
194            public com.liferay.portlet.shopping.model.ShoppingItem updateShoppingItem(
195                    com.liferay.portlet.shopping.model.ShoppingItem shoppingItem)
196                    throws com.liferay.portal.kernel.exception.SystemException;
197    
198            /**
199            * Updates the shopping item in the database. Also notifies the appropriate model listeners.
200            *
201            * @param shoppingItem the shopping item to update
202            * @param merge whether to merge the shopping item with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
203            * @return the shopping item that was updated
204            * @throws SystemException if a system exception occurred
205            */
206            public com.liferay.portlet.shopping.model.ShoppingItem updateShoppingItem(
207                    com.liferay.portlet.shopping.model.ShoppingItem shoppingItem,
208                    boolean merge)
209                    throws com.liferay.portal.kernel.exception.SystemException;
210    
211            public void addBookItems(long userId, long groupId, long categoryId,
212                    java.lang.String[] isbns)
213                    throws com.liferay.portal.kernel.exception.PortalException,
214                            com.liferay.portal.kernel.exception.SystemException;
215    
216            public com.liferay.portlet.shopping.model.ShoppingItem addItem(
217                    long userId, long groupId, long categoryId, java.lang.String sku,
218                    java.lang.String name, java.lang.String description,
219                    java.lang.String properties, java.lang.String fieldsQuantities,
220                    boolean requiresShipping, int stockQuantity, boolean featured,
221                    java.lang.Boolean sale, boolean smallImage,
222                    java.lang.String smallImageURL, java.io.File smallFile,
223                    boolean mediumImage, java.lang.String mediumImageURL,
224                    java.io.File mediumFile, boolean largeImage,
225                    java.lang.String largeImageURL, java.io.File largeFile,
226                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemField> itemFields,
227                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemPrice> itemPrices,
228                    com.liferay.portal.service.ServiceContext serviceContext)
229                    throws com.liferay.portal.kernel.exception.PortalException,
230                            com.liferay.portal.kernel.exception.SystemException;
231    
232            public void addItemResources(long itemId, boolean addCommunityPermissions,
233                    boolean addGuestPermissions)
234                    throws com.liferay.portal.kernel.exception.PortalException,
235                            com.liferay.portal.kernel.exception.SystemException;
236    
237            public void addItemResources(long itemId,
238                    java.lang.String[] communityPermissions,
239                    java.lang.String[] guestPermissions)
240                    throws com.liferay.portal.kernel.exception.PortalException,
241                            com.liferay.portal.kernel.exception.SystemException;
242    
243            public void addItemResources(
244                    com.liferay.portlet.shopping.model.ShoppingItem item,
245                    boolean addCommunityPermissions, boolean addGuestPermissions)
246                    throws com.liferay.portal.kernel.exception.PortalException,
247                            com.liferay.portal.kernel.exception.SystemException;
248    
249            public void addItemResources(
250                    com.liferay.portlet.shopping.model.ShoppingItem item,
251                    java.lang.String[] communityPermissions,
252                    java.lang.String[] guestPermissions)
253                    throws com.liferay.portal.kernel.exception.PortalException,
254                            com.liferay.portal.kernel.exception.SystemException;
255    
256            public void deleteItem(long itemId)
257                    throws com.liferay.portal.kernel.exception.PortalException,
258                            com.liferay.portal.kernel.exception.SystemException;
259    
260            public void deleteItem(com.liferay.portlet.shopping.model.ShoppingItem item)
261                    throws com.liferay.portal.kernel.exception.PortalException,
262                            com.liferay.portal.kernel.exception.SystemException;
263    
264            public void deleteItems(long groupId, long categoryId)
265                    throws com.liferay.portal.kernel.exception.PortalException,
266                            com.liferay.portal.kernel.exception.SystemException;
267    
268            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
269            public int getCategoriesItemsCount(long groupId,
270                    java.util.List<java.lang.Long> categoryIds)
271                    throws com.liferay.portal.kernel.exception.SystemException;
272    
273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
274            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getFeaturedItems(
275                    long groupId, long categoryId, int numOfItems)
276                    throws com.liferay.portal.kernel.exception.SystemException;
277    
278            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
279            public com.liferay.portlet.shopping.model.ShoppingItem getItem(long itemId)
280                    throws com.liferay.portal.kernel.exception.PortalException,
281                            com.liferay.portal.kernel.exception.SystemException;
282    
283            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
284            public com.liferay.portlet.shopping.model.ShoppingItem getItem(
285                    long companyId, java.lang.String sku)
286                    throws com.liferay.portal.kernel.exception.PortalException,
287                            com.liferay.portal.kernel.exception.SystemException;
288    
289            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
290            public com.liferay.portlet.shopping.model.ShoppingItem getItemByLargeImageId(
291                    long largeImageId)
292                    throws com.liferay.portal.kernel.exception.PortalException,
293                            com.liferay.portal.kernel.exception.SystemException;
294    
295            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
296            public com.liferay.portlet.shopping.model.ShoppingItem getItemByMediumImageId(
297                    long mediumImageId)
298                    throws com.liferay.portal.kernel.exception.PortalException,
299                            com.liferay.portal.kernel.exception.SystemException;
300    
301            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
302            public com.liferay.portlet.shopping.model.ShoppingItem getItemBySmallImageId(
303                    long smallImageId)
304                    throws com.liferay.portal.kernel.exception.PortalException,
305                            com.liferay.portal.kernel.exception.SystemException;
306    
307            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
308            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getItems(
309                    long groupId, long categoryId)
310                    throws com.liferay.portal.kernel.exception.SystemException;
311    
312            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
313            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getItems(
314                    long groupId, long categoryId, int start, int end,
315                    com.liferay.portal.kernel.util.OrderByComparator obc)
316                    throws com.liferay.portal.kernel.exception.SystemException;
317    
318            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
319            public int getItemsCount(long groupId, long categoryId)
320                    throws com.liferay.portal.kernel.exception.SystemException;
321    
322            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
323            public com.liferay.portlet.shopping.model.ShoppingItem[] getItemsPrevAndNext(
324                    long itemId, com.liferay.portal.kernel.util.OrderByComparator obc)
325                    throws com.liferay.portal.kernel.exception.PortalException,
326                            com.liferay.portal.kernel.exception.SystemException;
327    
328            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
329            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getSaleItems(
330                    long groupId, long categoryId, int numOfItems)
331                    throws com.liferay.portal.kernel.exception.SystemException;
332    
333            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
334            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> search(
335                    long groupId, long[] categoryIds, java.lang.String keywords, int start,
336                    int end) throws com.liferay.portal.kernel.exception.SystemException;
337    
338            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
339            public int searchCount(long groupId, long[] categoryIds,
340                    java.lang.String keywords)
341                    throws com.liferay.portal.kernel.exception.SystemException;
342    
343            public com.liferay.portlet.shopping.model.ShoppingItem updateItem(
344                    long userId, long itemId, long groupId, long categoryId,
345                    java.lang.String sku, java.lang.String name,
346                    java.lang.String description, java.lang.String properties,
347                    java.lang.String fieldsQuantities, boolean requiresShipping,
348                    int stockQuantity, boolean featured, java.lang.Boolean sale,
349                    boolean smallImage, java.lang.String smallImageURL,
350                    java.io.File smallFile, boolean mediumImage,
351                    java.lang.String mediumImageURL, java.io.File mediumFile,
352                    boolean largeImage, java.lang.String largeImageURL,
353                    java.io.File largeFile,
354                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemField> itemFields,
355                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemPrice> itemPrices,
356                    com.liferay.portal.service.ServiceContext serviceContext)
357                    throws com.liferay.portal.kernel.exception.PortalException,
358                            com.liferay.portal.kernel.exception.SystemException;
359    }