package net.sf.jasperreports.charts.fill;

import java.awt.Color;
import net.sf.jasperreports.charts.JRCandlestickPlot;
import net.sf.jasperreports.charts.JRTimeAxisFormat;
import net.sf.jasperreports.charts.JRValueAxisFormat;
import net.sf.jasperreports.engine.JRChartPlot;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRFont;
import net.sf.jasperreports.engine.JRStyleContainer;
import net.sf.jasperreports.engine.base.JRBaseFont;
import net.sf.jasperreports.engine.fill.JRFillChartPlot;
import net.sf.jasperreports.engine.fill.JRFillObjectFactory;
import net.sf.jasperreports.engine.util.JRStyleResolver;

public class JRFillCandlestickPlot extends JRFillChartPlot implements JRCandlestickPlot {
  protected JRFont timeAxisLabelFont = null;
  
  protected Color timeAxisLabelColor = null;
  
  protected JRFont timeAxisTickLabelFont = null;
  
  protected Color timeAxisTickLabelColor = null;
  
  protected Color timeAxisLineColor = null;
  
  protected JRFont valueAxisLabelFont = null;
  
  protected Color valueAxisLabelColor = null;
  
  protected JRFont valueAxisTickLabelFont = null;
  
  protected Color valueAxisTickLabelColor = null;
  
  protected Color valueAxisLineColor = null;
  
  public JRFillCandlestickPlot(JRCandlestickPlot candlestickPlot, JRFillObjectFactory factory) {
    super((JRChartPlot)candlestickPlot, factory);
    this.timeAxisLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getTimeAxisLabelFont());
    this.timeAxisLabelColor = candlestickPlot.getOwnTimeAxisLabelColor();
    this.timeAxisTickLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getTimeAxisTickLabelFont());
    this.timeAxisTickLabelColor = candlestickPlot.getOwnTimeAxisTickLabelColor();
    this.timeAxisLineColor = candlestickPlot.getTimeAxisLineColor();
    this.valueAxisLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getValueAxisLabelFont());
    this.valueAxisLabelColor = candlestickPlot.getOwnValueAxisLabelColor();
    this.valueAxisTickLabelFont = (JRFont)new JRBaseFont(null, null, (JRStyleContainer)candlestickPlot.getChart(), candlestickPlot.getValueAxisTickLabelFont());
    this.valueAxisTickLabelColor = candlestickPlot.getOwnValueAxisTickLabelColor();
    this.valueAxisLineColor = candlestickPlot.getValueAxisTickLabelColor();
  }
  
  public JRExpression getTimeAxisLabelExpression() {
    return ((JRCandlestickPlot)this.parent).getTimeAxisLabelExpression();
  }
  
  public JRFont getTimeAxisLabelFont() {
    return this.timeAxisLabelFont;
  }
  
  public void setTimeAxisLabelFont(JRFont font) {}
  
  public Color getTimeAxisLabelColor() {
    return JRStyleResolver.getTimeAxisLabelColor((JRTimeAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnTimeAxisLabelColor() {
    return this.timeAxisLabelColor;
  }
  
  public void setTimeAxisLabelColor(Color color) {}
  
  public JRFont getTimeAxisTickLabelFont() {
    return this.timeAxisTickLabelFont;
  }
  
  public void setTimeAxisTickLabelFont(JRFont font) {}
  
  public Color getTimeAxisTickLabelColor() {
    return JRStyleResolver.getTimeAxisTickLabelColor((JRTimeAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnTimeAxisTickLabelColor() {
    return this.timeAxisTickLabelColor;
  }
  
  public void setTimeAxisTickLabelColor(Color color) {}
  
  public String getTimeAxisTickLabelMask() {
    return ((JRCandlestickPlot)this.parent).getTimeAxisTickLabelMask();
  }
  
  public void setTimeAxisTickLabelMask(String mask) {}
  
  public Color getTimeAxisLineColor() {
    return JRStyleResolver.getTimeAxisLineColor((JRTimeAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnTimeAxisLineColor() {
    return this.timeAxisLineColor;
  }
  
  public void setTimeAxisLineColor(Color color) {}
  
  public JRExpression getValueAxisLabelExpression() {
    return ((JRCandlestickPlot)this.parent).getValueAxisLabelExpression();
  }
  
  public JRFont getValueAxisLabelFont() {
    return this.valueAxisLabelFont;
  }
  
  public void setValueAxisLabelFont(JRFont font) {}
  
  public Color getValueAxisLabelColor() {
    return JRStyleResolver.getValueAxisLabelColor((JRValueAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnValueAxisLabelColor() {
    return this.valueAxisLabelColor;
  }
  
  public void setValueAxisLabelColor(Color color) {}
  
  public JRFont getValueAxisTickLabelFont() {
    return this.valueAxisTickLabelFont;
  }
  
  public void setValueAxisTickLabelFont(JRFont font) {}
  
  public Color getValueAxisTickLabelColor() {
    return JRStyleResolver.getValueAxisTickLabelColor((JRValueAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnValueAxisTickLabelColor() {
    return this.valueAxisTickLabelColor;
  }
  
  public void setValueAxisTickLabelColor(Color color) {}
  
  public String getValueAxisTickLabelMask() {
    return ((JRCandlestickPlot)this.parent).getValueAxisTickLabelMask();
  }
  
  public void setValueAxisTickLabelMask(String mask) {}
  
  public Color getValueAxisLineColor() {
    return JRStyleResolver.getValueAxisLineColor((JRValueAxisFormat)this, (JRChartPlot)this);
  }
  
  public Color getOwnValueAxisLineColor() {
    return this.valueAxisLineColor;
  }
  
  public void setValueAxisLineColor(Color color) {}
  
  public boolean isShowVolume() {
    return ((JRCandlestickPlot)this.parent).isShowVolume();
  }
}
