package org.iplantc.phyloviewer.shared.render.style; /** * An IGlyphStyle that returns default values from a base IGlyphStyle if they haven't been set. */ public class CompositeGlyphStyle extends GlyphStyle { private IGlyphStyle baseStyle; public CompositeGlyphStyle(IGlyphStyle baseStyle) { super(null, null, Double.NaN); this.baseStyle = baseStyle; } public String getFillColor() { if (fillColor != null) { return fillColor; } else { return baseStyle.getFillColor(); } } public double getLineWidth() { if (strokeWidth != Double.NaN) { return strokeWidth; } else { return baseStyle.getLineWidth(); } } public String getStrokeColor() { if (strokeColor != null) { return strokeColor; } else { return baseStyle.getStrokeColor(); } } public void setBaseStyle(IGlyphStyle baseStyle) { this.baseStyle = baseStyle; } public IGlyphStyle getBaseStyle() { return baseStyle; } }