}
};
- QNameWithPredicateBuilder(final QName qname) {
- this(qname.getModule(), qname.getLocalName());
- }
-
QNameWithPredicateBuilder(final QNameModule moduleQname, final String localName) {
this.moduleQname = moduleQname;
this.localName = localName;
@Override
public QNameWithPredicate build() {
- final QNameWithPredicateImpl qNameWithPredicateImpl = new QNameWithPredicateImpl(
- moduleQname, localName, qnamePredicates);
+ if (qnamePredicates.isEmpty() && moduleQname != null && localName != null) {
+ return new SimpleQNameWithPredicate(QName.create(moduleQname, localName));
+ }
+
+ final QNameWithPredicateImpl qNameWithPredicateImpl = new QNameWithPredicateImpl(moduleQname, localName,
+ qnamePredicates);
// QNameWithPredicateImpl has taken a copy
qnamePredicates.clear();