/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package usda.weru.util;

import javax.swing.JPasswordField;
import javax.swing.text.BadLocationException;

/**
 *
 * @author Joseph Levin <joelevin@weru.ksu.edu>
 */
public class WepsPasswordField extends JPasswordField{

    private String c_key;
    
    public WepsPasswordField(String key){
        c_key = key;
    }
    
    public WepsPasswordField(){        
    }
    
    public void setKey(String key){
        String old = c_key;
        c_key = key;
        firePropertyChange("key", old, c_key);
    }
    
    public String getKey(){
        return c_key;
    }
    
    @Override
    public void setText(String t) {
        String temp = decrypt(t);
        super.setText(temp);
    }

    @Override
    public char[] getPassword() {
        StringBuilder password = new StringBuilder();
        password.append(super.getPassword());
        String temp = encyrpt(password.toString());
        return temp.toCharArray();
    }
        

    @Override
    public String getText() {
        String temp = super.getText();
        return encyrpt(temp);
    }

    @Override
    public String getText(int offs, int len) throws BadLocationException {
        String temp = super.getText(offs, len);
        return encyrpt(temp);
    }
    
    
    protected String encyrpt(String input){
        return Util.encrypt(input, c_key);        
    }
    
    protected String decrypt(String input){
        return Util.decrypt(input, c_key);
    }
        
    

}
