org.jivesoftware.smack.packet.Message.getExtensions()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(6.2k)|赞(0)|评价(0)|浏览(197)

本文整理了Java中org.jivesoftware.smack.packet.Message.getExtensions()方法的一些代码示例,展示了Message.getExtensions()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getExtensions()方法的具体详情如下:
包路径:org.jivesoftware.smack.packet.Message
类名称:Message
方法名:getExtensions

Message.getExtensions介绍

暂无

代码示例

代码示例来源:origin: igniterealtime/Smack

  1. /**
  2. * Returns a set of all bodies in this Message, including the default message body accessible
  3. * from {@link #getBody()}.
  4. *
  5. * @return a collection of all bodies in this Message.
  6. * @since 3.0.2
  7. */
  8. public Set<Body> getBodies() {
  9. List<ExtensionElement> bodiesList = getExtensions(Body.ELEMENT, Body.NAMESPACE);
  10. Set<Body> resultSet = new HashSet<>(bodiesList.size());
  11. for (ExtensionElement extensionElement : bodiesList) {
  12. Body body = (Body) extensionElement;
  13. resultSet.add(body);
  14. }
  15. return resultSet;
  16. }

代码示例来源:origin: igniterealtime/Smack

  1. /**
  2. * Return true, if the {@code message} already contains an EME element with the specified {@code protocolNamespace}.
  3. *
  4. * @param message message
  5. * @param protocolNamespace namespace
  6. * @return true if message has EME element for that namespace, otherwise false
  7. */
  8. public static boolean hasProtocol(Message message, String protocolNamespace) {
  9. List<ExtensionElement> extensionElements = message.getExtensions(
  10. ExplicitMessageEncryptionElement.ELEMENT,
  11. ExplicitMessageEncryptionElement.NAMESPACE);
  12. for (ExtensionElement extensionElement : extensionElements) {
  13. ExplicitMessageEncryptionElement e = (ExplicitMessageEncryptionElement) extensionElement;
  14. if (e.getEncryptionNamespace().equals(protocolNamespace)) {
  15. return true;
  16. }
  17. }
  18. return false;
  19. }

代码示例来源:origin: igniterealtime/Smack

  1. /**
  2. * Return a map of all spoilers contained in a message.
  3. * The map uses the language of a spoiler as key.
  4. * If a spoiler has no language attribute, its key will be an empty String.
  5. *
  6. * @param message message
  7. * @return map of spoilers
  8. */
  9. public static Map<String, String> getSpoilers(Message message) {
  10. if (!containsSpoiler(message)) {
  11. return Collections.emptyMap();
  12. }
  13. List<ExtensionElement> spoilers = message.getExtensions(SpoilerElement.ELEMENT, NAMESPACE);
  14. Map<String, String> map = new HashMap<>();
  15. for (ExtensionElement e : spoilers) {
  16. SpoilerElement s = (SpoilerElement) e;
  17. if (s.getLanguage() == null || s.getLanguage().equals("")) {
  18. map.put("", s.getHint());
  19. } else {
  20. map.put(s.getLanguage(), s.getHint());
  21. }
  22. }
  23. return map;
  24. }

