/** * Get a domain full JID. * * @param domainBareJid a domain bare JID. * @param resource a resourcepart. * @return a domain full JID. */ public static DomainFullJid domainFullFrom(DomainBareJid domainBareJid, Resourcepart resource) { return new DomainAndResourcepartJid(domainBareJid, resource); }
@Override public BareJid asBareJid() { return asDomainBareJid(); }
@Override public Resourcepart getResourceOrNull() { return getResourcepart(); }
DomainAndResourcepartJid(DomainBareJid domainBareJid, Resourcepart resource) { this.domainBareJid = requireNonNull(domainBareJid, "The DomainBareJid must not be null"); this.resource = requireNonNull(resource, "The Resource must not be null"); }
@Override public String asUnescapedString() { return toString(); }
/** * Get a {@link FullJid} constructed from the given parts. * * @param localpart a optional localpart. * @param domainpart a domainpart. * @param resource a resourcepart. * @return a full JID. * @throws XmppStringprepException if an error occurs. */ public static FullJid fullFrom(String localpart, String domainpart, String resource) throws XmppStringprepException { FullJid fullJid; try { if (localpart == null || localpart.length() == 0) { fullJid = new DomainAndResourcepartJid(domainpart, resource); } else { fullJid = new LocalDomainAndResourcepartJid(localpart, domainpart, resource); } } catch (XmppStringprepException e) { throw new XmppStringprepException(localpart + '@' + domainpart + '/' + resource, e); } return fullJid; }
jid = new DomainpartJid(domainpart); } else if (localpart.length() == 0 && domainpart.length() > 0 && resource.length() > 0) { jid = new DomainAndResourcepartJid(domainpart, resource); } else { throw new IllegalArgumentException("Not a valid combination of localpart, domainpart and resource");
/** * Get a domain full JID from the given String. * * @param jid the JID. * @return a DomainFullJid. * @throws XmppStringprepException if an error happens. */ public static DomainFullJid domainFullFrom(String jid) throws XmppStringprepException { DomainFullJid domainResourceJid = DOMAINRESOURCEJID_CACHE.lookup(jid); if (domainResourceJid != null) { return domainResourceJid; } String domain = XmppStringUtils.parseDomain(jid); String resource = XmppStringUtils.parseResource(jid); try { domainResourceJid = new DomainAndResourcepartJid(domain, resource); } catch (XmppStringprepException e) { throw new XmppStringprepException(jid, e); } DOMAINRESOURCEJID_CACHE.put(jid, domainResourceJid); return domainResourceJid; }