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.portal.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 address local service.
025     *
026     * <p>
027     * Never modify or reference this interface directly. Always use {@link AddressLocalServiceUtil} to access the address local service. Add custom service methods to {@link com.liferay.portal.service.impl.AddressLocalServiceImpl} 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 AddressLocalServiceUtil
036     * @see com.liferay.portal.service.base.AddressLocalServiceBaseImpl
037     * @see com.liferay.portal.service.impl.AddressLocalServiceImpl
038     * @generated
039     */
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface AddressLocalService {
043            /**
044            * Adds the address to the database. Also notifies the appropriate model listeners.
045            *
046            * @param address the address to add
047            * @return the address that was added
048            * @throws SystemException if a system exception occurred
049            */
050            public com.liferay.portal.model.Address addAddress(
051                    com.liferay.portal.model.Address address)
052                    throws com.liferay.portal.kernel.exception.SystemException;
053    
054            /**
055            * Creates a new address with the primary key. Does not add the address to the database.
056            *
057            * @param addressId the primary key for the new address
058            * @return the new address
059            */
060            public com.liferay.portal.model.Address createAddress(long addressId);
061    
062            /**
063            * Deletes the address with the primary key from the database. Also notifies the appropriate model listeners.
064            *
065            * @param addressId the primary key of the address to delete
066            * @throws PortalException if a address with the primary key could not be found
067            * @throws SystemException if a system exception occurred
068            */
069            public void deleteAddress(long addressId)
070                    throws com.liferay.portal.kernel.exception.PortalException,
071                            com.liferay.portal.kernel.exception.SystemException;
072    
073            /**
074            * Deletes the address from the database. Also notifies the appropriate model listeners.
075            *
076            * @param address the address to delete
077            * @throws SystemException if a system exception occurred
078            */
079            public void deleteAddress(com.liferay.portal.model.Address address)
080                    throws com.liferay.portal.kernel.exception.SystemException;
081    
082            /**
083            * Performs a dynamic query on the database and returns the matching rows.
084            *
085            * @param dynamicQuery the dynamic query to search with
086            * @return the matching rows
087            * @throws SystemException if a system exception occurred
088            */
089            @SuppressWarnings("rawtypes")
090            public java.util.List dynamicQuery(
091                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
092                    throws com.liferay.portal.kernel.exception.SystemException;
093    
094            /**
095            * Performs a dynamic query on the database and returns a range of the matching rows.
096            *
097            * <p>
098            * 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.
099            * </p>
100            *
101            * @param dynamicQuery the dynamic query to search with
102            * @param start the lower bound of the range of model instances to return
103            * @param end the upper bound of the range of model instances to return (not inclusive)
104            * @return the range of 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, int start,
110                    int end) throws com.liferay.portal.kernel.exception.SystemException;
111    
112            /**
113            * Performs a dynamic query on the database and returns an ordered 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.
117            * </p>
118            *
119            * @param dynamicQuery the dynamic query to search with
120            * @param start the lower bound of the range of model instances to return
121            * @param end the upper bound of the range of model instances to return (not inclusive)
122            * @param orderByComparator the comparator to order the results by
123            * @return the ordered range of matching rows
124            * @throws SystemException if a system exception occurred
125            */
126            @SuppressWarnings("rawtypes")
127            public java.util.List dynamicQuery(
128                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
129                    int end,
130                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
131                    throws com.liferay.portal.kernel.exception.SystemException;
132    
133            /**
134            * Counts the number of rows that match the dynamic query.
135            *
136            * @param dynamicQuery the dynamic query to search with
137            * @return the number of rows that match the dynamic query
138            * @throws SystemException if a system exception occurred
139            */
140            public long dynamicQueryCount(
141                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
142                    throws com.liferay.portal.kernel.exception.SystemException;
143    
144            /**
145            * Gets the address with the primary key.
146            *
147            * @param addressId the primary key of the address to get
148            * @return the address
149            * @throws PortalException if a address with the primary key could not be found
150            * @throws SystemException if a system exception occurred
151            */
152            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
153            public com.liferay.portal.model.Address getAddress(long addressId)
154                    throws com.liferay.portal.kernel.exception.PortalException,
155                            com.liferay.portal.kernel.exception.SystemException;
156    
157            /**
158            * Gets a range of all the addresses.
159            *
160            * <p>
161            * 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.
162            * </p>
163            *
164            * @param start the lower bound of the range of addresses to return
165            * @param end the upper bound of the range of addresses to return (not inclusive)
166            * @return the range of addresses
167            * @throws SystemException if a system exception occurred
168            */
169            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
170            public java.util.List<com.liferay.portal.model.Address> getAddresses(
171                    int start, int end)
172                    throws com.liferay.portal.kernel.exception.SystemException;
173    
174            /**
175            * Gets the number of addresses.
176            *
177            * @return the number of addresses
178            * @throws SystemException if a system exception occurred
179            */
180            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
181            public int getAddressesCount()
182                    throws com.liferay.portal.kernel.exception.SystemException;
183    
184            /**
185            * Updates the address in the database. Also notifies the appropriate model listeners.
186            *
187            * @param address the address to update
188            * @return the address that was updated
189            * @throws SystemException if a system exception occurred
190            */
191            public com.liferay.portal.model.Address updateAddress(
192                    com.liferay.portal.model.Address address)
193                    throws com.liferay.portal.kernel.exception.SystemException;
194    
195            /**
196            * Updates the address in the database. Also notifies the appropriate model listeners.
197            *
198            * @param address the address to update
199            * @param merge whether to merge the address 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.
200            * @return the address that was updated
201            * @throws SystemException if a system exception occurred
202            */
203            public com.liferay.portal.model.Address updateAddress(
204                    com.liferay.portal.model.Address address, boolean merge)
205                    throws com.liferay.portal.kernel.exception.SystemException;
206    
207            public com.liferay.portal.model.Address addAddress(long userId,
208                    java.lang.String className, long classPK, java.lang.String street1,
209                    java.lang.String street2, java.lang.String street3,
210                    java.lang.String city, java.lang.String zip, long regionId,
211                    long countryId, int typeId, boolean mailing, boolean primary)
212                    throws com.liferay.portal.kernel.exception.PortalException,
213                            com.liferay.portal.kernel.exception.SystemException;
214    
215            public void deleteAddresses(long companyId, java.lang.String className,
216                    long classPK)
217                    throws com.liferay.portal.kernel.exception.SystemException;
218    
219            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
220            public java.util.List<com.liferay.portal.model.Address> getAddresses()
221                    throws com.liferay.portal.kernel.exception.SystemException;
222    
223            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
224            public java.util.List<com.liferay.portal.model.Address> getAddresses(
225                    long companyId, java.lang.String className, long classPK)
226                    throws com.liferay.portal.kernel.exception.SystemException;
227    
228            public com.liferay.portal.model.Address updateAddress(long addressId,
229                    java.lang.String street1, java.lang.String street2,
230                    java.lang.String street3, java.lang.String city, java.lang.String zip,
231                    long regionId, long countryId, int typeId, boolean mailing,
232                    boolean primary)
233                    throws com.liferay.portal.kernel.exception.PortalException,
234                            com.liferay.portal.kernel.exception.SystemException;
235    }