features.java.svn-base
来自「开源项目openfire的完整源程序」· SVN-BASE 代码 · 共 85 行
SVN-BASE
85 行
/** * $Revision: $ * $Date: $ * * Copyright (C) 2006 Jive Software. All rights reserved. * * This software is published under the terms of the GNU Lesser Public License (LGPL), * a copy of which is included in this distribution. */package org.jivesoftware.sparkimpl.plugin.manager;import org.jivesoftware.smack.packet.PacketExtension;import org.jivesoftware.smack.provider.PacketExtensionProvider;import org.xmlpull.v1.XmlPullParser;import java.util.ArrayList;import java.util.List;public class Features implements PacketExtension { private List availableFeatures = new ArrayList(); public List getAvailableFeatures() { return availableFeatures; } public void addFeature(String feature) { availableFeatures.add(feature); } /** * Element name of the packet extension. */ public static final String ELEMENT_NAME = "event"; /** * Namespace of the packet extension. */ public static final String NAMESPACE = "http://jabber.org/protocol/disco#info"; public String getElementName() { return ELEMENT_NAME; } public String getNamespace() { return NAMESPACE; } public String toXML() { StringBuffer buf = new StringBuffer(); buf.append("<event xmlns=\"" + NAMESPACE + "\"").append("</event>"); return buf.toString(); } public static class Provider implements PacketExtensionProvider { public PacketExtension parseExtension(XmlPullParser parser) throws Exception { Features features = new Features(); boolean done = false; while (!done) { int eventType = parser.next(); if (eventType == XmlPullParser.START_TAG && "event".equals(parser.getName())) { parser.nextText(); } if (eventType == XmlPullParser.START_TAG && "feature".equals(parser.getName())) { String feature = parser.getAttributeValue("", "var"); features.addFeature(feature); } else if (eventType == XmlPullParser.END_TAG) { if ("event".equals(parser.getName())) { done = true; } } } return features; } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?