001/** 002 * 003 * Copyright 2016 Fernando Ramirez 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017package org.jivesoftware.smackx.muclight.element; 018 019import org.jivesoftware.smack.packet.IQ; 020 021import org.jivesoftware.smackx.muclight.MUCLightRoomConfiguration; 022import org.jivesoftware.smackx.muclight.MultiUserChatLight; 023import org.jivesoftware.smackx.muclight.element.MUCLightElements.ConfigurationElement; 024 025/** 026 * MUC Light configuration response IQ class. 027 * 028 * @author Fernando Ramirez 029 * 030 */ 031public class MUCLightConfigurationIQ extends IQ { 032 033 public static final String ELEMENT = QUERY_ELEMENT; 034 public static final String NAMESPACE = MultiUserChatLight.NAMESPACE + MultiUserChatLight.CONFIGURATION; 035 036 private final String version; 037 private final MUCLightRoomConfiguration configuration; 038 039 /** 040 * MUC Light configuration response IQ constructor. 041 * 042 * @param version 043 * @param configuration 044 */ 045 public MUCLightConfigurationIQ(String version, MUCLightRoomConfiguration configuration) { 046 super(ELEMENT, NAMESPACE); 047 this.version = version; 048 this.configuration = configuration; 049 } 050 051 @Override 052 protected IQChildElementXmlStringBuilder getIQChildElementBuilder(IQChildElementXmlStringBuilder xml) { 053 xml.rightAngleBracket(); 054 xml.optElement("version", version); 055 xml.element(new ConfigurationElement(configuration)); 056 return xml; 057 } 058 059 /** 060 * Returns the version. 061 * 062 * @return the version 063 */ 064 public String getVersion() { 065 return version; 066 } 067 068 /** 069 * Returns the room configuration. 070 * 071 * @return the configuration of the room 072 */ 073 public MUCLightRoomConfiguration getConfiguration() { 074 return configuration; 075 } 076 077}