代码示例来源:origin: igniterealtime/Smack

  1. ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.omemoVAxolotl));
  2. List<ExtensionElement> extensions = message.getExtensions();
  3. assertEquals(0, extensions.size());
  4. extensions = message.getExtensions();
  5. assertEquals(1, extensions.size());
  6. assertTrue(ExplicitMessageEncryptionElement.hasProtocol(message,
  7. extensions = message.getExtensions();
  8. assertEquals(2, extensions.size());
  9. assertTrue(ExplicitMessageEncryptionElement.hasProtocol(message,
  10. ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol.omemoVAxolotl);
  11. extensions = message.getExtensions();
  12. assertEquals(2, extensions.size());

代码示例来源:origin: igniterealtime/Smack

  1. @Override
  2. public XmlStringBuilder toXML(String enclosingNamespace) {
  3. XmlStringBuilder buf = new XmlStringBuilder(enclosingNamespace);
  4. buf.halfOpenElement(ELEMENT);
  5. enclosingNamespace = addCommonAttributes(buf, enclosingNamespace);
  6. buf.optAttribute("type", type);
  7. buf.rightAngleBracket();
  8. // Add the subject in the default language
  9. Subject defaultSubject = getMessageSubject(null);
  10. if (defaultSubject != null) {
  11. buf.element("subject", defaultSubject.subject);
  12. }
  13. // Add the subject in other languages
  14. for (Subject subject : getSubjects()) {
  15. // Skip the default language
  16. if (subject.equals(defaultSubject))
  17. continue;
  18. buf.append(subject.toXML(null));
  19. }
  20. buf.optElement("thread", thread);
  21. // Append the error subpacket if the message type is an error.
  22. if (type == Type.error) {
  23. appendErrorIfExists(buf, enclosingNamespace);
  24. }
  25. // Add extension elements, if any are defined.
  26. buf.append(getExtensions(), enclosingNamespace);
  27. buf.closeElement(ELEMENT);
  28. return buf;
  29. }

代码示例来源:origin: spring-projects/spring-integration

  1. EvaluationContext evaluationContextToUse = ChatMessageListeningEndpoint.this.evaluationContext;
  2. List<ExtensionElement> extensions = xmppMessage.getExtensions();
  3. if (extensions.size() == 1) {
  4. ExtensionElement extension = extensions.get(0);

代码示例来源:origin: org.igniterealtime.smack/smack-core

  1. /**
  2. * Returns a set of all bodies in this Message, including the default message body accessible
  3. * from {@link #getBody()}.
  4. *
  5. * @return a collection of all bodies in this Message.
  6. * @since 3.0.2
  7. */
  8. public Set<Body> getBodies() {
  9. List<ExtensionElement> bodiesList = getExtensions(Body.ELEMENT, Body.NAMESPACE);
  10. Set<Body> resultSet = new HashSet<>(bodiesList.size());
  11. for (ExtensionElement extensionElement : bodiesList) {
  12. Body body = (Body) extensionElement;
  13. resultSet.add(body);
  14. }
  15. return resultSet;
  16. }

代码示例来源:origin: org.igniterealtime.smack/smack-experimental

  1. /**
  2. * Return a map of all spoilers contained in a message.
  3. * The map uses the language of a spoiler as key.
  4. * If a spoiler has no language attribute, its key will be an empty String.
  5. *
  6. * @param message message
  7. * @return map of spoilers
  8. */
  9. public static Map<String, String> getSpoilers(Message message) {
  10. if (!containsSpoiler(message)) {
  11. return Collections.emptyMap();
  12. }
  13. List<ExtensionElement> spoilers = message.getExtensions(SpoilerElement.ELEMENT, NAMESPACE);
  14. Map<String, String> map = new HashMap<>();
  15. for (ExtensionElement e : spoilers) {
  16. SpoilerElement s = (SpoilerElement) e;
  17. if (s.getLanguage() == null || s.getLanguage().equals("")) {
  18. map.put("", s.getHint());
  19. } else {
  20. map.put(s.getLanguage(), s.getHint());
  21. }
  22. }
  23. return map;
  24. }

代码示例来源:origin: org.igniterealtime.smack/smack-core

  1. @Override
  2. public XmlStringBuilder toXML(String enclosingNamespace) {
  3. XmlStringBuilder buf = new XmlStringBuilder(enclosingNamespace);
  4. buf.halfOpenElement(ELEMENT);
  5. enclosingNamespace = addCommonAttributes(buf, enclosingNamespace);
  6. buf.optAttribute("type", type);
  7. buf.rightAngleBracket();
  8. // Add the subject in the default language
  9. Subject defaultSubject = getMessageSubject(null);
  10. if (defaultSubject != null) {
  11. buf.element("subject", defaultSubject.subject);
  12. }
  13. // Add the subject in other languages
  14. for (Subject subject : getSubjects()) {
  15. // Skip the default language
  16. if (subject.equals(defaultSubject))
  17. continue;
  18. buf.append(subject.toXML(null));
  19. }
  20. buf.optElement("thread", thread);
  21. // Append the error subpacket if the message type is an error.
  22. if (type == Type.error) {
  23. appendErrorIfExists(buf, enclosingNamespace);
  24. }
  25. // Add extension elements, if any are defined.
  26. buf.append(getExtensions(), enclosingNamespace);
  27. buf.closeElement(ELEMENT);
  28. return buf;
  29. }

相关文章