package org.freeplane.plugin.accountmanager; import java.security.InvalidParameterException; public abstract class Account { private String username = null; private String password = null; private String connectionString = null; private String buttonText = null; private String buttonAction = null; public abstract String getAccountName(); public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public boolean hasUsername() { return this.username!=null && this.username.length()>0; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean hasPassword() { return this.password!=null && this.password.length()>0; } public String getConnectionString() { return connectionString; } public void setConnectionString(String connectionString) { this.connectionString = connectionString; } public boolean hasConnectionString() { return this.connectionString!=null && this.connectionString.length()>0; } public boolean hasVisibleProperties() { return this.hasConnectionString()||this.hasPassword()||this.hasUsername(); } public String getButtonText() { return this.buttonText ; } public String getButtonAction() { return this.buttonAction ; } public boolean wantsButtonAction() { return (this.getButtonText()!=null)&&(this.getButtonAction()!=null); } public void enableButton(final String buttonText, final String buttonAction) { if(buttonText == null) throw new InvalidParameterException("First parameter cannot be NULL!"); if(buttonAction == null) throw new InvalidParameterException("Second parameter cannot be NULL!"); this.buttonText = buttonText; this.buttonAction = buttonAction; } public String toString() { return "Account[name="+this.getAccountName()+";username="+this.getUsername()+";password="+this.getPassword()+";buttonText="+this.getButtonText()+";buttonAction="+this.getButtonAction()+"]\n"; } }