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