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.portal.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    
023    /**
024     * Provides the local service interface for EmailAddress. Methods of this
025     * service will not have security checks based on the propagated JAAS
026     * credentials because this service can only be accessed from within the same
027     * VM.
028     *
029     * @author Brian Wing Shun Chan
030     * @see EmailAddressLocalServiceUtil
031     * @see com.liferay.portal.service.base.EmailAddressLocalServiceBaseImpl
032     * @see com.liferay.portal.service.impl.EmailAddressLocalServiceImpl
033     * @generated
034     */
035    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
036            PortalException.class, SystemException.class})
037    public interface EmailAddressLocalService extends BaseLocalService,
038            PersistedModelLocalService {
039            /*
040             * NOTE FOR DEVELOPERS:
041             *
042             * Never modify or reference this interface directly. Always use {@link EmailAddressLocalServiceUtil} to access the email address local service. Add custom service methods to {@link com.liferay.portal.service.impl.EmailAddressLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
043             */
044    
045            /**
046            * Adds the email address to the database. Also notifies the appropriate model listeners.
047            *
048            * @param emailAddress the email address
049            * @return the email address that was added
050            * @throws SystemException if a system exception occurred
051            */
052            public com.liferay.portal.model.EmailAddress addEmailAddress(
053                    com.liferay.portal.model.EmailAddress emailAddress)
054                    throws com.liferay.portal.kernel.exception.SystemException;
055    
056            /**
057            * Creates a new email address with the primary key. Does not add the email address to the database.
058            *
059            * @param emailAddressId the primary key for the new email address
060            * @return the new email address
061            */
062            public com.liferay.portal.model.EmailAddress createEmailAddress(
063                    long emailAddressId);
064    
065            /**
066            * Deletes the email address with the primary key from the database. Also notifies the appropriate model listeners.
067            *
068            * @param emailAddressId the primary key of the email address
069            * @return the email address that was removed
070            * @throws PortalException if a email address with the primary key could not be found
071            * @throws SystemException if a system exception occurred
072            */
073            public com.liferay.portal.model.EmailAddress deleteEmailAddress(
074                    long emailAddressId)
075                    throws com.liferay.portal.kernel.exception.PortalException,
076                            com.liferay.portal.kernel.exception.SystemException;
077    
078            /**
079            * Deletes the email address from the database. Also notifies the appropriate model listeners.
080            *
081            * @param emailAddress the email address
082            * @return the email address that was removed
083            * @throws SystemException if a system exception occurred
084            */
085            public com.liferay.portal.model.EmailAddress deleteEmailAddress(
086                    com.liferay.portal.model.EmailAddress emailAddress)
087                    throws com.liferay.portal.kernel.exception.SystemException;
088    
089            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
090    
091            /**
092            * Performs a dynamic query on the database and returns the matching rows.
093            *
094            * @param dynamicQuery the dynamic query
095            * @return the matching rows
096            * @throws SystemException if a system exception occurred
097            */
098            @SuppressWarnings("rawtypes")
099            public java.util.List dynamicQuery(
100                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
101                    throws com.liferay.portal.kernel.exception.SystemException;
102    
103            /**
104            * Performs a dynamic query on the database and returns a range of the matching rows.
105            *
106            * <p>
107            * 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.EmailAddressModelImpl}. 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.
108            * </p>
109            *
110            * @param dynamicQuery the dynamic query
111            * @param start the lower bound of the range of model instances
112            * @param end the upper bound of the range of model instances (not inclusive)
113            * @return the range of matching rows
114            * @throws SystemException if a system exception occurred
115            */
116            @SuppressWarnings("rawtypes")
117            public java.util.List dynamicQuery(
118                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
119                    int end) throws com.liferay.portal.kernel.exception.SystemException;
120    
121            /**
122            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
123            *
124            * <p>
125            * 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.EmailAddressModelImpl}. 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.
126            * </p>
127            *
128            * @param dynamicQuery the dynamic query
129            * @param start the lower bound of the range of model instances
130            * @param end the upper bound of the range of model instances (not inclusive)
131            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
132            * @return the ordered range of matching rows
133            * @throws SystemException if a system exception occurred
134            */
135            @SuppressWarnings("rawtypes")
136            public java.util.List dynamicQuery(
137                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
138                    int end,
139                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
140                    throws com.liferay.portal.kernel.exception.SystemException;
141    
142            /**
143            * Returns the number of rows that match the dynamic query.
144            *
145            * @param dynamicQuery the dynamic query
146            * @return the number of rows that match the dynamic query
147            * @throws SystemException if a system exception occurred
148            */
149            public long dynamicQueryCount(
150                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
151                    throws com.liferay.portal.kernel.exception.SystemException;
152    
153            /**
154            * Returns the number of rows that match the dynamic query.
155            *
156            * @param dynamicQuery the dynamic query
157            * @param projection the projection to apply to the query
158            * @return the number of rows that match the dynamic query
159            * @throws SystemException if a system exception occurred
160            */
161            public long dynamicQueryCount(
162                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
163                    com.liferay.portal.kernel.dao.orm.Projection projection)
164                    throws com.liferay.portal.kernel.exception.SystemException;
165    
166            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
167            public com.liferay.portal.model.EmailAddress fetchEmailAddress(
168                    long emailAddressId)
169                    throws com.liferay.portal.kernel.exception.SystemException;
170    
171            /**
172            * Returns the email address with the matching UUID and company.
173            *
174            * @param uuid the email address's UUID
175            * @param companyId the primary key of the company
176            * @return the matching email address, or <code>null</code> if a matching email address could not be found
177            * @throws SystemException if a system exception occurred
178            */
179            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
180            public com.liferay.portal.model.EmailAddress fetchEmailAddressByUuidAndCompanyId(
181                    java.lang.String uuid, long companyId)
182                    throws com.liferay.portal.kernel.exception.SystemException;
183    
184            /**
185            * Returns the email address with the primary key.
186            *
187            * @param emailAddressId the primary key of the email address
188            * @return the email address
189            * @throws PortalException if a email address with the primary key could not be found
190            * @throws SystemException if a system exception occurred
191            */
192            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
193            public com.liferay.portal.model.EmailAddress getEmailAddress(
194                    long emailAddressId)
195                    throws com.liferay.portal.kernel.exception.PortalException,
196                            com.liferay.portal.kernel.exception.SystemException;
197    
198            @Override
199            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
200            public com.liferay.portal.model.PersistedModel getPersistedModel(
201                    java.io.Serializable primaryKeyObj)
202                    throws com.liferay.portal.kernel.exception.PortalException,
203                            com.liferay.portal.kernel.exception.SystemException;
204    
205            /**
206            * Returns the email address with the matching UUID and company.
207            *
208            * @param uuid the email address's UUID
209            * @param companyId the primary key of the company
210            * @return the matching email address
211            * @throws PortalException if a matching email address could not be found
212            * @throws SystemException if a system exception occurred
213            */
214            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
215            public com.liferay.portal.model.EmailAddress getEmailAddressByUuidAndCompanyId(
216                    java.lang.String uuid, long companyId)
217                    throws com.liferay.portal.kernel.exception.PortalException,
218                            com.liferay.portal.kernel.exception.SystemException;
219    
220            /**
221            * Returns a range of all the email addresses.
222            *
223            * <p>
224            * 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.EmailAddressModelImpl}. 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.
225            * </p>
226            *
227            * @param start the lower bound of the range of email addresses
228            * @param end the upper bound of the range of email addresses (not inclusive)
229            * @return the range of email addresses
230            * @throws SystemException if a system exception occurred
231            */
232            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
233            public java.util.List<com.liferay.portal.model.EmailAddress> getEmailAddresses(
234                    int start, int end)
235                    throws com.liferay.portal.kernel.exception.SystemException;
236    
237            /**
238            * Returns the number of email addresses.
239            *
240            * @return the number of email addresses
241            * @throws SystemException if a system exception occurred
242            */
243            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
244            public int getEmailAddressesCount()
245                    throws com.liferay.portal.kernel.exception.SystemException;
246    
247            /**
248            * Updates the email address in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
249            *
250            * @param emailAddress the email address
251            * @return the email address that was updated
252            * @throws SystemException if a system exception occurred
253            */
254            public com.liferay.portal.model.EmailAddress updateEmailAddress(
255                    com.liferay.portal.model.EmailAddress emailAddress)
256                    throws com.liferay.portal.kernel.exception.SystemException;
257    
258            /**
259            * Returns the Spring bean ID for this bean.
260            *
261            * @return the Spring bean ID for this bean
262            */
263            public java.lang.String getBeanIdentifier();
264    
265            /**
266            * Sets the Spring bean ID for this bean.
267            *
268            * @param beanIdentifier the Spring bean ID for this bean
269            */
270            public void setBeanIdentifier(java.lang.String beanIdentifier);
271    
272            /**
273            * @deprecated As of 6.2.0, replaced by {@link #addEmailAddress(long,
274            String, long, String, int, boolean, ServiceContext)}
275            */
276            public com.liferay.portal.model.EmailAddress addEmailAddress(long userId,
277                    java.lang.String className, long classPK, java.lang.String address,
278                    int typeId, boolean primary)
279                    throws com.liferay.portal.kernel.exception.PortalException,
280                            com.liferay.portal.kernel.exception.SystemException;
281    
282            public com.liferay.portal.model.EmailAddress addEmailAddress(long userId,
283                    java.lang.String className, long classPK, java.lang.String address,
284                    int typeId, boolean primary,
285                    com.liferay.portal.service.ServiceContext serviceContext)
286                    throws com.liferay.portal.kernel.exception.PortalException,
287                            com.liferay.portal.kernel.exception.SystemException;
288    
289            public void deleteEmailAddresses(long companyId,
290                    java.lang.String className, long classPK)
291                    throws com.liferay.portal.kernel.exception.SystemException;
292    
293            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
294            public java.util.List<com.liferay.portal.model.EmailAddress> getEmailAddresses()
295                    throws com.liferay.portal.kernel.exception.SystemException;
296    
297            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
298            public java.util.List<com.liferay.portal.model.EmailAddress> getEmailAddresses(
299                    long companyId, java.lang.String className, long classPK)
300                    throws com.liferay.portal.kernel.exception.SystemException;
301    
302            public com.liferay.portal.model.EmailAddress updateEmailAddress(
303                    long emailAddressId, java.lang.String address, int typeId,
304                    boolean primary)
305                    throws com.liferay.portal.kernel.exception.PortalException,
306                            com.liferay.portal.kernel.exception.SystemException;
307    }