/** * Get a {@link EntityBareJid} constructed from the given {@link Localpart} and {@link Domainpart}. * * @param localpart a localpart. * @param domain a domainpart. * @return a bare JID constructed from the given parts. */ public static EntityBareJid entityBareFrom(Localpart localpart, Domainpart domain) { return new LocalAndDomainpartJid(localpart, domain); }
@Override public Localpart getLocalpartOrNull() { return getLocalpart(); }
@Override public String asEntityBareJidString() { return toString(); } }
@Override public boolean isParentOf(EntityFullJid fullJid) { return isParentOf(fullJid.asBareJid()); }
LocalAndDomainpartJid(Localpart localpart, Domainpart domain) { this.localpart = requireNonNull(localpart, "The Localpart must not be null"); this.domainBareJid = new DomainpartJid(domain); }
/** * Get a {@link BareJid} constructed from the optionally given {@link Localpart} and {@link Domainpart}. * * @param localpart a optional localpart. * @param domain a domainpart. * @return a bare JID constructed from the given parts. */ public static BareJid bareFrom(Localpart localpart, Domainpart domain) { if (localpart != null) { return new LocalAndDomainpartJid(localpart, domain); } else { return new DomainpartJid(domain); } }
@Override public String asUnescapedString() { if (unescapedCache != null) { return unescapedCache; } unescapedCache = getLocalpart().asUnescapedString() + '@' + domainBareJid.toString(); return unescapedCache; }
LocalDomainAndResourcepartJid(String localpart, String domain, String resource) throws XmppStringprepException { this(new LocalAndDomainpartJid(localpart, domain), Resourcepart.from(resource)); }
@Override public String toString() { if (cache != null) { return cache; } cache = getLocalpart().toString() + '@' + domainBareJid.toString(); return cache; }
jid = new LocalDomainAndResourcepartJid(localpart, domainpart, resource); } else if (localpart.length() > 0 && domainpart.length() > 0 && resource.length() == 0) { jid = new LocalAndDomainpartJid(localpart, domainpart); } else if (localpart.length() == 0 && domainpart.length() > 0 && resource.length() == 0) { jid = new DomainpartJid(domainpart);
/** * Get a {@link BareJid} representing the given String. * * @param jid the input String. * @return a bare JID representing the given String. * @throws XmppStringprepException if an error occurs. */ public static BareJid bareFrom(String jid) throws XmppStringprepException { BareJid bareJid = BAREJID_CACHE.lookup(jid); if (bareJid != null) { return bareJid; } String localpart = XmppStringUtils.parseLocalpart(jid); String domainpart = XmppStringUtils.parseDomain(jid); try { if (localpart.length() != 0) { bareJid = new LocalAndDomainpartJid(localpart, domainpart); } else { bareJid = new DomainpartJid(domainpart); } } catch (XmppStringprepException e) { throw new XmppStringprepException(jid, e); } BAREJID_CACHE.put(jid, bareJid); return bareJid; }
/** * Get a {@link EntityBareJid} representing the given String. * * @param jid the input String. * @return a bare JID representing the given String. * @throws XmppStringprepException if an error occurs. */ public static EntityBareJid entityBareFrom(String jid) throws XmppStringprepException { EntityBareJid bareJid = ENTITY_BAREJID_CACHE.lookup(jid); if (bareJid != null) { return bareJid; } String localpart = XmppStringUtils.parseLocalpart(jid); String domainpart = XmppStringUtils.parseDomain(jid); try { bareJid = new LocalAndDomainpartJid(localpart, domainpart); } catch (XmppStringprepException e) { throw new XmppStringprepException(jid, e); } ENTITY_BAREJID_CACHE.put(jid, bareJid); return bareJid; }
/** * Get a {@link EntityBareJid} representing the given unescaped String. * * @param unescapedJidString the input String. * @return a bare JID representing the given String. * @throws XmppStringprepException if an error occurs. */ public static EntityBareJid entityBareFromUnescaped(String unescapedJidString) throws XmppStringprepException { EntityBareJid bareJid = ENTITY_BAREJID_CACHE.lookup(unescapedJidString); if (bareJid != null) { return bareJid; } String localpart = XmppStringUtils.parseLocalpart(unescapedJidString); // Some as from(String), but we escape the localpart localpart = XmppStringUtils.escapeLocalpart(localpart); String domainpart = XmppStringUtils.parseDomain(unescapedJidString); try { bareJid = new LocalAndDomainpartJid(localpart, domainpart); } catch (XmppStringprepException e) { throw new XmppStringprepException(unescapedJidString, e); } ENTITY_BAREJID_CACHE.put(unescapedJidString, bareJid); return bareJid; }