1 package com.intellij.util;
3 import com.intellij.openapi.util.text.StringUtil;
4 import org.jetbrains.annotations.NotNull;
5 import org.jetbrains.annotations.Nullable;
7 public final class LocalFileUrl implements Url {
8 private final String path;
11 * Use {@link Urls#newLocalFileUrl(String)} instead
13 public LocalFileUrl(@NotNull String path) {
18 public Url resolve(@NotNull String subPath) {
19 return new LocalFileUrl(path.isEmpty() ? subPath : (path + "/" + subPath));
24 public String getPath() {
29 public boolean isInLocalFileSystem() {
34 public String toDecodedForm() {
40 public String toExternalForm() {
46 public String getScheme() {
52 public String getAuthority() {
58 public String getParameters() {
64 public Url trimParameters() {
69 public String toString() {
70 return toExternalForm();
74 public boolean equals(Object o) {
75 return this == o || ((o instanceof LocalFileUrl) && path.equals(((LocalFileUrl)o).path));
79 public boolean equalsIgnoreCase(@Nullable Url o) {
80 return this == o || ((o instanceof LocalFileUrl) && path.equalsIgnoreCase(((LocalFileUrl)o).path));
84 public boolean equalsIgnoreParameters(@Nullable Url url) {
89 public int hashCode() {
90 return path.hashCode();
94 public int hashCodeCaseInsensitive() {
95 return StringUtil.stringHashCodeInsensitive(path);