-public final class QName implements Immutable, Serializable, Comparable<QName> {
- private static final ObjectCache CACHE = ObjectCacheFactory.getObjectCache(QName.class);
- private static final long serialVersionUID = 5398411242927766414L;
-
- static final String QNAME_REVISION_DELIMITER = "?revision=";
- static final String QNAME_LEFT_PARENTHESIS = "(";
- static final String QNAME_RIGHT_PARENTHESIS = ")";
-
- private static final Pattern QNAME_PATTERN_FULL = Pattern.compile("^\\((.+)\\" + QNAME_REVISION_DELIMITER
- + "(.+)\\)(.+)$");
- private static final Pattern QNAME_PATTERN_NO_REVISION = Pattern.compile("^\\((.+)\\)(.+)$");
- private static final Pattern QNAME_PATTERN_NO_NAMESPACE_NO_REVISION = Pattern.compile("^(.+)$");
- private static final char[] ILLEGAL_CHARACTERS = new char[] { '?', '(', ')', '&' };
-
- // Mandatory
- private final QNameModule module;
- // Mandatory
- private final String localName;
-
- private QName(final QNameModule module, final String localName) {
- this.localName = checkLocalName(localName);
- this.module = module;
- }
-