blob: 115a79c954026cb750c1b82841d3adce93a4591b [file] [log] [blame]
Shuyi Chend7955ce2013-05-22 14:51:55 -07001/**
2 * $Revision$
3 * $Date$
4 *
5 * Copyright 2003-2007 Jive Software.
6 *
7 * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19
20package org.jivesoftware.smackx.workgroup;
21
22import java.util.List;
23import java.util.Map;
24
25import org.jivesoftware.smackx.workgroup.util.MetaDataUtils;
26
27import org.jivesoftware.smack.packet.PacketExtension;
28
29/**
30 * MetaData packet extension.
31 */
32public class MetaData implements PacketExtension {
33
34 /**
35 * Element name of the packet extension.
36 */
37 public static final String ELEMENT_NAME = "metadata";
38
39 /**
40 * Namespace of the packet extension.
41 */
42 public static final String NAMESPACE = "http://jivesoftware.com/protocol/workgroup";
43
44 private Map<String, List<String>> metaData;
45
46 public MetaData(Map<String, List<String>> metaData) {
47 this.metaData = metaData;
48 }
49
50 /**
51 * @return the Map of metadata contained by this instance
52 */
53 public Map<String, List<String>> getMetaData() {
54 return metaData;
55 }
56
57 public String getElementName() {
58 return ELEMENT_NAME;
59 }
60
61 public String getNamespace() {
62 return NAMESPACE;
63 }
64
65 public String toXML() {
66 return MetaDataUtils.serializeMetaData(this.getMetaData());
67 }
68}