content: /**
   *   Copyright 2012-2019 Wicked Charts (http://github.com/adessoAG/wicked-charts)
   *
   *   Licensed under the Apache License, Version 2.0 (the "License");
   *   you may not use this file except in compliance with the License.
   *   You may obtain a copy of the License at
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
   *   Unless required by applicable law or agreed to in writing, software
   *   distributed under the License is distributed on an "AS IS" BASIS,
   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *   See the License for the specific language governing permissions and
   *   limitations under the License.
   */
  package de.adesso.wickedcharts.highcharts.options;
  
  import de.adesso.wickedcharts.highcharts.options.color.ColorReference;
  import de.adesso.wickedcharts.highcharts.options.color.SimpleColor;
  
  import java.awt.*;
  import java.io.Serializable;
  
  /**
   * Defines the configuration of the "legend" option.
   *
   * @author Tom Hombergs (tom.hombergs@gmail.com)
   * @see <a
   * href="http://api.highcharts.com/highcharts#legend">http://api.highcharts.com/highcharts#legend</a>
   */
  public class Legend implements Serializable {
  
      private static final long serialVersionUID = 1L;
  
      private HorizontalAlignment align;
  
      private ColorReference backgroundColor;
  
      private ColorReference borderColor;
  
      private Integer borderRadius;
  
      private Integer borderWidth;
  
      private Boolean enabled;
  
      private Boolean floating;
  
      private Integer lineHeight;
  
      private Integer margin;
  
      private Boolean reversed;
  
      private Boolean rtl;
  
      private Boolean shadow;
  
      private VerticalAlignment verticalAlign;
  
      private Integer width;
  
      private Integer x;
  
      private Integer y;
  
      private Integer itemDistance;
  
      private LegendLayout layout;
  
      private CssStyle itemStyle;
  
      private CssStyle itemHoverStyle;
  
      private CssStyle itemHiddenStyle;
  
      private Integer itemMarginBottom;
  
      private Integer itemMarginTop;
  
      private Integer itemWidth;
  
      private String labelFormat;
  
      private Function labelFormatter;
  
      private Integer maxHeight;
  
      private Integer padding;
  
      private CssStyle style;
  
      private Integer symbolPadding;
  
      private Integer symbolWidth;
  
      private Integer symbolHeight;
  
      private LegendTitle title;
  
      private LegendNavigation navigation;
  
      private Boolean useHTML = false;
  
      public Legend() {
  
      }
  
      public Legend(final Boolean enabled) {
          this.enabled = enabled;
      }
  
      public HorizontalAlignment getAlign() {
          return this.align;
      }
  
      public ColorReference getBackgroundColor() {
          return this.backgroundColor;
      }
  
      public ColorReference getBorderColor() {
          return this.borderColor;
      }
  
      public Integer getBorderRadius() {
          return this.borderRadius;
      }
  
      public Integer getBorderWidth() {
          return this.borderWidth;
      }
  
      public Boolean getEnabled() {
          return this.enabled;
      }
  
      public Boolean getFloating() {
          return this.floating;
      }
  
      public CssStyle getItemHiddenStyle() {
          return this.itemHiddenStyle;
      }
  
      public CssStyle getItemHoverStyle() {
          return this.itemHoverStyle;
      }
  
      public CssStyle getItemStyle() {
          return this.itemStyle;
      }
  
      public LegendLayout getLayout() {
          return this.layout;
      }
  
      public Integer getLineHeight() {
          return this.lineHeight;
      }
  
      public Integer getMargin() {
          return this.margin;
      }
  
      public Boolean getReversed() {
          return this.reversed;
      }
  
      public Boolean getRtl() {
          return this.rtl;
      }
  
      public Boolean getShadow() {
          return this.shadow;
      }
  
      public VerticalAlignment getVerticalAlign() {
          return this.verticalAlign;
      }
  
      public Integer getWidth() {
          return this.width;
      }
  
      public Integer getX() {
          return this.x;
      }
  
      public Integer getY() {
          return this.y;
      }
  
      public Legend setAlign(final HorizontalAlignment align) {
          this.align = align;
          return this;
      }
  
      public Legend setBackgroundColor(final Color color) {
          this.backgroundColor = new SimpleColor(color);
          return this;
      }
  
      public Legend setBackgroundColor(final ColorReference backgroundColor) {
          this.backgroundColor = backgroundColor;
          return this;
      }
  
      public Legend setBorderColor(final Color color) {
          this.borderColor = new SimpleColor(color);
          return this;
      }
  
      public Legend setBorderColor(final ColorReference borderColor) {
          this.borderColor = borderColor;
          return this;
      }
  
      public Legend setBorderRadius(final Integer borderRadius) {
          this.borderRadius = borderRadius;
          return this;
      }
  
      public Legend setBorderWidth(final Integer borderWidth) {
          this.borderWidth = borderWidth;
          return this;
      }
  
      public Legend setEnabled(final Boolean enabled) {
          this.enabled = enabled;
          return this;
      }
  
      public Legend setFloating(final Boolean floating) {
          this.floating = floating;
          return this;
      }
  
      public Legend setItemHiddenStyle(final CssStyle itemHiddenStyle) {
          this.itemHiddenStyle = itemHiddenStyle;
          return this;
      }
  
      public Legend setItemHoverStyle(final CssStyle itemHoverStyle) {
          this.itemHoverStyle = itemHoverStyle;
          return this;
      }
  
      public Legend setItemStyle(final CssStyle itemStyle) {
          this.itemStyle = itemStyle;
          return this;
      }
  
      public Legend setLayout(final LegendLayout layout) {
          this.layout = layout;
          return this;
      }
  
      public Legend setLineHeight(final Integer lineHeight) {
          this.lineHeight = lineHeight;
          return this;
      }
  
      public Legend setMargin(final Integer margin) {
          this.margin = margin;
          return this;
      }
  
      public Legend setReversed(final Boolean reversed) {
          this.reversed = reversed;
          return this;
      }
  
      public Legend setRtl(final Boolean rtl) {
          this.rtl = rtl;
          return this;
      }
  
      public Legend setShadow(final Boolean shadow) {
          this.shadow = shadow;
          return this;
      }
  
      public Legend setVerticalAlign(final VerticalAlignment verticalAlign) {
          this.verticalAlign = verticalAlign;
          return this;
      }
  
      public Legend setWidth(final Integer width) {
          this.width = width;
          return this;
      }
  
      public Legend setX(final Integer x) {
          this.x = x;
          return this;
      }
  
      public Legend setY(final Integer y) {
          this.y = y;
          return this;
      }
  
      public Integer getSymbolPadding() {
          return symbolPadding;
      }
  
      public Legend setSymbolPadding(Integer symbolPadding) {
          this.symbolPadding = symbolPadding;
          return this;
      }
  
      public Integer getSymbolWidth() {
          return symbolWidth;
      }
  
      public Legend setSymbolWidth(Integer symbolWidth) {
          this.symbolWidth = symbolWidth;
          return this;
      }
  
      public Integer getSymbolHeight() {
          return symbolHeight;
      }
  
      public Legend setSymbolHeight(Integer symbolHeight) {
          this.symbolHeight = symbolHeight;
          return this;
      }
  
      public Integer getItemMarginBottom() {
          return itemMarginBottom;
      }
  
      public Legend setItemMarginBottom(Integer itemMarginBottom) {
          this.itemMarginBottom = itemMarginBottom;
          return this;
      }
  
      public Integer getItemMarginTop() {
          return itemMarginTop;
      }
  
      public Legend setItemMarginTop(Integer itemMarginTop) {
          this.itemMarginTop = itemMarginTop;
          return this;
      }
  
      public Integer getItemWidth() {
          return itemWidth;
      }
  
      public Legend setItemWidth(Integer itemWidth) {
          this.itemWidth = itemWidth;
          return this;
      }
  
      public String getLabelFormat() {
          return labelFormat;
      }
  
      public Legend setLabelFormat(String labelFormat) {
          this.labelFormat = labelFormat;
          return this;
      }
  
      public Function getLabelFormatter() {
          return labelFormatter;
      }
  
      public Legend setLabelFormatter(Function labelFormatter) {
          this.labelFormatter = labelFormatter;
          return this;
      }
  
      public Integer getMaxHeight() {
          return maxHeight;
      }
  
      public Legend setMaxHeight(Integer maxHeight) {
          this.maxHeight = maxHeight;
          return this;
      }
  
      public Integer getPadding() {
          return padding;
      }
  
      public Legend setPadding(Integer padding) {
          this.padding = padding;
          return this;
      }
  
      public CssStyle getStyle() {
          return style;
      }
  
      public Legend setStyle(CssStyle style) {
          this.style = style;
          return this;
      }
  
      public LegendTitle getTitle() {
          return title;
      }
  
      public Legend setTitle(LegendTitle title) {
          this.title = title;
          return this;
      }
  
      public LegendNavigation getNavigation() {
          return navigation;
      }
  
      public Legend setNavigation(LegendNavigation navigation) {
          this.navigation = navigation;
          return this;
      }
  
      public Boolean getUseHTML() {
          return useHTML;
      }
  
      public Legend setUseHTML(Boolean useHTML) {
          this.useHTML = useHTML;
          return this;
      }
  
      public Integer getItemDistance() {
          return itemDistance;
      }
  
      public void setItemDistance(Integer itemDistance) {
          this.itemDistance = itemDistance;
      }
  
  }
  