package com.ibm.xpages.beans; import java.io.Serializable; import java.util.HashMap; import java.util.Map; import java.util.ResourceBundle; /** * Managed bean acting as state buffer for preview visibility and link text * * @author Tony McGuckin, IBM */ public class PreviewBean implements Serializable { private static final long serialVersionUID = 1L; // state buffer => noteId, visible private Map<String, Boolean> _previews = new HashMap<String, Boolean>(); // --------------------------------------------------------- public PreviewBean() { } // --------------------------------------------------------- public void setVisible(final String noteId, final boolean visible) { if (_previews.containsKey(noteId)) { if (false == visible) { _previews.remove(noteId); return; } } _previews.put(noteId, true); } // --------------------------------------------------------- public void toggleVisibility(final String noteId) { if (_previews.containsKey(noteId)) { _previews.remove(noteId); } else { _previews.put(noteId, true); } } // --------------------------------------------------------- public boolean isVisible(final String noteId) { if (_previews.containsKey(noteId)) { return (_previews.get(noteId).booleanValue()); } return (false); } // --------------------------------------------------------- public String getVisibilityText(final String noteId, final ResourceBundle resourceBundle) { String moreLinkText = "More"; //$NON-NLS-1$ String hideLinkText = "Hide"; //$NON-NLS-1$ if(null != resourceBundle){ moreLinkText = resourceBundle.getString("alldocuments.more.link"); //$NON-NLS-1$ hideLinkText = resourceBundle.getString("alldocuments.hide.link"); //$NON-NLS-1$ } if (_previews.containsKey(noteId)) { return (hideLinkText); } return (moreLinkText); } // --------------------------------------------------------- public String getSelectedClassName(final String noteId) { if (_previews.containsKey(noteId)) { return ("xspHtmlTrViewSelected"); //$NON-NLS-1$ } return ("xspHtmlTrView"); //$NON-NLS-1$ } // --------------------------------------------------------- public String getVisibilityLinkStyle(final String noteId) { if (_previews.containsKey(noteId)) { return ("visibility:visible"); //$NON-NLS-1$ } return ("visibility:hidden"); //$NON-NLS-1$ } } // end backing bean