import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import java.io.Serial;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.concepts.Identifier;
import org.opendaylight.yangtools.concepts.WritableObject;
+import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
/**
* Abstract superclass for sharing QName references, which can either be resolved {@link QName}s or unresolved
*/
@NonNullByDefault
public abstract sealed class AbstractQName implements Identifier, WritableObject permits QName, UnresolvedQName {
- @Serial
+ @java.io.Serial
private static final long serialVersionUID = 1L;
private final String localName;
return new QName(namespace, localName);
}
+ /**
+ * Returns an {@link Unqualified} identifier formed by capturing {@link #getLocalName()}.
+ *
+ * @return An unqualified {@link UnresolvedQName}
+ */
+ public Unqualified unbind() {
+ return new Unqualified(localName);
+ }
+
/**
* Check whether a string is a valid {@code localName}.
*
return str != null && !str.isEmpty() && checkContent(str);
}
- @Serial
+ @java.io.Serial
abstract Object writeReplace();
static final String checkLocalName(final @Nullable String localName) {