diff --git a/plugins/github/github.iml b/plugins/github/github.iml index 48eb9dc897ac..9990a9522a2c 100644 --- a/plugins/github/github.iml +++ b/plugins/github/github.iml @@ -27,5 +27,6 @@ + \ No newline at end of file diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/AuthLevel.java b/plugins/github/src/org/jetbrains/plugins/github/util/AuthLevel.java index af38c9919094..2e91bc27569d 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/AuthLevel.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/AuthLevel.java @@ -15,32 +15,16 @@ */ package org.jetbrains.plugins.github.util; +import com.google.common.base.MoreObjects; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public interface AuthLevel { - boolean accepts(@NotNull GithubAuthData auth); +public class AuthLevel { + public static final AuthLevel ANY = new AuthLevel(null, null); + public static final AuthLevel TOKEN = new AuthLevel(null, GithubAuthData.AuthType.TOKEN); + public static final AuthLevel BASIC = new AuthLevel(null, GithubAuthData.AuthType.BASIC); - @Nullable - default String getHost() { - return null; - } - - @Nullable - default GithubAuthData.AuthType getAuthType() { - return null; - } - - default boolean isOnetime() { - return false; - } - - - AuthLevel ANY = new AuthLevelImpl(null, null); - AuthLevel TOKEN = new AuthLevelImpl(null, GithubAuthData.AuthType.TOKEN); - AuthLevel BASIC = new AuthLevelImpl(null, GithubAuthData.AuthType.BASIC); - - AuthLevel LOGGED = new AuthLevel() { + public static final AuthLevel LOGGED = new AuthLevel(null, null) { @Override public boolean accepts(@NotNull GithubAuthData auth) { return auth.getAuthType() != GithubAuthData.AuthType.ANONYMOUS; @@ -53,8 +37,8 @@ public interface AuthLevel { }; @NotNull - static AuthLevel basicOnetime(@NotNull String host) { - return new AuthLevelImpl(host, GithubAuthData.AuthType.BASIC) { + public static AuthLevel basicOnetime(@NotNull String host) { + return new AuthLevel(host, GithubAuthData.AuthType.BASIC) { @Override public boolean isOnetime() { return true; @@ -63,43 +47,36 @@ public interface AuthLevel { } - class AuthLevelImpl implements AuthLevel { - @Nullable private final String myHost; - @Nullable private final GithubAuthData.AuthType myAuthType; + @Nullable private final String myHost; + @Nullable private final GithubAuthData.AuthType myAuthType; - public AuthLevelImpl(@Nullable String host, @Nullable GithubAuthData.AuthType authType) { - myHost = host; - myAuthType = authType; - } + private AuthLevel(@Nullable String host, @Nullable GithubAuthData.AuthType authType) { + myHost = host; + myAuthType = authType; + } - @Nullable - @Override - public String getHost() { - return myHost; - } + @Nullable + public String getHost() { + return myHost; + } - @Nullable - @Override - public GithubAuthData.AuthType getAuthType() { - return myAuthType; - } + @Nullable + public GithubAuthData.AuthType getAuthType() { + return myAuthType; + } - @Override - public boolean accepts(@NotNull GithubAuthData auth) { - if (myHost != null && !myHost.equals(auth.getHost())) return false; - if (myAuthType != null && !myAuthType.equals(auth.getAuthType())) return false; - return true; - } + public boolean accepts(@NotNull GithubAuthData auth) { + if (myHost != null && !myHost.equals(auth.getHost())) return false; + if (myAuthType != null && !myAuthType.equals(auth.getAuthType())) return false; + return true; + } - @Override - public String toString() { - String s = ""; - if (myAuthType != null) s += myAuthType.name(); - if (myHost != null) { - if (!s.isEmpty()) s += " "; - s += "for " + myHost; - } - return s; - } + public boolean isOnetime() { + return false; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this).add("authType", myAuthType).add("host", myHost).toString(); } }