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.kernel.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.jsonwebservice.JSONWebService;
022    import com.liferay.portal.kernel.model.Address;
023    import com.liferay.portal.kernel.security.access.control.AccessControlled;
024    import com.liferay.portal.kernel.transaction.Isolation;
025    import com.liferay.portal.kernel.transaction.Propagation;
026    import com.liferay.portal.kernel.transaction.Transactional;
027    
028    import java.util.List;
029    
030    /**
031     * Provides the remote service interface for Address. Methods of this
032     * service are expected to have security checks based on the propagated JAAS
033     * credentials because this service can be accessed remotely.
034     *
035     * @author Brian Wing Shun Chan
036     * @see AddressServiceUtil
037     * @see com.liferay.portal.service.base.AddressServiceBaseImpl
038     * @see com.liferay.portal.service.impl.AddressServiceImpl
039     * @generated
040     */
041    @AccessControlled
042    @JSONWebService
043    @ProviderType
044    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
045            PortalException.class, SystemException.class})
046    public interface AddressService extends BaseService {
047            /*
048             * NOTE FOR DEVELOPERS:
049             *
050             * Never modify or reference this interface directly. Always use {@link AddressServiceUtil} to access the address remote service. Add custom service methods to {@link com.liferay.portal.service.impl.AddressServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
051             */
052            public Address addAddress(java.lang.String className, long classPK,
053                    java.lang.String street1, java.lang.String street2,
054                    java.lang.String street3, java.lang.String city, java.lang.String zip,
055                    long regionId, long countryId, long typeId, boolean mailing,
056                    boolean primary,
057                    com.liferay.portal.kernel.service.ServiceContext serviceContext)
058                    throws PortalException;
059    
060            public void deleteAddress(long addressId) throws PortalException;
061    
062            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
063            public Address getAddress(long addressId) throws PortalException;
064    
065            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
066            public List<Address> getAddresses(java.lang.String className, long classPK)
067                    throws PortalException;
068    
069            /**
070            * Returns the OSGi service identifier.
071            *
072            * @return the OSGi service identifier
073            */
074            public java.lang.String getOSGiServiceIdentifier();
075    
076            public Address updateAddress(long addressId, java.lang.String street1,
077                    java.lang.String street2, java.lang.String street3,
078                    java.lang.String city, java.lang.String zip, long regionId,
079                    long countryId, long typeId, boolean mailing, boolean primary)
080                    throws PortalException;
081    }