Home | History | Annotate | Download | only in workgroup
      1 /**
      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 
     20 package org.jivesoftware.smackx.workgroup;
     21 
     22 import java.util.List;
     23 import java.util.Map;
     24 
     25 import org.jivesoftware.smackx.workgroup.util.MetaDataUtils;
     26 
     27 import org.jivesoftware.smack.packet.PacketExtension;
     28 
     29 /**
     30  * MetaData packet extension.
     31  */
     32 public 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 }