package games.strategy.engine.pbem; import java.io.File; import games.strategy.engine.framework.startup.ui.editors.EditorPanel; import games.strategy.engine.framework.startup.ui.editors.ForumPosterEditor; import games.strategy.engine.framework.startup.ui.editors.IBean; /** * Abstract Forum poster that takes care of storing the username, password, and other common properties. */ public abstract class AbstractForumPoster implements IForumPoster { private static final String USE_TRANSITIVE_PASSWORD = "d0a11f0f-96d3-4303-8875-4965aefb2ce4"; private static final long serialVersionUID = -734015230309508040L; protected String m_username = null; protected String m_password = null; protected transient String m_transPassword; protected String m_topicId = null; protected boolean m_includeSaveGame = true; protected boolean m_alsoPostAfterCombatMove = false; protected transient File m_saveGameFile = null; protected transient String m_turnSummaryRef = null; protected transient String m_saveGameFileName = null; @Override public String getTurnSummaryRef() { return m_turnSummaryRef; } @Override public boolean getIncludeSaveGame() { return m_includeSaveGame; } @Override public void setIncludeSaveGame(final boolean include) { m_includeSaveGame = include; } @Override public boolean getAlsoPostAfterCombatMove() { return m_alsoPostAfterCombatMove; } @Override public void setAlsoPostAfterCombatMove(final boolean post) { m_alsoPostAfterCombatMove = post; } @Override public void addSaveGame(final File saveGame, final String fileName) { m_saveGameFile = saveGame; m_saveGameFileName = fileName; } @Override public boolean getCanViewPosted() { return true; } @Override public void setTopicId(final String topicId) { m_topicId = topicId; } @Override public String getTopicId() { return m_topicId; } @Override public void setUsername(final String username) { m_username = username; } @Override public String getUsername() { return m_username; } @Override public void setPassword(final String password) { m_password = password; m_transPassword = password; } @Override public String getPassword() { if (USE_TRANSITIVE_PASSWORD.equals(m_password)) { return m_transPassword; } return m_password; } @Override public void clearSensitiveInfo() { m_password = USE_TRANSITIVE_PASSWORD; } @Override public boolean sameType(final IBean other) { return getClass() == other.getClass(); } @Override public EditorPanel getEditor() { return new ForumPosterEditor(this); } }