diff options
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java')
-rw-r--r-- | platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java | 62 |
1 files changed, 14 insertions, 48 deletions
diff --git a/platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java b/platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java index e5b9f1530256..b1ea1332986e 100644 --- a/platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java +++ b/platform/platform-impl/src/com/intellij/ide/passwordSafe/PasswordStorage.java @@ -25,21 +25,15 @@ import org.jetbrains.annotations.Nullable; * The interface defines basic password management operations */ public interface PasswordStorage { - /** - * @deprecated To remove in IDEA 15. Use {@link #getPassword(Project, Class, String, ModalityState)} - */ - @Deprecated - @Nullable - String getPassword(@Nullable Project project, @NotNull Class requestor, String key) throws PasswordSafeException; - - /** - * Get password stored in a password safe. - * <p/> - * The method may be called from any thread. It may need to show a master password dialog to unlock the password database, - * and then will use {@link Application#invokeAndWait(Runnable, ModalityState) invokeAndWait()}. - * So make sure to pass correct {@link ModalityState} to the method to make sure the dialog is shown above all other dialog or progress - * windows. + * <p>Get password stored in a password safe.</p> + * + * <p><b>NB: </b> + * This method may be called from the background, + * and it may need to ask user to enter the master password to access the database by calling + * {@link Application#invokeAndWait(Runnable, ModalityState) invokeAndWait()} to show a modal dialog. + * So make sure not to call it from the read action. + * Calling this method from the dispatch thread is allowed.</p> * * @param project the project, that is used to ask for the master password if this is the first access to password safe * @param requestor the requestor class @@ -49,53 +43,25 @@ public interface PasswordStorage { * @throws IllegalStateException if the method is called from the read action. */ @Nullable - String getPassword(@Nullable Project project, @NotNull Class requestor, String key, - @Nullable ModalityState state) throws PasswordSafeException; - + String getPassword(@Nullable Project project, @NotNull Class requestor, String key) throws PasswordSafeException; /** - * Store password in password safe - * <p/> - * The method may be called from any thread. It may need to show a master password dialog to unlock the password database, - * and then will use {@link Application#invokeAndWait(Runnable, ModalityState) invokeAndWait()}. - * So make sure to pass correct {@link ModalityState} to the method to make sure the dialog is shown above all other dialog or progress - * windows. + * Remove password stored in a password safe * * @param project the project, that is used to ask for the master password if this is the first access to password safe * @param requestor the requestor class * @param key the key for the password - * @param value the value to store + * @return the plugin key * @throws PasswordSafeException if password safe cannot be accessed */ - void storePassword(@Nullable Project project, @NotNull Class requestor, String key, String value, - @Nullable ModalityState modalityState) throws PasswordSafeException; - - /** - * @deprecated To remove in IDEA 15. Use {@link #storePassword(Project, Class, String, String, ModalityState)} - */ - @Deprecated - void storePassword(@Nullable Project project, @NotNull Class requestor, String key, String value) throws PasswordSafeException; - - /** - * @deprecated To remove in IDEA 15. Use {@link #removePassword(Project, Class, String, ModalityState)} - */ - @Deprecated void removePassword(@Nullable Project project, @NotNull Class requestor, String key) throws PasswordSafeException; - /** - * Remove password stored in a password safe - * <p/> - * The method may be called from any thread. It may need to show a master password dialog to unlock the password database, - * and then will use {@link Application#invokeAndWait(Runnable, ModalityState) invokeAndWait()}. - * So make sure to pass correct {@link ModalityState} to the method to make sure the dialog is shown above all other dialog or progress - * windows. + * Store password in password safe * * @param project the project, that is used to ask for the master password if this is the first access to password safe * @param requestor the requestor class * @param key the key for the password - * @return the plugin key + * @param value the value to store * @throws PasswordSafeException if password safe cannot be accessed */ - void removePassword(@Nullable Project project, @NotNull Class requestor, String key, - @Nullable ModalityState modalityState) throws PasswordSafeException; - + void storePassword(@Nullable Project project, @NotNull Class requestor, String key, String value) throws PasswordSafeException; } |