package org.iplantc.phyloviewer.shared.model; import org.iplantc.phyloviewer.shared.layout.ILayoutData; import org.iplantc.phyloviewer.shared.render.style.IStyle; import org.iplantc.phyloviewer.shared.render.style.IStyleMap; public interface IDocument { /** * Get the tree. * @return */ public abstract ITree getTree(); /** * Get the style map. * @return */ public abstract IStyleMap getStyleMap(); /** * Set the style map. * @param styleMap */ public abstract void setStyleMap(IStyleMap styleMap); /** * Get the style for the node. * @param node * @return */ public abstract IStyle getStyle(INode node); /** * Get the lable to use for the node. * @param node * @return */ public abstract String getLabel(INode node); /** * Get the layout data. * @return */ public abstract ILayoutData getLayout(); public abstract boolean hasBranchDecoration(int nodeId); /** * Is all the data for the node local? * @param node * @return */ public abstract boolean checkForData(final INode node); /** * Is the document ready to begin rendering? * @return */ public abstract boolean isReady(); }