Java tutorial
/* * ***** BEGIN LICENSE BLOCK ***** * Zimbra Collaboration Suite Server * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2013, 2014, 2016 Synacor, Inc. * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software Foundation, * version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program. * If not, see <https://www.gnu.org/licenses/>. * ***** END LICENSE BLOCK ***** */ package com.zimbra.cs.client.soap; import java.util.HashMap; import java.util.Iterator; import org.dom4j.Element; import org.dom4j.DocumentHelper; import com.zimbra.common.soap.DomUtil; import com.zimbra.common.service.ServiceException; import com.zimbra.common.soap.AccountConstants; public class LmcGetPrefsRequest extends LmcSoapRequest { private String mPrefsToGet[]; /** * Set the preferences to retrieve. * @param prefsToGet[] - array of names of prefs to get. Pass in null * for all preferences */ public void setPrefsToGet(String prefsToGet[]) { mPrefsToGet = prefsToGet; } public String[] getPrefsToGet() { return mPrefsToGet; } protected Element getRequestXML() { Element request = DocumentHelper.createElement(AccountConstants.GET_PREFS_REQUEST); if (mPrefsToGet != null) { for (int i = 0; i < mPrefsToGet.length; i++) { Element pe = DomUtil.add(request, AccountConstants.E_PREF, ""); DomUtil.addAttr(pe, AccountConstants.A_NAME, mPrefsToGet[i]); } } return request; } protected LmcSoapResponse parseResponseXML(Element responseXML) throws ServiceException { // iterate over all the <pref> elements in the response HashMap prefMap = new HashMap(); for (Iterator ait = responseXML.elementIterator(AccountConstants.E_PREF); ait.hasNext();) { Element a = (Element) ait.next(); addPrefToMultiMap(prefMap, a); } // create the response object and put in the HashMap LmcGetPrefsResponse response = new LmcGetPrefsResponse(); response.setPrefsMap(prefMap); return response; } }