package net.sf.jasperreports.engine.util;

import net.sf.jasperreports.crosstabs.JRCrosstab;
import net.sf.jasperreports.engine.JRBreak;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRElementGroup;
import net.sf.jasperreports.engine.JREllipse;
import net.sf.jasperreports.engine.JRFrame;
import net.sf.jasperreports.engine.JRImage;
import net.sf.jasperreports.engine.JRLine;
import net.sf.jasperreports.engine.JRRectangle;
import net.sf.jasperreports.engine.JRStaticText;
import net.sf.jasperreports.engine.JRSubreport;
import net.sf.jasperreports.engine.JRTextField;
import net.sf.jasperreports.engine.JRVisitor;

public abstract class JRDelegationVisitor implements JRVisitor {
  private final JRVisitor visitor;
  
  public JRDelegationVisitor(JRVisitor visitor) {
    this.visitor = visitor;
  }
  
  public JRVisitor getVisitor() {
    return this.visitor;
  }
  
  public void visitBreak(JRBreak breakElement) {
    this.visitor.visitBreak(breakElement);
  }
  
  public void visitChart(JRChart chart) {
    this.visitor.visitChart(chart);
  }
  
  public void visitCrosstab(JRCrosstab crosstab) {
    this.visitor.visitCrosstab(crosstab);
  }
  
  public void visitElementGroup(JRElementGroup elementGroup) {
    this.visitor.visitElementGroup(elementGroup);
  }
  
  public void visitEllipse(JREllipse ellipse) {
    this.visitor.visitEllipse(ellipse);
  }
  
  public void visitFrame(JRFrame frame) {
    this.visitor.visitFrame(frame);
  }
  
  public void visitImage(JRImage image) {
    this.visitor.visitImage(image);
  }
  
  public void visitLine(JRLine line) {
    this.visitor.visitLine(line);
  }
  
  public void visitRectangle(JRRectangle rectangle) {
    this.visitor.visitRectangle(rectangle);
  }
  
  public void visitStaticText(JRStaticText staticText) {
    this.visitor.visitStaticText(staticText);
  }
  
  public void visitSubreport(JRSubreport subreport) {
    this.visitor.visitSubreport(subreport);
  }
  
  public void visitTextField(JRTextField textField) {
    this.visitor.visitTextField(textField);
  }
}
