/** * Creates a new stanza extension filter for the given stanza extension. * * @param packetExtension */ public PacketExtensionFilter(ExtensionElement packetExtension) { this(packetExtension.getElementName(), packetExtension.getNamespace()); }
/** * Creates a new stanza extension filter for the given stanza extension. * * @param packetExtension */ public StanzaExtensionFilter(ExtensionElement packetExtension) { this(packetExtension.getElementName(), packetExtension.getNamespace()); }
public IQChildElementXmlStringBuilder(ExtensionElement pe) { this(pe.getElementName(), pe.getNamespace()); }
@Override protected EventElement createReturnExtension(String currentElement, String currentNamespace, Map<String, String> attMap, List<? extends ExtensionElement> content) { // TODO: Shouldn't be an embedded extension provider. return new EventElement(EventElementType.valueOf(content.get(0).getElementName()), (NodeExtension) content.get(0)); } }
protected void addStreamFeature(ExtensionElement feature) { String key = XmppStringUtils.generateKey(feature.getElementName(), feature.getNamespace()); streamFeatures.put(key, feature); }
/** * Get a extension element from a collection. * * @param collection Collection of ExtensionElements. * @param element name of the targeted ExtensionElement. * @param namespace namespace of the targeted ExtensionElement. * @param <PE> Type of the ExtensionElement * * @return the extension element */ @SuppressWarnings("unchecked") public static <PE extends ExtensionElement> PE extensionElementFrom(Collection<ExtensionElement> collection, String element, String namespace) { for (ExtensionElement packetExtension : collection) { if ((element == null || packetExtension.getElementName().equals( element)) && packetExtension.getNamespace().equals(namespace)) { return (PE) packetExtension; } } return null; } }
public XmlStringBuilder prelude(ExtensionElement pe) { return prelude(pe.getElementName(), pe.getNamespace()); }
/** * Removes a stanza extension from the packet. * * @param extension the stanza extension to remove. * @return the removed stanza extension or null. */ public ExtensionElement removeExtension(ExtensionElement extension) { String key = XmppStringUtils.generateKey(extension.getElementName(), extension.getNamespace()); synchronized (packetExtensions) { List<ExtensionElement> list = packetExtensions.getAll(key); boolean removed = list.remove(extension); if (removed) { return extension; } } return null; }
/** * Adds a stanza extension to the packet. Does nothing if extension is null. * * @param extension a stanza extension. */ public void addExtension(ExtensionElement extension) { if (extension == null) return; String key = XmppStringUtils.generateKey(extension.getElementName(), extension.getNamespace()); synchronized (packetExtensions) { packetExtensions.put(key, extension); } }
@Override public boolean acceptSpecific(Message message) { EventElement event = EventElement.from(message); if (event == null) return false; NodeExtension embedEvent = event.getEvent(); if (embedEvent == null) return false; if (embedEvent.getElementName().equals(firstElement)) { if (!embedEvent.getNode().equals(getId())) return false; if (secondElement == null) return true; if (embedEvent instanceof EmbeddedPacketExtension) { List<ExtensionElement> secondLevelList = ((EmbeddedPacketExtension) embedEvent).getExtensions(); // XEP-0060 allows no elements on second level for notifications. See schema or // for example ยง 4.3: // "although event notifications MUST include an empty <items/> element;" if (allowEmpty && secondLevelList.isEmpty()) { return true; } if (secondLevelList.size() > 0 && secondLevelList.get(0).getElementName().equals(secondElement)) return true; } } return false; } }
/** * Add the given extension and override eventually existing extensions with the same name and * namespace. * * @param extension the extension element to add. * @return one of the removed extensions or <code>null</code> if there are none. * @since 4.1.2 */ public ExtensionElement overrideExtension(ExtensionElement extension) { if (extension == null) return null; synchronized (packetExtensions) { // Note that we need to use removeExtension(String, String) here. If would use // removeExtension(ExtensionElement) then we would remove based on the equality of ExtensionElement, which // is not what we want in this case. ExtensionElement removedExtension = removeExtension(extension.getElementName(), extension.getNamespace()); addExtension(extension); return removedExtension; } }
protected OpenPgpContentElement(Set<Jid> to, Date timestamp, List<ExtensionElement> payload) { this.to = to; this.timestamp = Objects.requireNonNull(timestamp); this.payload = new MultiMap<>(); for (ExtensionElement e : payload) { this.payload.put(XmppStringUtils.generateKey(e.getElementName(), e.getNamespace()), e); } }
@Override public void processStanza(Stanza packet) { // CHECKSTYLE:OFF EventElement event = packet.getExtension("event", PubSubNamespace.event.getXmlns()); List<ExtensionElement> extList = event.getExtensions(); if (extList.get(0).getElementName().equals(PubSubElementType.PURGE_EVENT.getElementName())) { listener.handlePurge(); } else { ItemsExtension itemsElem = (ItemsExtension)event.getEvent(); @SuppressWarnings("unchecked") Collection<RetractItem> pubItems = (Collection<RetractItem>) itemsElem.getItems(); List<String> items = new ArrayList<>(pubItems.size()); for (RetractItem item : pubItems) { items.add(item.getId()); } ItemDeleteEvent eventItems = new ItemDeleteEvent(itemsElem.getNode(), items, getSubscriptionIds(packet)); listener.handleDeletedItems(eventItems); } // CHECKSTYLE:ON } }
String chatStateElementName = extension.getElementName();
String chatStateElementName = extension.getElementName();
/** * Creates a new stanza extension filter for the given stanza extension. * * @param packetExtension */ public PacketExtensionFilter(ExtensionElement packetExtension) { this(packetExtension.getElementName(), packetExtension.getNamespace()); }
public IQChildElementXmlStringBuilder(ExtensionElement pe) { this(pe.getElementName(), pe.getNamespace()); }
/** * Creates a new stanza extension filter for the given stanza extension. * * @param packetExtension */ public StanzaExtensionFilter(ExtensionElement packetExtension) { this(packetExtension.getElementName(), packetExtension.getNamespace()); }
public XmlStringBuilder prelude(ExtensionElement pe) { return prelude(pe.getElementName(), pe.getNamespace()); }
/** * Adds a stanza extension to the packet. Does nothing if extension is null. * * @param extension a stanza extension. */ public void addExtension(ExtensionElement extension) { if (extension == null) return; String key = XmppStringUtils.generateKey(extension.getElementName(), extension.getNamespace()); synchronized (packetExtensions) { packetExtensions.put(key, extension); } }