import java.io.DataOutput;
import java.io.IOException;
import java.io.Serializable;
-import java.net.URI;
import java.util.Objects;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
private static final Interner<QNameModule> INTERNER = Interners.newWeakInterner();
private static final long serialVersionUID = 3L;
- private final @NonNull URI namespace;
+ private final @NonNull XMLNamespace namespace;
private final @Nullable Revision revision;
private transient int hash = 0;
- private QNameModule(final URI namespace, final @Nullable Revision revision) {
+ private QNameModule(final XMLNamespace namespace, final @Nullable Revision revision) {
this.namespace = requireNonNull(namespace);
this.revision = revision;
}
* @return A new, potentially shared, QNameModule instance
* @throws NullPointerException if any argument is null
*/
- public static @NonNull QNameModule create(final URI namespace, final Optional<Revision> revision) {
+ public static @NonNull QNameModule create(final XMLNamespace namespace, final Optional<Revision> revision) {
return new QNameModule(namespace, revision.orElse(null));
}
* @return A new, potentially shared, QNameModule instance
* @throws NullPointerException if {@code namespace} is null
*/
- public static @NonNull QNameModule create(final URI namespace) {
+ public static @NonNull QNameModule create(final XMLNamespace namespace) {
return new QNameModule(namespace, null);
}
* @return A new, potentially shared, QNameModule instance
* @throws NullPointerException if any argument is null
*/
- public static @NonNull QNameModule create(final URI namespace, final @Nullable Revision revision) {
+ public static @NonNull QNameModule create(final XMLNamespace namespace, final @Nullable Revision revision) {
return new QNameModule(namespace, revision);
}
public static @NonNull QNameModule readFrom(final DataInput in) throws IOException {
final String namespace = in.readUTF();
final String revision = in.readUTF();
- return new QNameModule(URI.create(namespace), revision.isEmpty() ? null : Revision.of(revision));
+ return new QNameModule(XMLNamespace.of(namespace), revision.isEmpty() ? null : Revision.of(revision));
}
/**
* Returns the namespace of the module which is specified as argument of YANG Module {@code namespace} keyword.
*
- * @return URI format of the namespace of the module
+ * @return XMLNamespace of the namespace of the module
*/
- public @NonNull URI getNamespace() {
+ public @NonNull XMLNamespace getNamespace() {
return namespace;
}