001    /**
002     * Copyright (c) 2000-present 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 aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.search.IndexableType;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    import com.liferay.portal.model.SystemEventConstants;
026    
027    /**
028     * Provides the local service interface for Address. Methods of this
029     * service will not have security checks based on the propagated JAAS
030     * credentials because this service can only be accessed from within the same
031     * VM.
032     *
033     * @author Brian Wing Shun Chan
034     * @see AddressLocalServiceUtil
035     * @see com.liferay.portal.service.base.AddressLocalServiceBaseImpl
036     * @see com.liferay.portal.service.impl.AddressLocalServiceImpl
037     * @generated
038     */
039    @ProviderType
040    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
041            PortalException.class, SystemException.class})
042    public interface AddressLocalService extends BaseLocalService,
043            PersistedModelLocalService {
044            /*
045             * NOTE FOR DEVELOPERS:
046             *
047             * 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.
048             */
049    
050            /**
051            * Adds the address to the database. Also notifies the appropriate model listeners.
052            *
053            * @param address the address
054            * @return the address that was added
055            */
056            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
057            public com.liferay.portal.model.Address addAddress(
058                    com.liferay.portal.model.Address address);
059    
060            public com.liferay.portal.model.Address addAddress(long userId,
061                    java.lang.String className, long classPK, java.lang.String street1,
062                    java.lang.String street2, java.lang.String street3,
063                    java.lang.String city, java.lang.String zip, long regionId,
064                    long countryId, long typeId, boolean mailing, boolean primary,
065                    com.liferay.portal.service.ServiceContext serviceContext)
066                    throws PortalException;
067    
068            /**
069            * Creates a new address with the primary key. Does not add the address to the database.
070            *
071            * @param addressId the primary key for the new address
072            * @return the new address
073            */
074            public com.liferay.portal.model.Address createAddress(long addressId);
075    
076            /**
077            * Deletes the address from the database. Also notifies the appropriate model listeners.
078            *
079            * @param address the address
080            * @return the address that was removed
081            */
082            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
083            @com.liferay.portal.kernel.systemevent.SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
084            public com.liferay.portal.model.Address deleteAddress(
085                    com.liferay.portal.model.Address address);
086    
087            /**
088            * Deletes the address with the primary key from the database. Also notifies the appropriate model listeners.
089            *
090            * @param addressId the primary key of the address
091            * @return the address that was removed
092            * @throws PortalException if a address with the primary key could not be found
093            */
094            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
095            public com.liferay.portal.model.Address deleteAddress(long addressId)
096                    throws PortalException;
097    
098            public void deleteAddresses(long companyId, java.lang.String className,
099                    long classPK);
100    
101            /**
102            * @throws PortalException
103            */
104            @Override
105            public com.liferay.portal.model.PersistedModel deletePersistedModel(
106                    com.liferay.portal.model.PersistedModel persistedModel)
107                    throws PortalException;
108    
109            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
110    
111            /**
112            * Performs a dynamic query on the database and returns the matching rows.
113            *
114            * @param dynamicQuery the dynamic query
115            * @return the matching rows
116            */
117            public <T> java.util.List<T> dynamicQuery(
118                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
119    
120            /**
121            * Performs a dynamic query on the database and returns a range of the matching rows.
122            *
123            * <p>
124            * 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.AddressModelImpl}. 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.
125            * </p>
126            *
127            * @param dynamicQuery the dynamic query
128            * @param start the lower bound of the range of model instances
129            * @param end the upper bound of the range of model instances (not inclusive)
130            * @return the range of matching rows
131            */
132            public <T> java.util.List<T> dynamicQuery(
133                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
134                    int end);
135    
136            /**
137            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
138            *
139            * <p>
140            * 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.AddressModelImpl}. 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.
141            * </p>
142            *
143            * @param dynamicQuery the dynamic query
144            * @param start the lower bound of the range of model instances
145            * @param end the upper bound of the range of model instances (not inclusive)
146            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
147            * @return the ordered range of matching rows
148            */
149            public <T> java.util.List<T> dynamicQuery(
150                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
151                    int end,
152                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
153    
154            /**
155            * Returns the number of rows matching the dynamic query.
156            *
157            * @param dynamicQuery the dynamic query
158            * @return the number of rows matching the dynamic query
159            */
160            public long dynamicQueryCount(
161                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
162    
163            /**
164            * Returns the number of rows matching the dynamic query.
165            *
166            * @param dynamicQuery the dynamic query
167            * @param projection the projection to apply to the query
168            * @return the number of rows matching the dynamic query
169            */
170            public long dynamicQueryCount(
171                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
172                    com.liferay.portal.kernel.dao.orm.Projection projection);
173    
174            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
175            public com.liferay.portal.model.Address fetchAddress(long addressId);
176    
177            /**
178            * Returns the address with the matching UUID and company.
179            *
180            * @param uuid the address's UUID
181            * @param companyId the primary key of the company
182            * @return the matching address, or <code>null</code> if a matching address could not be found
183            */
184            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
185            public com.liferay.portal.model.Address fetchAddressByUuidAndCompanyId(
186                    java.lang.String uuid, long companyId);
187    
188            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
189            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
190    
191            /**
192            * Returns the address with the primary key.
193            *
194            * @param addressId the primary key of the address
195            * @return the address
196            * @throws PortalException if a address with the primary key could not be found
197            */
198            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
199            public com.liferay.portal.model.Address getAddress(long addressId)
200                    throws PortalException;
201    
202            /**
203            * Returns the address with the matching UUID and company.
204            *
205            * @param uuid the address's UUID
206            * @param companyId the primary key of the company
207            * @return the matching address
208            * @throws PortalException if a matching address could not be found
209            */
210            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
211            public com.liferay.portal.model.Address getAddressByUuidAndCompanyId(
212                    java.lang.String uuid, long companyId) throws PortalException;
213    
214            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
215            public java.util.List<com.liferay.portal.model.Address> getAddresses();
216    
217            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
218            public java.util.List<com.liferay.portal.model.Address> getAddresses(
219                    long companyId, java.lang.String className, long classPK);
220    
221            /**
222            * Returns a range of all the addresses.
223            *
224            * <p>
225            * 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.AddressModelImpl}. 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.
226            * </p>
227            *
228            * @param start the lower bound of the range of addresses
229            * @param end the upper bound of the range of addresses (not inclusive)
230            * @return the range of addresses
231            */
232            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
233            public java.util.List<com.liferay.portal.model.Address> getAddresses(
234                    int start, int end);
235    
236            /**
237            * Returns the number of addresses.
238            *
239            * @return the number of addresses
240            */
241            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
242            public int getAddressesCount();
243    
244            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
245            public com.liferay.portal.kernel.dao.orm.ExportActionableDynamicQuery getExportActionableDynamicQuery(
246                    com.liferay.portlet.exportimport.lar.PortletDataContext portletDataContext);
247    
248            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
249            public com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
250    
251            /**
252            * Returns the OSGi service identifier.
253            *
254            * @return the OSGi service identifier
255            */
256            public java.lang.String getOSGiServiceIdentifier();
257    
258            @Override
259            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
260            public com.liferay.portal.model.PersistedModel getPersistedModel(
261                    java.io.Serializable primaryKeyObj) throws PortalException;
262    
263            /**
264            * Updates the address in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
265            *
266            * @param address the address
267            * @return the address that was updated
268            */
269            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
270            public com.liferay.portal.model.Address updateAddress(
271                    com.liferay.portal.model.Address address);
272    
273            public com.liferay.portal.model.Address updateAddress(long addressId,
274                    java.lang.String street1, java.lang.String street2,
275                    java.lang.String street3, java.lang.String city, java.lang.String zip,
276                    long regionId, long countryId, long typeId, boolean mailing,
277                    boolean primary) throws PortalException;
278    }