/* * Copyright (c) 1998-2011 Caucho Technology -- all rights reserved * * This file is part of Resin(R) Open Source * * Each copy or derived work must preserve the copyright notice and this * notice unmodified. * * Resin Open Source 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; either version 2 of the License, or * (at your option) any later version. * * Resin Open Source 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, or any warranty * of NON-INFRINGEMENT. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License * along with Resin Open Source; if not, write to the * * Free Software Foundation, Inc. * 59 Temple Place, Suite 330 * Boston, MA 02111-1307 USA * * @author Scott Ferguson */ package com.caucho.xmpp.muc; import com.caucho.xmpp.muc.MucUserItem; import com.caucho.xmpp.muc.MucStatus; import com.caucho.xmpp.muc.MucInvite; import com.caucho.xmpp.muc.MucDestroy; import com.caucho.xmpp.muc.MucDecline; import java.util.*; /** * Muc user query * * XEP-0045: http://www.xmpp.org/extensions/xep-0045.html * * http://jabber.org/protocol/muc#user * * <code><pre> * element x { * decline? * & destroy? * & invite* * & item? * & password? * & status* * } * * element decline { * @from? * & @to? * & reason? * } * * element invite { * @from? * & @to? * & reason? * } * * element destroy { * @address? * & reason? * } * * element item { * @affiliation? * & @address? * & @nick? * & @role? * & actor? * & reason? * & continue? * } * * element actor { * @address * } * * element continue { * @thread? * } * * element status { * @code * } * </pre></code> */ public class MucUserQuery implements java.io.Serializable { private MucDecline _decline; private MucDestroy _destroy; private MucInvite []_invite; private MucUserItem _item; private String _password; private MucStatus []_status; public MucUserQuery() { } public MucUserQuery(MucInvite []invite) { _invite = invite; } public void setDecline(MucDecline decline) { _decline = decline; } public MucDecline getDecline() { return _decline; } public void setDestroy(MucDestroy destroy) { _destroy = destroy; } public MucDestroy getDestroy() { return _destroy; } public MucInvite []getInvite() { return _invite; } public void setInvite(MucInvite []invite) { _invite = invite; } public void setInviteList(ArrayList<MucInvite> inviteList) { if (inviteList != null && inviteList.size() > 0) { _invite = new MucInvite[inviteList.size()]; inviteList.toArray(_invite); } else _invite = null; } public void setItem(MucUserItem item) { _item = item; } public MucUserItem getItem() { return _item; } public MucStatus []getStatus() { return _status; } public void setStatus(MucStatus []status) { _status = status; } public void setStatusList(ArrayList<MucStatus> statusList) { if (statusList != null && statusList.size() > 0) { _status = new MucStatus[statusList.size()]; statusList.toArray(_status); } else _status = null; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(getClass().getSimpleName()).append("["); if (_item != null) sb.append("item=").append(_item).append(","); if (_invite != null) { sb.append("invite=["); for (int i = 0; i < _invite.length; i++) { if (i > 0) sb.append(","); sb.append(_invite[i]); } sb.append("]"); } if (_decline != null) sb.append("decline=").append(_decline); if (_destroy != null) sb.append("destroy=").append(_destroy); if (_status != null) { sb.append("status=["); for (int i = 0; i < _status.length; i++) { if (i > 0) sb.append(","); sb.append(_status[i]); } sb.append("]"); } sb.append("]"); return sb.toString(); } }