26cef2d80492c43116386c1df605b56eba45b9ee
[idea/community.git] / platform / platform-impl / src / com / intellij / util / LocalFileUrl.java
1 package com.intellij.util;
2
3 import com.intellij.openapi.util.text.StringUtil;
4 import org.jetbrains.annotations.NotNull;
5 import org.jetbrains.annotations.Nullable;
6
7 public final class LocalFileUrl implements Url {
8   private final String path;
9
10   /**
11    * Use {@link Urls#newLocalFileUrl(String)} instead
12    */
13   public LocalFileUrl(@NotNull String path) {
14     this.path = path;
15   }
16
17   @NotNull
18   @Override
19   public String getPath() {
20     return path;
21   }
22
23   @Override
24   public boolean isInLocalFileSystem() {
25     return true;
26   }
27
28   @Override
29   public String toDecodedForm() {
30     return path;
31   }
32
33   @NotNull
34   @Override
35   public String toExternalForm() {
36     return path;
37   }
38
39   @Nullable
40   @Override
41   public String getScheme() {
42     return null;
43   }
44
45   @Nullable
46   @Override
47   public String getAuthority() {
48     return null;
49   }
50
51   @Nullable
52   @Override
53   public String getParameters() {
54     return null;
55   }
56
57   @NotNull
58   @Override
59   public Url trimParameters() {
60     return this;
61   }
62
63   @Override
64   public String toString() {
65     return toExternalForm();
66   }
67
68   @Override
69   public boolean equals(Object o) {
70     return this == o || ((o instanceof LocalFileUrl) && path.equals(((LocalFileUrl)o).path));
71   }
72
73   @Override
74   public boolean equalsIgnoreCase(@Nullable Url o) {
75     return this == o || ((o instanceof LocalFileUrl) && path.equalsIgnoreCase(((LocalFileUrl)o).path));
76   }
77
78   @Override
79   public boolean equalsIgnoreParameters(@Nullable Url url) {
80     return equals(url);
81   }
82
83   @Override
84   public int hashCode() {
85     return path.hashCode();
86   }
87
88   @Override
89   public int hashCodeCaseInsensitive() {
90     return StringUtil.stringHashCodeInsensitive(path);
91   }
92 }