1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.portal.service.http;
21  
22  import com.liferay.portal.kernel.json.JSONArray;
23  import com.liferay.portal.kernel.json.JSONObject;
24  import com.liferay.portal.service.AddressServiceUtil;
25  
26  /**
27   * <a href="AddressServiceJSON.java.html"><b><i>View Source</i></b></a>
28   *
29   * <p>
30   * ServiceBuilder generated this class. Modifications in this class will be
31   * overwritten the next time is generated.
32   * </p>
33   *
34   * <p>
35   * This class provides a JSON utility for the
36   * <code>com.liferay.portal.service.AddressServiceUtil</code>
37   * service utility. The static methods of this class calls the same methods of
38   * the service utility. However, the signatures are different because it is
39   * difficult for JSON to support certain types.
40   * </p>
41   *
42   * <p>
43   * ServiceBuilder follows certain rules in translating the methods. For example,
44   * if the method in the service utility returns a <code>java.util.List</code>,
45   * that is translated to a
46   * <code>com.liferay.portal.kernel.json.JSONArray</code>. If the method in the
47   * service utility returns a <code>com.liferay.portal.model.Address</code>,
48   * that is translated to a
49   * <code>com.liferay.portal.kernel.json.JSONObject</code>. Methods that JSON
50   * cannot safely use are skipped. The logic for the translation is encapsulated
51   * in <code>com.liferay.portal.service.http.AddressJSONSerializer</code>.
52   * </p>
53   *
54   * <p>
55   * This allows you to call the the backend services directly from JavaScript.
56   * See <code>portal-web/docroot/html/portlet/tags_admin/unpacked.js</code> for a
57   * reference of how that portlet uses the generated JavaScript in
58   * <code>portal-web/docroot/html/js/service.js</code> to call the backend
59   * services directly from JavaScript.
60   * </p>
61   *
62   * <p>
63   * The JSON utility is only generated for remote services.
64   * </p>
65   *
66   * @author Brian Wing Shun Chan
67   *
68   * @see com.liferay.portal.service.AddressServiceUtil
69   * @see com.liferay.portal.service.http.AddressJSONSerializer
70   *
71   */
72  public class AddressServiceJSON {
73      public static JSONObject addAddress(java.lang.String className,
74          long classPK, java.lang.String street1, java.lang.String street2,
75          java.lang.String street3, java.lang.String city, java.lang.String zip,
76          long regionId, long countryId, int typeId, boolean mailing,
77          boolean primary)
78          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
79              com.liferay.portal.SystemException {
80          com.liferay.portal.model.Address returnValue = AddressServiceUtil.addAddress(className,
81                  classPK, street1, street2, street3, city, zip, regionId,
82                  countryId, typeId, mailing, primary);
83  
84          return AddressJSONSerializer.toJSONObject(returnValue);
85      }
86  
87      public static void deleteAddress(long addressId)
88          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
89              com.liferay.portal.SystemException {
90          AddressServiceUtil.deleteAddress(addressId);
91      }
92  
93      public static JSONObject getAddress(long addressId)
94          throws java.rmi.RemoteException, com.liferay.portal.PortalException,
95              com.liferay.portal.SystemException {
96          com.liferay.portal.model.Address returnValue = AddressServiceUtil.getAddress(addressId);
97  
98          return AddressJSONSerializer.toJSONObject(returnValue);
99      }
100 
101     public static JSONArray getAddresses(java.lang.String className,
102         long classPK)
103         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
104             com.liferay.portal.SystemException {
105         java.util.List<com.liferay.portal.model.Address> returnValue = AddressServiceUtil.getAddresses(className,
106                 classPK);
107 
108         return AddressJSONSerializer.toJSONArray(returnValue);
109     }
110 
111     public static JSONObject updateAddress(long addressId,
112         java.lang.String street1, java.lang.String street2,
113         java.lang.String street3, java.lang.String city, java.lang.String zip,
114         long regionId, long countryId, int typeId, boolean mailing,
115         boolean primary)
116         throws java.rmi.RemoteException, com.liferay.portal.PortalException,
117             com.liferay.portal.SystemException {
118         com.liferay.portal.model.Address returnValue = AddressServiceUtil.updateAddress(addressId,
119                 street1, street2, street3, city, zip, regionId, countryId,
120                 typeId, mailing, primary);
121 
122         return AddressJSONSerializer.toJSONObject(returnValue);
123     }
124 }