001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
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 smallFile,
246                    boolean mediumImage, java.lang.String mediumImageURL,
247                    java.io.File mediumFile, boolean largeImage,
248                    java.lang.String largeImageURL, java.io.File largeFile,
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 addCommunityPermissions,
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[] communityPermissions,
262                    java.lang.String[] guestPermissions)
263                    throws com.liferay.portal.kernel.exception.PortalException,
264                            com.liferay.portal.kernel.exception.SystemException;
265    
266            public void addItemResources(
267                    com.liferay.portlet.shopping.model.ShoppingItem item,
268                    boolean addCommunityPermissions, boolean addGuestPermissions)
269                    throws com.liferay.portal.kernel.exception.PortalException,
270                            com.liferay.portal.kernel.exception.SystemException;
271    
272            public void addItemResources(
273                    com.liferay.portlet.shopping.model.ShoppingItem item,
274                    java.lang.String[] communityPermissions,
275                    java.lang.String[] guestPermissions)
276                    throws com.liferay.portal.kernel.exception.PortalException,
277                            com.liferay.portal.kernel.exception.SystemException;
278    
279            public void deleteItem(long itemId)
280                    throws com.liferay.portal.kernel.exception.PortalException,
281                            com.liferay.portal.kernel.exception.SystemException;
282    
283            public void deleteItem(com.liferay.portlet.shopping.model.ShoppingItem item)
284                    throws com.liferay.portal.kernel.exception.PortalException,
285                            com.liferay.portal.kernel.exception.SystemException;
286    
287            public void deleteItems(long groupId, long categoryId)
288                    throws com.liferay.portal.kernel.exception.PortalException,
289                            com.liferay.portal.kernel.exception.SystemException;
290    
291            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
292            public int getCategoriesItemsCount(long groupId,
293                    java.util.List<java.lang.Long> categoryIds)
294                    throws com.liferay.portal.kernel.exception.SystemException;
295    
296            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
297            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getFeaturedItems(
298                    long groupId, long categoryId, int numOfItems)
299                    throws com.liferay.portal.kernel.exception.SystemException;
300    
301            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
302            public com.liferay.portlet.shopping.model.ShoppingItem getItem(long itemId)
303                    throws com.liferay.portal.kernel.exception.PortalException,
304                            com.liferay.portal.kernel.exception.SystemException;
305    
306            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
307            public com.liferay.portlet.shopping.model.ShoppingItem getItem(
308                    long companyId, java.lang.String sku)
309                    throws com.liferay.portal.kernel.exception.PortalException,
310                            com.liferay.portal.kernel.exception.SystemException;
311    
312            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
313            public com.liferay.portlet.shopping.model.ShoppingItem getItemByLargeImageId(
314                    long largeImageId)
315                    throws com.liferay.portal.kernel.exception.PortalException,
316                            com.liferay.portal.kernel.exception.SystemException;
317    
318            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
319            public com.liferay.portlet.shopping.model.ShoppingItem getItemByMediumImageId(
320                    long mediumImageId)
321                    throws com.liferay.portal.kernel.exception.PortalException,
322                            com.liferay.portal.kernel.exception.SystemException;
323    
324            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
325            public com.liferay.portlet.shopping.model.ShoppingItem getItemBySmallImageId(
326                    long smallImageId)
327                    throws com.liferay.portal.kernel.exception.PortalException,
328                            com.liferay.portal.kernel.exception.SystemException;
329    
330            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
331            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getItems(
332                    long groupId, long categoryId)
333                    throws com.liferay.portal.kernel.exception.SystemException;
334    
335            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
336            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getItems(
337                    long groupId, long categoryId, int start, int end,
338                    com.liferay.portal.kernel.util.OrderByComparator obc)
339                    throws com.liferay.portal.kernel.exception.SystemException;
340    
341            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342            public int getItemsCount(long groupId, long categoryId)
343                    throws com.liferay.portal.kernel.exception.SystemException;
344    
345            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
346            public com.liferay.portlet.shopping.model.ShoppingItem[] getItemsPrevAndNext(
347                    long itemId, com.liferay.portal.kernel.util.OrderByComparator obc)
348                    throws com.liferay.portal.kernel.exception.PortalException,
349                            com.liferay.portal.kernel.exception.SystemException;
350    
351            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
352            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> getSaleItems(
353                    long groupId, long categoryId, int numOfItems)
354                    throws com.liferay.portal.kernel.exception.SystemException;
355    
356            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
357            public java.util.List<com.liferay.portlet.shopping.model.ShoppingItem> search(
358                    long groupId, long[] categoryIds, java.lang.String keywords, int start,
359                    int end) throws com.liferay.portal.kernel.exception.SystemException;
360    
361            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
362            public int searchCount(long groupId, long[] categoryIds,
363                    java.lang.String keywords)
364                    throws com.liferay.portal.kernel.exception.SystemException;
365    
366            public com.liferay.portlet.shopping.model.ShoppingItem updateItem(
367                    long userId, long itemId, long groupId, long categoryId,
368                    java.lang.String sku, java.lang.String name,
369                    java.lang.String description, java.lang.String properties,
370                    java.lang.String fieldsQuantities, boolean requiresShipping,
371                    int stockQuantity, boolean featured, java.lang.Boolean sale,
372                    boolean smallImage, java.lang.String smallImageURL,
373                    java.io.File smallFile, boolean mediumImage,
374                    java.lang.String mediumImageURL, java.io.File mediumFile,
375                    boolean largeImage, java.lang.String largeImageURL,
376                    java.io.File largeFile,
377                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemField> itemFields,
378                    java.util.List<com.liferay.portlet.shopping.model.ShoppingItemPrice> itemPrices,
379                    com.liferay.portal.service.ServiceContext serviceContext)
380                    throws com.liferay.portal.kernel.exception.PortalException,
381                            com.liferay.portal.kernel.exception.SystemException;
382    }