Subversion Repositories general

Rev

Rev 1015 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package ak.hostadmiral.core.model;

import ak.hostadmiral.util.ModelException;

/**
 * A password store must implement java.lang.Cloneable interface.
 */
public interface PasswordStore
{
        /**
         * returns digest name, e.g. "MD5"
         */
        public String getDigest();

        /**
         * returns true if the store is able to return the original password
         */
        public boolean getReversable();

        /**
         * to store to persistent store
         */
        public String getPassword();

        /**
         * to store from persistent store
         */
        public void setPassword(String password);

        /**
         * to set by user
         */
        public void setNewPassword(String password)
                throws ModelException;

        public boolean checkPassword(String password)
                throws ModelException;

        /**
         * return the password in plain text if possible
         */
        public String getOriginalPassword()
                throws UnsupportedOperationException;
}