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

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

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

Message.getBodies介绍

[英]Returns a set of all bodies in this Message, including the default message body accessible from #getBody().
[中]返回此消息中所有正文的集合,包括可从#getBody()访问的默认消息正文。

代码示例

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

  1. @Override
  2. protected boolean acceptSpecific(Message message) {
  3. // Accept only messages which have at least one body
  4. return !message.getBodies().isEmpty();
  5. }

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

  1. private boolean shouldAcceptMessage(Message message) {
  2. if (!message.getBodies().isEmpty()) {
  3. return true;
  4. }
  5. // Message has no XMPP-IM bodies, abort here if xhtmlIm is not enabled.
  6. if (!xhtmlIm) {
  7. return false;
  8. }
  9. XHTMLExtension xhtmlExtension = XHTMLExtension.from(message);
  10. if (xhtmlExtension == null) {
  11. // Message has no XHTML-IM extension, abort.
  12. return false;
  13. }
  14. return true;
  15. }

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

  1. private Body getMessageBody(String language) {
  2. language = determineLanguage(language);
  3. for (Body body : getBodies()) {
  4. if (Objects.equals(language, body.language) || (language != null && language.equals(this.language) && body.language == null)) {
  5. return body;
  6. }
  7. }
  8. return null;
  9. }

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

  1. /**
  2. * Returns all the languages being used for the bodies, not including the default body.
  3. *
  4. * @return the languages being used for the bodies.
  5. * @since 3.0.2
  6. */
  7. public List<String> getBodyLanguages() {
  8. Body defaultBody = getMessageBody(null);
  9. List<String> languages = new ArrayList<String>();
  10. for (Body body : getBodies()) {
  11. if (!body.equals(defaultBody)) {
  12. languages.add(body.language);
  13. }
  14. }
  15. return Collections.unmodifiableList(languages);
  16. }

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

  1. /**
  2. * Removes the body with the given language from the message.
  3. *
  4. * @param language the language of the body which is to be removed
  5. * @return true if a body was removed and false if it was not.
  6. */
  7. public boolean removeBody(String language) {
  8. language = determineLanguage(language);
  9. for (Body body : getBodies()) {
  10. String bodyLanguage = body.getLanguage();
  11. if (Objects.equals(bodyLanguage, language)) {
  12. removeExtension(body);
  13. return true;
  14. }
  15. }
  16. return false;
  17. }

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

  1. @Test
  2. public void removeMessageBodyTest() {
  3. Message message = getNewMessage();
  4. message.setBody("test");
  5. assertTrue(message.getBodies().size() == 1);
  6. message.setBody(null);
  7. assertTrue(message.getBodies().size() == 0);
  8. assertFalse(message.removeBody("sp"));
  9. Message.Body body = message.addBody("es", "test");
  10. assertTrue(message.getBodies().size() == 1);
  11. message.removeBody(body);
  12. assertTrue(message.getBodies().size() == 0);
  13. }

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

  1. @Ignore
  2. @Test
  3. public void duplicateMessageBodiesTest()
  4. throws FactoryConfigurationError, XmlPullParserException, IOException, Exception {
  5. String defaultLanguage = Stanza.getDefaultLanguage();
  6. // message has default language, first body no language, second body default language
  7. String control = XMLBuilder.create("message")
  8. .namespace(StreamOpen.CLIENT_NAMESPACE)
  9. .a("from", "romeo@montague.lit/orchard")
  10. .a("to", "juliet@capulet.lit/balcony")
  11. .a("id", "zid615d9")
  12. .a("type", "chat")
  13. .a("xml:lang", defaultLanguage)
  14. .e("body")
  15. .t(defaultLanguage)
  16. .up()
  17. .e("body")
  18. .a("xml:lang", defaultLanguage)
  19. .t(defaultLanguage + "2")
  20. .asString(outputProperties);
  21. Message message = PacketParserUtils
  22. .parseMessage(PacketParserUtils.getParserFor(control));
  23. assertEquals(defaultLanguage, message.getBody());
  24. assertEquals(defaultLanguage, message.getBody(defaultLanguage));
  25. assertEquals(1, message.getBodies().size());
  26. assertEquals(0, message.getBodyLanguages().size());
  27. assertXMLNotEqual(control, message.toXML(null).toString());
  28. }

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

  1. assertEquals(2, message.getBodies().size());
  2. assertEquals(1, message.getBodyLanguages().size());
  3. assertTrue(message.getBodyLanguages().contains(otherLanguage));
  4. assertEquals(2, message.getBodies().size());
  5. assertEquals(1, message.getBodyLanguages().size());
  6. assertTrue(message.getBodyLanguages().contains(defaultLanguage));

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

  1. @Test
  2. public void messageNoLanguageFirstBodyNoLanguageSecondBodyOtherTest()
  3. throws FactoryConfigurationError, XmlPullParserException, IOException, Exception {
  4. String defaultLanguage = Stanza.getDefaultLanguage();
  5. String otherLanguage = determineNonDefaultLanguage();
  6. // message has no language, first body no language, second body other language
  7. String control = XMLBuilder.create("message")
  8. .namespace(StreamOpen.CLIENT_NAMESPACE)
  9. .a("from", "romeo@montague.lit/orchard")
  10. .a("to", "juliet@capulet.lit/balcony")
  11. .a("id", "zid615d9")
  12. .a("type", "chat")
  13. .e("body")
  14. // TODO change default language into something else
  15. .t(defaultLanguage)
  16. .up()
  17. .e("body")
  18. .a("xml:lang", otherLanguage)
  19. .t(otherLanguage)
  20. .asString(outputProperties);
  21. Message message = PacketParserUtils
  22. .parseMessage(PacketParserUtils.getParserFor(control));
  23. assertEquals(defaultLanguage, message.getBody());
  24. assertEquals(defaultLanguage, message.getBody(null));
  25. assertEquals(otherLanguage, message.getBody(otherLanguage));
  26. assertEquals(2, message.getBodies().size());
  27. assertEquals(1, message.getBodyLanguages().size());
  28. assertXMLEqual(control, message.toXML(null).toString());
  29. }

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

  1. @Override
  2. protected boolean acceptSpecific(Message message) {
  3. // Accept only messages which have at least one body
  4. return !message.getBodies().isEmpty();
  5. }

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

  1. private Body getMessageBody(String language) {
  2. language = determineLanguage(language);
  3. for (Body body : getBodies()) {
  4. if (Objects.equals(language, body.language) || (language != null && language.equals(this.language) && body.language == null)) {
  5. return body;
  6. }
  7. }
  8. return null;
  9. }

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

  1. /**
  2. * Returns all the languages being used for the bodies, not including the default body.
  3. *
  4. * @return the languages being used for the bodies.
  5. * @since 3.0.2
  6. */
  7. public List<String> getBodyLanguages() {
  8. Body defaultBody = getMessageBody(null);
  9. List<String> languages = new ArrayList<String>();
  10. for (Body body : getBodies()) {
  11. if (!body.equals(defaultBody)) {
  12. languages.add(body.language);
  13. }
  14. }
  15. return Collections.unmodifiableList(languages);
  16. }

代码示例来源:origin: org.littleshoot/smack-xmpp-3-2-2

  1. for (Body body : getBodies()) {

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

  1. for (Body body : getBodies()) {

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

  1. /**
  2. * Removes the body with the given language from the message.
  3. *
  4. * @param language the language of the body which is to be removed
  5. * @return true if a body was removed and false if it was not.
  6. */
  7. public boolean removeBody(String language) {
  8. language = determineLanguage(language);
  9. for (Body body : getBodies()) {
  10. String bodyLanguage = body.getLanguage();
  11. if (Objects.equals(bodyLanguage, language)) {
  12. removeExtension(body);
  13. return true;
  14. }
  15. }
  16. return false;
  17. }

代码示例来源:origin: tiandawu/IotXmpp

  1. for (Body body : getBodies()) {

相关文章