/** * Clone this presence and set a newly generated stanza ID as the clone's ID. * * @return a "clone" of this presence with a different stanza ID. * @since 4.1.2 */ public Presence cloneWithNewId() { Presence clone = clone(); clone.setStanzaId(StanzaIdUtil.newStanzaId()); return clone; }
/** * Returns a List of Presence objects for all of a user's current presences if no presence information is available, * such as when you are not subscribed to the user's presence updates. * * @param bareJid an XMPP ID, e.g. jdoe@example.com. * @return a List of Presence objects for all the user's current presences, or an unavailable presence if no * presence information is available. */ public List<Presence> getAllPresences(BareJid bareJid) { Map<Resourcepart, Presence> userPresences = getPresencesInternal(bareJid); List<Presence> res; if (userPresences == null) { // Create an unavailable presence if none was found Presence unavailable = new Presence(Presence.Type.unavailable); unavailable.setFrom(bareJid); res = new ArrayList<>(Arrays.asList(unavailable)); } else { res = new ArrayList<>(userPresences.values().size()); for (Presence presence : userPresences.values()) { res.add(presence.clone()); } } return res; }
MucEnterConfiguration(Builder builder) { nickname = builder.nickname; password = builder.password; maxChars = builder.maxChars; maxStanzas = builder.maxStanzas; seconds = builder.seconds; since = builder.since; timeout = builder.timeout; if (builder.joinPresence == null) { joinPresence = new Presence(Presence.Type.available); } else { joinPresence = builder.joinPresence.clone(); } // Indicate the the client supports MUC joinPresence.addExtension(new MUCInitialPresence(password, maxChars, maxStanzas, seconds, since)); }
/** * Returns the presence info for a particular user's resource, or unavailable presence * if the user is offline or if no presence information is available, such as * when you are not subscribed to the user's presence updates. * * @param userWithResource a fully qualified XMPP ID including a resource (user@domain/resource). * @return the user's current presence, or unavailable presence if the user is offline * or if no presence information is available. */ public Presence getPresenceResource(FullJid userWithResource) { BareJid key = userWithResource.asBareJid(); Resourcepart resource = userWithResource.getResourcepart(); Map<Resourcepart, Presence> userPresences = getPresencesInternal(key); if (userPresences == null) { Presence presence = new Presence(Presence.Type.unavailable); presence.setFrom(userWithResource); return presence; } else { Presence presence = userPresences.get(resource); if (presence == null) { presence = new Presence(Presence.Type.unavailable); presence.setFrom(userWithResource); return presence; } else { return presence.clone(); } } }
/** * Clone this presence and set a newly generated stanza ID as the clone's ID. * * @return a "clone" of this presence with a different stanza ID. * @since 4.1.2 */ public Presence cloneWithNewId() { Presence clone = clone(); clone.setStanzaId(StanzaIdUtil.newStanzaId()); return clone; }
/** * Returns a List of Presence objects for all of a user's current presences if no presence information is available, * such as when you are not subscribed to the user's presence updates. * * @param bareJid an XMPP ID, e.g. jdoe@example.com. * @return a List of Presence objects for all the user's current presences, or an unavailable presence if no * presence information is available. */ public List<Presence> getAllPresences(BareJid bareJid) { Map<Resourcepart, Presence> userPresences = getPresencesInternal(bareJid); List<Presence> res; if (userPresences == null) { // Create an unavailable presence if none was found Presence unavailable = new Presence(Presence.Type.unavailable); unavailable.setFrom(bareJid); res = new ArrayList<>(Arrays.asList(unavailable)); } else { res = new ArrayList<>(userPresences.values().size()); for (Presence presence : userPresences.values()) { res.add(presence.clone()); } } return res; }
/** * Returns the presence info for a particular user's resource, or unavailable presence * if the user is offline or if no presence information is available, such as * when you are not subscribed to the user's presence updates. * * @param userWithResource a fully qualified XMPP ID including a resource (user@domain/resource). * @return the user's current presence, or unavailable presence if the user is offline * or if no presence information is available. */ public Presence getPresenceResource(FullJid userWithResource) { BareJid key = userWithResource.asBareJid(); Resourcepart resource = userWithResource.getResourcepart(); Map<Resourcepart, Presence> userPresences = getPresencesInternal(key); if (userPresences == null) { Presence presence = new Presence(Presence.Type.unavailable); presence.setFrom(userWithResource); return presence; } else { Presence presence = userPresences.get(resource); if (presence == null) { presence = new Presence(Presence.Type.unavailable); presence.setFrom(userWithResource); return presence; } else { return presence.clone(); } } }