// Note: 5398411242927766414L is used for versions < 3.0.0 without writeReplace
private static final long serialVersionUID = 1L;
- static final String QNAME_REVISION_DELIMITER = "?revision=";
- static final String QNAME_LEFT_PARENTHESIS = "(";
- static final String QNAME_RIGHT_PARENTHESIS = ")";
-
@Regex
private static final String QNAME_STRING_FULL = "^\\((.+)\\?revision=(.+)\\)(.+)$";
private static final Pattern QNAME_PATTERN_FULL = Pattern.compile(QNAME_STRING_FULL);
@Override
public @NonNull String toString() {
- final StringBuilder sb = new StringBuilder().append(QNAME_LEFT_PARENTHESIS).append(getNamespace());
+ final StringBuilder sb = new StringBuilder().append('(').append(getNamespace());
final Optional<Revision> rev = getRevision();
if (rev.isPresent()) {
- sb.append(QNAME_REVISION_DELIMITER).append(rev.get());
+ sb.append("?revision=").append(rev.get());
}
- return sb.append(QNAME_RIGHT_PARENTHESIS).append(getLocalName()).toString();
+ return sb.append(')').append(getLocalName()).toString();
}
@Override
@Test
public void testStringSerialization() throws Exception {
QName qname = QName.create(NAMESPACE, REVISION, LOCALNAME);
- assertEquals(QName.QNAME_LEFT_PARENTHESIS + NAMESPACE + QName.QNAME_REVISION_DELIMITER + REVISION
- + QName.QNAME_RIGHT_PARENTHESIS + LOCALNAME, qname.toString());
+ assertEquals("(urn:foo?revision=2013-12-24)bar", qname.toString());
assertEquals(qname, QName.create(qname.toString()));
}
public void testStringSerializationNoRevision() throws Exception {
// no revision
QName qname = QName.create(NS, LOCALNAME);
- assertEquals(QName.QNAME_LEFT_PARENTHESIS + NAMESPACE + QName.QNAME_RIGHT_PARENTHESIS + LOCALNAME,
- qname.toString());
+ assertEquals("(urn:foo)bar", qname.toString());
assertEquals(qname, QName.create(qname.toString()));
}