1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-06-27 22:04:50 +02:00
Smack/smack-extensions/src/main/java/org/jivesoftware/smackx/jingle/element/JingleContentDescription.java
Florian Schmaus 6bb001d274 New Jingle API groundwork
A start for the new Jingle API. Since Jingle is a single IQ with many
plugable extensions, there are some particularities we need to deal
with, e.g. jingle users have to register with JingleManager.

This is untested code. There may be drangons.
2017-05-30 08:45:27 +02:00

69 lines
1.8 KiB
Java

/**
*
* Copyright 2017 Florian Schmaus.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jivesoftware.smackx.jingle.element;
import java.util.Collections;
import java.util.List;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.util.XmlStringBuilder;
/**
* Jingle content description.
*
*/
public abstract class JingleContentDescription implements ExtensionElement {
public static final String ELEMENT = "description";
private final List<JingleContentDescriptionPayloadType> payloads;
protected JingleContentDescription(List<JingleContentDescriptionPayloadType> payloads) {
if (payloads != null) {
this.payloads = Collections.unmodifiableList(payloads);
}
else {
this.payloads = Collections.emptyList();
}
}
@Override
public String getElementName() {
return ELEMENT;
}
public List<JingleContentDescriptionPayloadType> getJinglePayloadTypes() {
return payloads;
}
protected void addExtraAttributes(XmlStringBuilder xml) {
}
@Override
public final XmlStringBuilder toXML() {
XmlStringBuilder xml = new XmlStringBuilder(this);
addExtraAttributes(xml);
xml.rightAngleBracket();
xml.append(payloads);
return xml;
}
}