package org.jxmpp.jid;

import org.jxmpp.jid.parts.Domainpart;
import org.jxmpp.jid.parts.Localpart;
import org.jxmpp.jid.parts.Resourcepart;

public interface Jid extends Comparable<Jid>, CharSequence {
   Domainpart getDomain();

   Localpart maybeGetLocalpart();

   Resourcepart maybeGetResourcepart();

   String toString();

   String asUnescapedString();

   boolean isBareOrFullJid();

   boolean isBareJid();

   boolean isFullJid();

   boolean isDomainBareJid();

   boolean isDomainFullJid();

   boolean hasNoResource();

   boolean hasResource();

   boolean hasLocalpart();

   BareJid asBareJidIfPossible();

   FullJid asFullJidIfPossible();

   JidWithLocalpart asJidWithLocalpartIfPossible();

   JidWithResource asJidWithResourcepartIfPossible();

   /** @deprecated */
   @Deprecated
   DomainBareJid asDomainBareJidIfPossible();

   DomainBareJid asDomainBareJid();

   String asDomainBareJidString();

   DomainFullJid asDomainFullJidIfPossible();

   Resourcepart getResourceOrNull();

   Localpart getLocalpartOrNull();

   Jid withoutResource();

   boolean isParentOf(Jid var1);

   boolean isParentOf(BareJid var1);

   boolean isParentOf(FullJid var1);

   boolean isParentOf(DomainBareJid var1);

   boolean isParentOf(DomainFullJid var1);

   <T extends Jid> T downcast();

   boolean equals(CharSequence var1);

   boolean equals(String var1);
}
