aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java')
-rw-r--r--src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java b/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java
index a15abe14..6430d41e 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jid/Jid.java
@@ -21,10 +21,6 @@ public final class Jid {
private final String domainpart;
private final String resourcepart;
- // It's much more efficient to store the ful JID as well as the parts instead of figuring them
- // all out every time (since some characters are displayed but aren't used for comparisons).
- private final String displayjid;
-
public String getLocalpart() {
return localpart;
}
@@ -73,7 +69,6 @@ public final class Jid {
Jid fromCache = Jid.cache.get(jid);
if (fromCache != null) {
- displayjid = fromCache.displayjid;
localpart = fromCache.localpart;
domainpart = fromCache.domainpart;
resourcepart = fromCache.resourcepart;
@@ -94,8 +89,6 @@ public final class Jid {
throw new InvalidJidException(InvalidJidException.INVALID_CHARACTER);
}
- String finaljid;
-
final int domainpartStart;
final int atLoc = jid.indexOf("@");
final int slashLoc = jid.indexOf("/");
@@ -103,7 +96,6 @@ public final class Jid {
// or there are one or more "@" signs but they're all in the resourcepart (eg. "example.net/@/rp@"):
if (atCount == 0 || (atCount > 0 && slashLoc != -1 && atLoc > slashLoc)) {
localpart = "";
- finaljid = "";
domainpartStart = 0;
} else {
final String lp = jid.substring(0, atLoc);
@@ -116,7 +108,6 @@ public final class Jid {
throw new InvalidJidException(InvalidJidException.INVALID_PART_LENGTH);
}
domainpartStart = atLoc + 1;
- finaljid = lp + "@";
}
final String dp;
@@ -135,7 +126,6 @@ public final class Jid {
} catch (final StringprepException e) {
throw new InvalidJidException(InvalidJidException.STRINGPREP_FAIL, e);
}
- finaljid = finaljid + dp + "/" + rp;
} else {
resourcepart = "";
try{
@@ -143,7 +133,6 @@ public final class Jid {
} catch (final StringprepException e) {
throw new InvalidJidException(InvalidJidException.STRINGPREP_FAIL, e);
}
- finaljid = finaljid + dp;
}
// Remove trailing "." before storing the domain part.
@@ -167,8 +156,6 @@ public final class Jid {
}
Jid.cache.put(jid, this);
-
- this.displayjid = finaljid;
}
public Jid toBareJid() {
@@ -191,7 +178,16 @@ public final class Jid {
@Override
public String toString() {
- return displayjid;
+ String out;
+ if (hasLocalpart()) {
+ out = localpart + '@' + domainpart;
+ } else {
+ out = domainpart;
+ }
+ if (!resourcepart.isEmpty()) {
+ out += '/'+resourcepart;
+ }
+ return out;
}
@Override